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:
<%@ 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";
}
}
分享到:
相关推荐
全套源码-论坛系统(Struts 2+Hibernate+Spring实现)
采用JSP+JDBC+Struts实现的简易留言本功能系统 该系统简单的实现了登陆、注册、留言功能 没有什么技术含量,不过通过该系统,能够很好的理解Struts框架。 希望对大家有用!
[项目实战] ibatis +spring+struts2+jquery.autocomplete实现产品自动补全功能 能成功部署运行
2.2 struts框架的实现 2.3 hibernate框架的实现 2.4 jpa框架的实现 2.5 spring框架的实现 2.6 jsf框架的实现 2.7 ajax框架的实现 2.8 使用jdbc连接数据库 2.9 小结 第3章 实现各种框架的...
作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...
一款javaweb的实战小项目,采用jsp+struts2编写,功能包括用户的注册登录,浏览商品,商品详细信息,购物车,提交订单,添加收货人等功能,代码简洁易懂,功能齐全。
第22章 用户登录模块(Struts 2.X+Guice+国际化) 第3篇 项目案例实战 第23章 在线音乐管理系统(AJAX+JSP+Struts 2.X) 第24章 数据汇聚系统(Struts 2.X+Spring+iBATIS) 第25章 投票管理系统(Struts 2.X+Spring+...
通过使用JavaWeb技术构建药店药品销售管理系统,可以实现药品信息管理、药品销售记录管理、库存管理等功能。 1. 技术栈选择和环境搭建 后端框架:选择JavaWeb框架,如Spring MVC、Struts等,用于实现后端业务逻辑。 ...
3.2 相关知识 3.2.1 Java反射机制的概念 3.2.2 反射机制的功能 3.2.3 Java反射机制的相关API 3.2.4 使用反射机制的步骤 3.2.5 反射机制的应用场景 3.2.6 反射机制的优缺点 Java高级程序设计实战教程第三章-Java反射...
国内知名的高端IT技术作家,已出版《Spring 2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。 目录: 第0章 学习Java...
第22章 用户登录模块(Struts 2.X+Guice+国际化) 第3篇 项目案例实战 第23章 在线音乐管理系统(AJAX+JSP+Struts 2.X) 第24章 数据汇聚系统(Struts 2.X+Spring+iBATIS) 第25章 投票管理系统(Struts 2.X+Spring+...
目前功能 与数据库连接验证用户名密码并登录 显示共有几个用户(指所有用户,不是在线用户) 在线聊天(聊天记录不保存) 存在问题 聊天内容过多会从容器中跑出来 注册还没实现 聊天内容还不能保存到数据库 运行截图...
酒店管理系统,struts+hibernate完成。 实现简单的几个功能。 有详细的文档设计,如需求分析书,类图设计,E-R图设计,ppt等。
第22章 用户登录模块(Struts 2.X+Guice+国际化) 第3篇 项目案例实战 第23章 在线音乐管理系统(AJAX+JSP+Struts 2.X) 第24章 数据汇聚系统(Struts 2.X+Spring+iBATIS) 第25章 投票管理系统(Struts 2.X+Spring+...
对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...
本项目是一套基于JavaWeb的企业工资管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目...
基于Struts的SSH整合架构,并开发个人通信录和一个办公自动化系统,实现的功能包括日程安排、工作日志、短消息管理、公告管理、会议管理;基于Struts 2的SSH2整合架构,并在此架构基础上实现一个完整的办公自动化...