如何使用MyEclipse开发一个JavaWeb网站 您所在的位置:网站首页 myeclipse配置mysql数据库 如何使用MyEclipse开发一个JavaWeb网站

如何使用MyEclipse开发一个JavaWeb网站

2023-09-20 23:50| 来源: 网络整理| 查看: 265

如何使用MyEclipse开发一个JavaWeb网站

本文所述的内容仅用于参考或学习,主要针对毕业设计等网站设计,请勿实际用于生产开发用途,否则后果自负:

如何使用MyEclipse开发一个JavaWeb网站 MyEclipse的安装新建项目编码导入Struts2、Hibernate并配置MySQL导入个人编写的Java_SSH_Easyer登录Demo 第一步 建立数据表并逆向生成数据库表为实体类到项目第二步 创建Action并处理业务请求第三步 编写struts.xml第四步 创建jsp页面 内容管理DEMO 查增删改综合 总结附录 转载请注明出处谢谢。

MyEclipse的安装

这里我使用的是MyEclipse10.7.1,下载地址 [ 度盘 ],密码:6aw3。破解方法:博客,补丁下载地址:脚本之家

新建项目

打开MyEclipse后如图所示:

MyEclipse 这里的Java_SSH_Easyer是我已经建好的项目。我们点击菜单栏的File->New->Web Project 新建

新建

内容含义注释Project Name项目名你项目叫什么,推荐用英文Location存放位置项目放在哪,默认放在工作空间里Source folderSrc目录java源代码放的位置,默认就srcweb root folder网站jsp目录前端资源等文件存放位置(网站根目录)J2EE Specification LevelJavaEE版本选最新的就好了

填写完毕后点击 Finish 就可以了

编码

推荐使用UTF-8编码进行编写网站。修改方法:Window->Preferences->General->Workspace Window-Preferences General-Workspace Text file Encoding栏选择Other,下拉选择UTF-8即可。

导入Struts2、Hibernate并配置MySQL

struts2 这里写图片描述 选择2.1并选择/* 定义 B MySQL 安装MySQL:MySQL下载

安装过程请按照这里的教程进行安装,注意编码一定要填写UTF-8

Hibernate Hibernate必须在MySQL安装之后进行(如果要求用sqlserver就安装sqlserver后进行) 点击Window->Open Perspective->MyEclipse Hibernate MyEclipse Hibernate MyEclipse Hibernate 右键点击DB Browser,选new New DB New Driver 这里按照如图所示的内容进行填写: New Driver 这里的mysql-connector-java-3.1.6-bin.jar在这里下载 这里的数据库名就在你的数据库管理软件里进行创建吧。个人用的phpMyAdmin,我想大多数人用的应该是Navicat For MySQL。 这里配置好之后点击Test Driver按钮,如果出现如图所示的窗口,那么配置正确点击Finish就可以了。如果发生错误检查一下数据库的用户名密码是否正确,数据库是否开启等问题。 这里写图片描述 点击右上角的MyEclipse图标形状的按钮回到原来的页面: 这里写图片描述 右键点击我们的项目,选择MyEclipse->Add Hibernate Capabilities…项 这里写图片描述 点击Next,继续Next到这个页面: 这里写图片描述 下拉DB Driver选择我们刚刚创建的MySQL,再点击Next后把Create SessionFactory的对勾点掉点击Finish即可。

导入个人编写的Java_SSH_Easyer

个人编写的代码并不适用于生产环境,如需应用请斟酌使用。

Github:JAVA_SSH_Easyer

下载ZIP后将/src/struts.xml内容复制到项目中src/struts.xml中保存。这个代码中的大部分内容是范例内容。需要进行修改。 自己建立三个包,包名可以自己定,但最后要为action、hibernate、tools例如你叫李华可以叫com.lihua.action,com.lihua.hibernate,com.lihua.tools: 这里写图片描述 这里写图片描述 将我的项目中src\com\pingjia中的三个文件夹中的java文件按包名拖到对应的包中: 这里写图片描述 逐个打开文件,将里面的所有com.pingjia改成你的包名如com.lihua。 这里写图片描述 将zip中的webroot文件夹下的Public与User文件夹拷贝到项目的WebRoot文件夹下: 这里写图片描述 将login.jsp上的包名改成你的包名。至此基本配置结束。

登录Demo

现在用刚刚搭建好的框架写一个登录功能吧! 首先要确定登录功能需要哪些内容:

登录页*1登录后的主页*1登录功能*1

需要的数据:

用户数据 第一步 建立数据表并逆向生成数据库表为实体类到项目

用户数据需要用户名、密码、用户id三项内容,所以我们在数据库中创建一个User表: 这里写图片描述 随便插一个用户,比如用户名是admin,密码是admin。 我们在mysql中建立了一个新表,所以要用Hibernate的逆向工程生成一个对应的实体类。我的范例中原有一个User实体类,将它删掉:com.lihua.hibernate.User 原本范例中也有一个UserAction用作范例作用也可以删掉重新建立:com.lihua.action.UserAction

新建逆向工程的方法: 这里写图片描述 到Hibernate界面双击MySQL,在Connected to Mysql>你数据库名>table下找到刚刚建立的user表: 这里写图片描述 右键点击它,然后点击Hibernate Reverse Engineering 这里写图片描述

打上JavaDataObject的对勾和Create POJODB Table mapping information的对勾,去掉absolute对勾,java package选择你对应的Hibernate包后点下一步: 这里写图片描述 由于mysql支持auto increasement,id generator项选择identity后点击finish,提示will be overwritten选是就行了。 这里写图片描述 返回myeclipse界面后我们会看到com.lihua.hibernate包下出现了一个User.java类,说明逆向工程成功了。

第二步 创建Action并处理业务请求

这里使用Action用于处理业务内容,struts.xml用于处理Action具体方法与jsp、路由(对应浏览网址)的对应关系。

Created with Raphaël 2.1.2 用户 用户 服务器 服务器 struts.xml处理程序 struts.xml处理程序 Action Action 对应jsp页面 对应jsp页面 ①网址 ②解析后的网址 ③请求实例方法 ④实例方法返回值 ⑤Action传递的数据 ⑥最终页面 ⑦最终页面

用户访问网址后服务器根据struts进行解析,新建指定Action的实例并调用指定方法,并根据方法返回值显示指定页面。 我们在com.lihua.action中新建一个类,名字叫UserAction继承自BaseAction并重写check方法:

package com.lihua.action; public class UserAction extends BaseAction{ @Override public boolean check() { // TODO Auto-generated method stub return false; } }

这个check方法就是Action的拦截器,默认返回true就可以了。如果有需要可以判断登录状态。这里要写登录功能,所以不能让check返回false。 我们新建的这个Action类相当于一类页面和功能的集合,这里UserAction处理用户相关的页面请求,一会要建立的HomeAction用于处理后台相关页面的请求。 这里我们有两个任务:1.登录页,2.登录功能 登录页暂时不需要向前端传送什么,所以直接返回SUCCESS;就可以了。登录功能需要判断登录所用用户名与密码是否正确,所以要调用数据库。首先建立两个方法:

public String login(){ return SUCCESS; } public String checkLogin(){ return SUCCESS; }

所有页面请求的方法都需要返回String,后续需要在struts.xml中添加。 有关数据处理: 在checkLogin中我们需要获取前端传来的数据。我在BaseAction中对数据获取进行了封装,在方法中直接使用p方法即可:

String username = p("username"); String password = p("password");

查询数据库使用M方法的各种操作即可。详情请看Readme.md

DB_Where where = new DB_Where(); where.setWhere("username", username); where.setWhere("password", password); List s = (List) M("User").where(where).select(); if(s.isEmpty()) return error("登录失败");

判断s是否为空即可判断用户名密码是否正确了。这里的error方法是BaseAction的封装,用于功能类方法的成功与失败提示与跳转,有三个重载,第一个参数是提示内容,必须要有。第二个参数是目标跳转的url,默认是上一个页面。第三个参数是等待时间,默认error5秒,success2秒。

登录成功后需要将数据写入到session中。这里BaseAction也进行了封装,使用session(“键名”,值);即可存储session,使用session(“键名”);即可读取session。 所以登录功能的完整代码:

package com.lihua.action; import java.util.List; import com.lihua.hibernate.User; import com.lihua.tools.DB_Where; public class UserAction extends BaseAction{ private static final long serialVersionUID = -4987597667769252852L; @Override public boolean check() { // TODO Auto-generated method stub return true; } public String login(){ return SUCCESS; } public String checkLogin(){ String username = p("username"); String password = p("password"); DB_Where where = new DB_Where(); where.setWhere("username", username); where.setWhere("password", password); List s = (List) M("User").where(where).select(); if(s.isEmpty()) return error("登录失败"); session("User",s.get(0)); return success("登录成功","Home/index"); } }

我们再建立一个HomeAction当做临时的后台Action:

package com.lihua.action; public class HomeAction extends BaseAction{ private static final long serialVersionUID = -4972832333971194628L; @Override public boolean check() { if(session("User")==null) return false; return true; } public String index(){ return SUCCESS; } } 第三步 编写struts.xml

打开src/struts.xml,内容如下:

/Public/success.jsp /Public/error.jsp /User/login.jsp /User/reg.jsp login login login

根据我们页面的设计我们共有三个页面:Home/index、User/login、User/checkLogin,两个Action。所以要建立两个package(globa-results是Action中success与error方法要用到的,每个package都要添加):

/Public/success.jsp /Public/error.jsp /Public/success.jsp /Public/error.jsp

逐个添加方法: login(需要显示前端,所以要写好success):

/User/login.jsp

checkLogin:

index:

/Home/index.jsp

最终生成的struts.xml:

/Public/success.jsp /Public/error.jsp /User/login.jsp /Public/success.jsp /Public/error.jsp /Home/index.jsp 第四步 创建jsp页面

根据我们struts.xml的设置,我们需要建立两个文件: /Home/index.jsp,/User/login.jsp,这两个一个是后台首页,另一个是登录页。我们新建这两个文件,推荐从原有login.jsp复制并重命名。 登录页需要提交一个username,password的表单到/User/checkLogin 于是可以在login.jsp页面写:

用户名 密码 提交

Home/index.jsp暂时不写。 网站默认访问的页面是根目录下的index.jsp,我们可以在index.jsp下写一个跳转js跳转到login功能。把WebRoot/User/login.jsp内容直接复制到WebRoot下的index.jsp里并保存,并写一段js:

location.href="";

下面我们就可以运行测试了,右键点击我们的项目,点击Run As->MyEclipse Server Application运行。然后就能看到我们的登录页面了。随便输个错误密码点登录,然后输正确密码点登录测试一下看看效果吧~ 这里写图片描述 这个是我从tp模板上套来的,觉得不美观可以替换修改成自己喜欢的页面,位置在WebRoot/Public下。

内容管理DEMO

说到管理,无非就是增删改查。那么我们怎么在javaweb下进行增删改查呢? 下面我们来写一个用户管理的例子

我们在UserAction中进行编写userList方法,Action只负责权限的验证与数据的处理。

public String userList(){ if(session("User")==null) return error("请登录","User/login"); User u = (User)session("User"); if(u.getId()!=1) return error("请登录","User/login");//规定uid是1的才能管理用户列表 this.assign("userlist", M("User").select()); return SUCCESS; }

struts.xml略 jsp页面:

用户id 用户名

这里的s标签用法尽情的百度搜索一大堆。

我们在UserAction中进行编写addUser方法。

public String addUser(){ if(session("User")==null) return error("请登录","User/login"); User u = (User)session("User"); if(u.getId()!=1) return error("请登录","User/login");//规定uid是1的才能管理用户列表 if(p("username")!=null){//添加用户 User s = new User(); s.setUsername(p("username")); s.setPassword(p("password")); M("User").add(s); return success("添加成功","User/userList"); } return SUCCESS; }

struts.xml略 jsp页面:

添加 删

我们在UserAction中进行编写delUser方法。

public String delUser(){ if(session("User")==null) return error("请登录","User/login"); User u = (User)session("User"); if(u.getId()!=1) return error("请登录","User/login");//规定uid是1的才能管理用户列表 if(p("uid")==null) return error("非法操作"); int uid=0; try{ uid=Integer.parseInt(p("uid"));//get传个uid过来就能删了这个用户了。 }catch(Exception e){ return error("非法操作"); } M("User").delete(uid); return success("删除成功","User/userList"); }

struts.xml略 可以在userList页面中这样调用:

删除 改

我们在UserAction中进行编写editUser方法。

public String editUser(){ if(session("User")==null) return error("请登录","User/login"); User u = (User)session("User"); if(u.getId()!=1) return error("请登录","User/login");//规定uid是1的才能管理用户列表 if(p("id")!=null){//提交了 int id=0; try{ id=Integer.parseInt(p("id"));//get传个uid过来就能删了这个用户了。 }catch(Exception e){ return error("非法操作"); } User sv = (User) M("User").find(id); if(sv==null) return error("用户不存在"); sv.setPassword(p("password")); sv.setUsername(p("username")); M("User").save(sv); return success("修改成功","User/userList"); } if(p("uid")==null) return error("非法操作"); int uid=0; try{ uid=Integer.parseInt(p("uid"));//get传个uid过来就能删了这个用户了。 }catch(Exception e){ return error("非法操作"); } User s = (User) M("User").find(uid); if(s==null) return error("用户不存在"); this.assign("user",s); return SUCCESS; }

struts.xml略 jsp:

保存 综合

修改userList.jsp为如下内容:

新增 用户id 用户名 操作 删除 修改

效果如图: 这里写图片描述

总结

基本的管理页面骨架已经出来了。最后需要大家根据各种模板的样式等等对骨架进行加工。 登录后的Home/index可以存放一个iframe用于加载用户菜单页面。登录页面模板也很多。当然也很推荐大家自己用基本的框架写诸如bootstrap,layui之类的。如果在写代码的时候遇到什么问题请在下方回复,我会尽量帮忙解决。

附录

最终struts.xml:

/Public/success.jsp /Public/error.jsp /User/login.jsp /User/userList.jsp /User/addUser.jsp /User/editUser.jsp /Public/success.jsp /Public/error.jsp /Home/index.jsp

最终UserAction.java

package com.lihua.action; import java.util.List; import com.lihua.hibernate.User; import com.lihua.tools.DB_Where; import com.lihua.tools.Tool; public class UserAction extends BaseAction{ private static final long serialVersionUID = -4987597667769252852L; @Override public boolean check() { // TODO Auto-generated method stub return true; } public String login(){ return SUCCESS; } public String checkLogin(){ String username = p("username"); String password = p("password"); DB_Where where = new DB_Where(); where.setWhere("username", username); where.setWhere("password", password); List s = (List) M("User").where(where).select(); if(s.isEmpty()) return error("登录失败"); session("User",s.get(0)); return success("登录成功","Home/index"); } public String userList(){ if(session("User")==null) return error("请登录","User/login"); User u = (User)session("User"); if(u.getId()!=1) return error("请登录","User/login");//规定uid是1的才能管理用户列表 List l = M("User").select(); this.assign("userlist", l); return SUCCESS; } public String addUser(){ if(session("User")==null) return error("请登录","User/login"); User u = (User)session("User"); if(u.getId()!=1) return error("请登录","User/login");//规定uid是1的才能管理用户列表 if(p("username")!=null){//添加用户 User s = new User(); s.setUsername(p("username")); s.setPassword(p("password")); M("User").add(s); return success("添加成功","User/userList"); } return SUCCESS; } public String delUser(){ if(session("User")==null) return error("请登录","User/login"); User u = (User)session("User"); if(u.getId()!=1) return error("请登录","User/login");//规定uid是1的才能管理用户列表 if(p("uid")==null) return error("非法操作"); int uid=0; try{ uid=Integer.parseInt(p("uid")); }catch(Exception e){ return error("非法操作"); } M("User").delete(uid); return success("删除成功","User/userList"); } public String editUser(){ if(session("User")==null) return error("请登录","User/login"); User u = (User)session("User"); if(u.getId()!=1) return error("请登录","User/login");//规定uid是1的才能管理用户列表 if(p("id")!=null){//提交了 int id=0; try{ id=Integer.parseInt(p("id"));//get传个uid过来就能删了这个用户了。 }catch(Exception e){ return error("非法操作"); } User sv = (User) M("User").find(id); if(sv==null) return error("用户不存在"); sv.setPassword(p("password")); sv.setUsername(p("username")); M("User").save(sv); return success("修改成功","User/userList"); } if(p("uid")==null) return error("非法操作"); int uid=0; try{ uid=Integer.parseInt(p("uid"));//get传个uid过来就能删了这个用户了。 }catch(Exception e){ return error("非法操作"); } User s = (User) M("User").find(uid); if(s==null) return error("用户不存在"); this.assign("user",s); return SUCCESS; } } 转载请注明出处谢谢。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有