struts实战--登录功能实现
2017-04-19 15:26
357 查看
struts实现登录功能
一.使用struts2提供的表单标签来改造页面。
WebRoot/login/login.jsp
<form>-------------------<s:form>
<input type="text">------<s:textfield>
<input type="password">---<s:password>
<input type="submit">-----<s:submit>
<input type="reset">------<s:reset>
1.改造form
<s:form id="loginAction_home" name="form1" action="user_login" namespace="/" target="_parent" method="post">
2.改造登录名
<s:textfield name="logonName" value="" id="logonName" cssClass="text" cssStyle="width: 160px;"/>
3.改造登录密码
<s:password name="logonPwd" id="logonPwd" cssClass="text" cssStyle="width: 160px;"/>
密码框默认不回显示.需要设置属性showPassword="true"
4.<s:submit name="submit" value="登录" cssClass="buttoninput"/>
5.<s:reset name="reset" value="取消" cssClass="buttoninput"/>
注意:struts2中的表单标签,有默认的主题xhtml.如果不想要添加任何修饰,只需要将主题修改为simple.
1.全局
在struts.xml文件中配置一个常量
<constant name="struts.ui.theme" value="simple"></constant>
2.局部
针对于某一个form.
<s:form theme="simple">
3.局部
可以给任意的表单组件去指定theme属性值。
login.jsp:
二.需要使用xml配置方式对数据进行校验。
用户名 非空,3-12位
密码 非空
1.在UserAction所在包下创建一个UserAction-validation.xml
2.在xml文件中添加dtd约束
3.对属性进行校验
3.登录成功,将用户存储到session,在页面上显示用户。
top.jsp ${user.userName } 显示当前登陆用户
一.使用struts2提供的表单标签来改造页面。
WebRoot/login/login.jsp
<form>-------------------<s:form>
<input type="text">------<s:textfield>
<input type="password">---<s:password>
<input type="submit">-----<s:submit>
<input type="reset">------<s:reset>
1.改造form
<s:form id="loginAction_home" name="form1" action="user_login" namespace="/" target="_parent" method="post">
2.改造登录名
<s:textfield name="logonName" value="" id="logonName" cssClass="text" cssStyle="width: 160px;"/>
3.改造登录密码
<s:password name="logonPwd" id="logonPwd" cssClass="text" cssStyle="width: 160px;"/>
密码框默认不回显示.需要设置属性showPassword="true"
4.<s:submit name="submit" value="登录" cssClass="buttoninput"/>
5.<s:reset name="reset" value="取消" cssClass="buttoninput"/>
注意:struts2中的表单标签,有默认的主题xhtml.如果不想要添加任何修饰,只需要将主题修改为simple.
1.全局
在struts.xml文件中配置一个常量
<constant name="struts.ui.theme" value="simple"></constant>
2.局部
针对于某一个form.
<s:form theme="simple">
3.局部
可以给任意的表单组件去指定theme属性值。
login.jsp:
<%@ page language="java" pageEncoding="UTF-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <script type="text/javascript"> function ini(){ document.form1.logonName.focus(); } </script> <html> <head> <meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> <link href="${pageContext.request.contextPath}/css/Style.css" rel="stylesheet" type="text/css"> </head> <body onload="ini()"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <table width="452" height="290" border="0" cellpadding="0" cellspacing="0"> <tr> <td bgcolor="#FFFFFF"> <table width="452" height="290" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="74"> <img src="${pageContext.request.contextPath}/images/logintitle.gif"> </td> </tr> <tr> <td align="center" valign="bottom" background="${pageContext.request.contextPath}/images/loginbg.gif"> <s:form action="user_login" method="post" theme="simple" namespace="/" id="loginAction_home" name="form1" target="_top"> <table border="0" align="center" cellpadding="2" cellspacing="0"> <tr align="center"> <td height="30" colspan="2" style="border-bottom: 1px dotted #cccccc"> <strong style="font-size: 14px;">请登录</strong> <!-- 错误信息回显 --> <s:fielderror /> <s:actionerror/> </td> </tr> <tr> <td height="30" nowrap> <font color="000F60"><strong>用户名:</strong> </font> </td> <td> <s:textfield name="logonName" id="logonName" cssClass="text" cssStyle="width: 160px;"/> </td> </tr> <tr> <td height="30" nowrap> <strong><font color="000F60">密码: </font> </strong> </td> <td> <s:password name="logonPwd" id="logonPwd" cssClass="text" cssStyle="width: 160px;" /> </td> </tr> <tr> <td height="30" nowrap colspan="2"> <strong><font color="red"></font> </strong> </td> </tr> <tr> <td height="30"> </td> <td> <input type="submit" name="submit" value="登陆" class="buttoninput"/> <input type="reset" name="reset" value="取消" class="buttoninput"/> </td> </tr> </table> </s:form> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="30" align="center"> </td> </tr> <tr> <td height="23" align="center"></td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </body> </html>
二.需要使用xml配置方式对数据进行校验。
用户名 非空,3-12位
密码 非空
1.在UserAction所在包下创建一个UserAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators> <field name="logonName"> <field-validator type="requiredstring"> <message key="logonName.required"></message> </field-validator> <field-validator type="stringlength"> <param name="minLength">3</param> <param name="maxLength">12</param> <message key="logonName.length"></message> </field-validator> </field> <field name="logonPwd"> <field-validator type="requiredstring"> <message key="logonPwd.required"></message> </field-validator> </field> </validators>
2.在xml文件中添加dtd约束
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
3.对属性进行校验
<field name="logonName"> <field-validator type="requiredstring"> <message>用户名不能为空</message> </field-validator> <field-validator type="stringlength"> <param name="maxLength">12</param> <param name="minLength">3</param> <message>用户名长度必须在${minLength}到${maxLength}之间</message> </field-validator> </field> <field name="logonPwd"> <field-validator type="requiredstring"> <message>密码不能为空</message> </field-validator> </field> 在页面上通过<s:fielderror>
3.登录成功,将用户存储到session,在页面上显示用户。
top.jsp ${user.userName } 显示当前登陆用户
/** * 员工登陆 * * @return */ @InputConfig(resultName = "loginINPUT") // 修改workflow拦截器跳转视图 public String login() { // 登陆数据 已经在 user中,传递业务层,查询 UserService userService = new UserService(); User logonUser = userService.login(user); // 判断是否登陆成功 if (logonUser == null) { // 登陆失败 this.addActionError(this.getText("loginfail")); return "loginINPUT"; } else { // 登陆成功 ServletActionContext.getRequest().getSession() .setAttribute("user", logonUser); return "loginSUCCESS"; } }
相关文章推荐
- 【SSH网上商城项目实战18】过滤器实现购物登录功能的判断
- Android实战简易教程-第六十六枪(结合SharedPreferenced实现自动登录功能)
- Struts2+Mybatis整合实现注册登录功能
- 【SSH网上商城项目实战18】过滤器实现购物登录功能的判断
- 聊天室入门实战(node,socket.io实现)--第一章(实现登录群聊功能)
- Struts+Hibernate+Spring实现用户登录功能
- struts2+hibernate4.1+spring4.1+ajax+HTML+css暂时实现登录注册功能
- 【SSH网上商城项目实战18】过滤器实现购物登录功能的判断
- yii2项目实战-用户管理之登录与注册功能实现
- struts中用拦截器实现登录验证功能AuthorizationInterceptor
- Struts+Hibernate+Spring实现用户登录功能
- yii2项目实战-用户管理之登录与注册功能实现
- 构建NetCore应用框架之实战篇(五):BitAdminCore框架1.0登录功能设计实现及源码
- weex开发实战(4)-实现登录功能
- React Native实战项目企业通信录(含视频教程)- 登录功能实现
- Struts2+Hibernate JPA+MariaDB数据库实现登录功能
- Struts+Hibernate+Spring实现用户登录功能
- struts1学习之--3、实现简单的登录功能
- 【struts2+hibernate+spring项目实战】实现用户登录功能(ssh)
- 用struts拦截器实现登录验证功能AuthorizationInterceptor