springhibernatestruts2登录注册的实例.docx
- 文档编号:10634647
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:22
- 大小:85.94KB
springhibernatestruts2登录注册的实例.docx
《springhibernatestruts2登录注册的实例.docx》由会员分享,可在线阅读,更多相关《springhibernatestruts2登录注册的实例.docx(22页珍藏版)》请在冰豆网上搜索。
springhibernatestruts2登录注册的实例
开发环境:
Eclipse4.2
Tomcat6.0
Mysql5.5
工程的结构图如下:
导入strut2的.jar包
还有
这个包是和spring结合的时候用的。
Hibernate的,jar包
不要忘了数据库的驱动包
Spring.jar包
全局web.xml文件
xmlversion="1.0"encoding="UTF-8"?
>
xsi="http: //www.w3.org/2001/XMLSchema-instance"xmlns="xmlns: web="xsi: schemaLocation="id="WebApp_ID"version="2.5"> applicationContext-*.xml 视图层login.jspregister.jsplogin_success.jsp login.jsp <%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <%@taglibprefix="s"uri="/struts-tags"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
formaction="login"theme="simple"> right">用户名 textfieldname="name"label="用户名"/> right">密码 passwordname="pwd"label="密码"/> right"> submitvalue="登录"/> left"> resetvalue="取消"/>
form>
fielderrorcssStyle="color: red"/> register.jsp <%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <%@taglibprefix="s"uri="/struts-tags"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
formaction="register"theme="simple"> right"> 请输入账号 textfieldname="name"label="账号"/> right"> 请输入密码 passwordname="pwd"label="密码"/> right"> 请再次输入密码 passwordname="repwd"label="重复密码"/> right"> submitvalue="注册"/> left"> resetvalue="取消"/>
form>
fielderrorcssStyle="color: red"/> login_success.jsp <%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
${request.name},登录成功!
控制层:
struts.xml文件和action文件
Struts.xml
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http:
//struts.apache.org/dtds/struts-2.0.dtd">
这里不是真正类的路径而是给spring管理路径和applicationContext.xml文件相对应的
这里有两个Action文件
LoginAction.java
packagecom.cong.action;
importjavax.servlet.http.HttpServletRequest;
importorg.apache.struts2.ServletActionContext;
importcom.cong.entity.User;
importcom.cong.service.UserService;
importcom.opensymphony.xwork2.ActionSupport;
publicclassLoginActionextendsActionSupport{
privateUserServiceuserServiceImpl;
privateUseruser;
publicvoidsetUser(Useruser){
this.user=user;
}
publicvoidsetUserServiceImpl(UserServiceuserServiceImpl){
this.userServiceImpl=userServiceImpl;
}
privateStringname;
privateStringpwd;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPwd(){
returnpwd;
}
publicvoidsetPwd(Stringpwd){
this.pwd=pwd;
}
publicStringexecute(){
HttpServletRequestrequest=ServletActionContext.getRequest();
System.out.println(name);
intstate=userServiceImpl.isExist(name,pwd);
System.out.println("state="+state);
if(state==-1){
this.addFieldError("name","用户名不正确,请先注册!
");
returnINPUT;
}elseif(state==-2){
this.addFieldError("pwd","密码不正确,请重新输入密码!
");
returnINPUT;
}elseif(state>0){
System.out.println("[测试]登录成功!
用户ID="+state);
returnSUCCESS;
}else{
this.addFieldError("name","登录失败,请与管理员联系!
");
returnINPUT;
}
RegisterAction.java
packagecom.cong.action;
importcom.cong.entity.User;
importcom.cong.service.UserService;
publicclassRegisterAction{
privateStringname;
privateStringpwd;
privateUseruser;
privateUserServiceuserServiceImpl;
publicUserServicegetUserServiceImpl(){
returnuserServiceImpl;
}
publicvoidsetUserServiceImpl(UserServiceuserServiceImpl){
this.userServiceImpl=userServiceImpl;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPwd(){
returnpwd;
}
publicvoidsetPwd(Stringpwd){
this.pwd=pwd;
}
publicUsergetUser(){
returnuser;
}
publicvoidsetUser(Useruser){
this.user=user;
}
publicStringexecute()throwsException{
user.setName(name);
user.setPwd(pwd);
userServiceImpl.addUser(user);
return"success";
}
}
Model:
User.java
packagecom.cong.entity;
importjava.io.Serializable;
publicclassUserimplementsSerializable{
privateintid;
privateStringname;
privateStringpwd;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPwd(){
returnpwd;
}
publicvoidsetPwd(Stringpwd){
this.pwd=pwd;
}
}
User.hbm.xml
xmlversion="1.0"encoding="utf-8"?
>
DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
"
--Generated2012-7-3012:
19:
15byHibernateTools3.4.0.CR1-->
DAO层:
UserDao.java(interface)
packagecom.cong.dao;
importcom.cong.entity.User;
publicinterfaceUserDao{
publicvoidaddUser(Useruser);
publicintisExist(Stringname,Stringpwd);
}
UserDaoImpl.java
packagecom.cong.dao.impl;
importjava.sql.SQLException;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
importorg.hibernate.HibernateException;
importorg.hibernate.Session;
importorg.springframework.orm.hibernate3.HibernateCallback;
importorg.springframework.orm.hibernate3.HibernateTemplate;
importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;
importcom.cong.dao.UserDao;
importcom.cong.entity.User;
publicclassUserDaoImplextendsHibernateDaoSupportimplementsUserDao{
@Override
publicvoidaddUser(Useruser){
this.getHibernateTemplate().save(user);
}
publicintisExist(Stringname,Stringpwd){
finalStrings1=name;
finalStrings2=pwd;
List
list=(ArrayList
newHibernateCallback(){
@Override
publicObjectdoInHibernate(Sessionsession)
throwsHibernateException,SQLException{
System.out.println(session.createQuery("fromUseruwhereu.name='"+s1+"'").list());
returnsession.createQuery("fromUseruwhereu.name='"+s1+"'").list();
}
});if(null==list||0==list.size()){
return-1;//用户名不存在
}
list=(ArrayList)this.getHibernateTemplate().execute(
newHibernateCallback(){
publicObjectdoInHibernate(Sessionsession)throwsHibernateException,SQLException{
returnsession.createQuery("fromUseruwhereu.name='"+s1+"'andu.pwd='"+s2+"'").list();
}
});
if(null==list||0==list.size()){
return-2;//密码不正确
}
Iteratorit=list.iterator();
Useruser=(User)it.next();
returnuser.getId();
}
}
}
}
Service层:
UserService.java(interface)
packagecom.cong.service;
importcom.cong.entity.User;
publicinterfaceUserService{
publicvoidaddUser(Useruser);
publicintisExist(Stringname,String
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- springhibernatestruts2 登录 注册 实例