Struts21、Spring30、Hibernate33框架整合用户登录.doc

上传人:文库蛋蛋多 文档编号:2388894 上传时间:2023-02-17 格式:DOC 页数:50 大小:1.51MB
返回 下载 相关 举报
Struts21、Spring30、Hibernate33框架整合用户登录.doc_第1页
第1页 / 共50页
Struts21、Spring30、Hibernate33框架整合用户登录.doc_第2页
第2页 / 共50页
Struts21、Spring30、Hibernate33框架整合用户登录.doc_第3页
第3页 / 共50页
Struts21、Spring30、Hibernate33框架整合用户登录.doc_第4页
第4页 / 共50页
Struts21、Spring30、Hibernate33框架整合用户登录.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《Struts21、Spring30、Hibernate33框架整合用户登录.doc》由会员分享,可在线阅读,更多相关《Struts21、Spring30、Hibernate33框架整合用户登录.doc(50页珍藏版)》请在三一办公上搜索。

1、Struts2.1、Spring3.0、Hibernate3.3框架整合-用户登录示例(更新)目录1 数据库(已有数据库可跳过直接浏览第二节)32 创建项目32.1 在MyEclipse中创建数据库连接42.2 为项目添加Struts能力82.3 为项目添加Spring能力112.4 为项目添加Hibernate能力142.5 搭建项目结构(分包)193 搭建项目结构(model、dao生成)214 搭建项目结构(service、web编写)274.1 编写service层代码,创建IUsersService接口和UsersService实现类,编写CRUD的方法。274.1.1 创建IUse

2、rsService接口274.1.2 创建UsersService实现类294.2 编写web层UsersAction代码,用于对用户增删改查进行处理325 搭建项目结构(配置文件编写)375.1 补充applicationContext.xml配置文件,装配注入关系和事务处理375.1.1 增加spring配置文件节点的命名空间,否则事务处理节点不识别:375.1.2 增加装配关系385.1.3 增加事务处理机制385.2 配置Struts.xml385.3 配置web.xml395.3.1 设定applicationContex.xml的加载位置,如果放在WEB-INF下则不需要设定,配置

3、监听。395.3.2 设置监听396 搭建项目结构(页面代码)406.1 user_add.jsp406.2 user_edit.jsp406.3 user_list.jsp416.4 login.jsp416.5 welcome.jsp426.6 error.jsp426.7 部署436.7.1 打开服务器视图436.7.2 在tomcat服务器上添加项目的部署436.8 测试运行446.8.1 启动服务器446.8.2 登录456.8.3 添加用户476.8.4 显示用户列表476.8.5 修改用户密码486.8.6 删除用户487 常见错误487.1 包冲突487.2 java.lang

4、.NoSuchMethodError: antlr.collections.AST.getLine()487.3 SpringObjectFactory.getClassInstance(SpringObjectFactory.java:209497.4 java.lang.NoSuchMethodError: antlr.collections.AST.getLine498 JSPAction之间的参数传递机制498.1 JSP打开498.2 JSPAction508.3 ActionJSP501 数据库 mysql数据库官网地址(已有数据库可跳过直接浏览第二节)建立数据库mydb,并且在其

5、中新建users表。插入2条数据。2 创建项目打开Myeclipse8.6,新建web工程,命名为s2sh,点击完成。2.1 在MyEclipse中创建数据库连接下载数据库的jdbc驱动程序,见各数据库官方网站。1) 创建数据库连接。如果已经建立,跳过此步a) 转到数据库浏览视图b) 在DB Browser空白处点右键,新建数据库连接c) 选择数据库连接模板(在机房使用Microsoft SQL Server 2005)d) 填写相关连接信息e) 选择数据库相关的驱动程序。(点击Add Jars)f) 点击TestDriver测试成功。2) 将该数据库驱动程序加入工程的Build Path中。

6、a) 回到MyEclipse Java Enterprise Perspectiveb) 右击工程,选择 Build Path -Add External Archieves.c) 选择相应的驱动程序2.2 为项目添加Struts能力a) 右键点击项目,选择MyEclipse-Add Struts Capabilities,或者点击菜单栏中MyEclipse-Projec经Capabilities-Add Struts Capabilities。b) 选择struts2.1版本及URL pattern为/*c) 点击下一步,选择Struts Core(核心库)和Struts 2 Spring(

7、包含集成Spring插件)的两个最基本库,其他根据需要可以添加。d) 点击完成,添加后的项目多了一个Struts.xml(用于配置action),MyEclipse自动在web.xml中添加了核心过滤器的配置。 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*2.3 为项目添加Spring能力a) 右键点击项目,选择MyEclipse-Add Spring Capabilities,或者点击菜单栏中MyEclipse-Project Capabilities-Add

8、Spring Capabilities。b) 选择Spring3.0版本,类库选择 Spring 3.0 AOP、Spring 3.0 Core、Spring 3.0 Persistence Core、Spring 3.0 Persistence JDBC、Spring 3.0 Web 5个库,并勾选复制到本地WEB-INF/lib目录。c) 点击下一步,默认配置不需修改。d) 点击完成,查看添加Spring后的项目,增加了applicationContex.xml文件2.4 为项目添加Hibernate能力a) 右键点击项目,选择MyEclipse-Add Hibernate Capabil

9、ities,或者点击菜单栏中MyEclipse-Project Capabilities-Add Hibernate Capabilities。b) 选择Hibernate3.3版本,如果要使用注记可选中启用annotation,但是会对后续自动生成实体类造成麻烦,不选就是用xml文件形式进行实体类映射,默认勾选Hibernate 3.3 Annotation & Entity Manager、Hibernate 3.3 Core Libraries两个类库,复制jar文件到本地WEB-INF/lib文件夹下。c) 点击下一步,选择使用Spring的配置文件applicationContext

10、.xml,这样就不会生成hibernate.cfg.xml。d) 点击下一步,选择已经存在的applicationContext.xml文件的位置以及创建sessionFactory的名字。e) 下一步,选择已经建立好的数据库连接mydbf) 点击下一步,取消勾选,不生成HibernateSessionFactory类g) 点击完成,查看工程,applicationContext.xml文件中增加了数据库连接的配置,包括datasource和sessionFactory2.5 搭建项目结构(分包)1) 创建包结构:model(实体类)a) 右击src目录,点击New-Otherb) 选择pac

11、kage(如果没有出现,可以直接输入Package),点击Nextc) 输入model,点击Finish2) 依此类推,创建其它包:dao(数据库访问类)、service(业务逻辑类)、web(控制类)3 搭建项目结构(model、dao生成)利用Myeclipse生成model和dao1) 转到MyEclipse数据库浏览视图下,双击所建立的数据库(或右击,选择“Open connection.”),进行连接2) 找到将要提取实体类的users表,右键点击该表,选择Hibernate反向工程3) 点击Browse,选择项目的源代码根路径,点击OK。4) 选择生成目录为model5) 勾选创建

12、POJO即创建表对应的Javabean,同时创建映射文件6) 下一步直接点击Next7) 针对具体的表,选择id生成策略及类的路径。这里users的id生成策略为assigned,因为users主键为字符串,类路径为model.Users。8) 点击完成,回到代码视图查看工程变化,model包下面增加了Users.java、UsersDAO.java、Users.hbm.xml三个文件。9) 将UsersDAO移动到dao包中,并抽出接口IUsersDAOa) 点击UsersDAO类文件,压下左键不放,拖动该文件到dao包上,放开b) 点击OK。c) 右击UsersDAO,依次选择refact

13、or-Extract Interfaced) 输入接口名IUsersDAO,点击Select All如果有警告出现,不用理会,直接点击continue即可。如果生成的Users.java、Users.hbm.xml不在model包下,移到该包下,并且修改Users.hbm.xml,设置为Interface2) 在名字栏输入IUsersService,点击Finish。3) 完善接口方法,见下。package service;import java.util.List;import model.Users;public interface IUsersService public List fi

14、ndAll(); public Users findByName(String uname); public void addUsers(Users u) ; public void delUsers(Users u); public void updateUsers(Users u); public Users login(String uname,String upass);4.1.2 创建UsersService实现类 1) 右击service包,选择New-Class2) 在name栏输入UsersService,在Interface栏输入service.IusersService,点

15、击Finish。3) 完善类方法,见下:package service;import java.util.List;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import dao.IUsersDAO;import model.Users;public class UsersService implementsIUsersService private static final Logger log =LoggerFactory.getLogger(UsersService.class);private IUsersDAO us

16、ersDAO = null;public void addUsers(Users u) usersDAO.save(u);public List findAll() return usersDAO.findAll();public Users findByName(String uname) return usersDAO.findById(uname);public void delUsers(Users u) usersDAO.delete(u);public Users login(String uname, String upass) Users u = usersDAO.findBy

17、Id(uname);if (null = u) return null;if (uname.equals(u.getUname()& upass.equals(u.getUpass() return u;return null;public void updateUsers(Users u) usersDAO.attachDirty(u);public void setUsersDAO(IUsersDAO usersDAO) this.usersDAO = usersDAO;public IUsersDAO getUsersDAO() return usersDAO;4.2 编写web层Use

18、rsAction代码,用于对用户增删改查进行处理1) 右击web包,选择New-Class。2) 在name栏输入UsersAction,在Superclass栏输入com.opensymphony.xwork2.ActionSupport,点击Finish3) 完善类成员变量及方法package web;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletContext;import org.apache.struts2.ServletActionContext;import org.slf

19、4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.ApplicationContext;import org.springframework.web.context.support.WebApplicationContextUtils;import model.Users;import service.IUsersService;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionS

20、upport;public class UsersAction extends ActionSupport private static final Logger log =LoggerFactory.getLogger(UsersAction.class);private Users u = new Users();/ 用于增改private List userList =new ArrayList();/ 用于查询private static IUsersService usersService = null; /变量设置为static非常重要!public IUsersService g

21、etUsersService() if (usersService = null) ServletContext sc = ServletActionContext.getServletContext();ApplicationContext ac = WebApplicationContextUtils.getRequiredWebApplicationContext(sc);usersService = (IUsersService) ac.getBean(UserService);return usersService;public String addUser() throws Exc

22、eption try getUsersService().addUsers(u); catch (Exception e) log.error(保存用户错误, e);return ERROR;return SUCCESS;public String listUser() throws Exception userList = getUsersService().findAll();return SUCCESS;public String editUser() throws Exception try getUsersService().updateUsers(u); catch (Except

23、ion e) log.error(修改用户错误, e);return ERROR;return SUCCESS;public String updateUser() throws Exception try getUsersService().updateUsers(u); catch (Exception e) log.error(更新用户错误, e);return ERROR;return SUCCESS;public String delUser() throws Exception try getUsersService().delUsers(u); catch (Exception

24、e) log.error(删除用户错误, e);return ERROR;return SUCCESS;public String login() throws Exception try Users loginUser =getUsersService().login(u.getUname(), u.getUpass();if (null != loginUser) ActionContext context =ActionContext.getContext();context.getSession().put(LOGINUSER,loginUser);return SUCCESS; ca

25、tch (Exception e) log.error(登录查询错误, e);return ERROR;return INPUT;public void setUsersService(IUsersService usersService) this.usersService = usersService;public Users getU() return u;public void setU(Users u) this.u = u;public List getUserList() return userList;public void setUserList(List userList)

26、 this.userList = userList;5 搭建项目结构(配置文件编写)5.1 补充applicationContext.xml配置文件,装配注入关系和事务处理5.1.1 增加spring配置文件节点的命名空间,否则事务处理节点不识别:5.1.2 增加装配关系 5.1.3 增加事务处理机制 5.2 配置Struts.xml listUser.action /error.jsp /user_edit.jsp listUser.action /error.jsp listUser.action /error.jsp /user_list.jsp /welcome.jsp /login.

27、jsp /error.jsp 5.3 配置web.xml5.3.1 设定applicationContex.xml的加载位置,如果放在WEB-INF下则不需要设定,配置监听。 contextConfigLocation classpath:applicationContext.xml 5.3.2 设置监听 org.springframework.web.context.ContextLoaderListener 6 搭建项目结构(页面代码)6.1 user_add.jsp 添加用户资料 待添加的隐藏文字内容26.2 user_edit.jsp 修改用户资料 6.3 user_list.jsp 显示用户列表 用户名密码操作 $uid $uname $upass a

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号