struts入门:struts实现用户登陆
来源:互联网 发布:uplay是什么软件 编辑:程序博客网 时间:2024/05/01 05:42
导读:
struts实现用户登陆的例子: <%@ page contentType="text/html; charset=gb2312"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
这句是生成验证登陆表单所需要的js代码
用户名:
密码:
onclick="window.location='ajax.do?method=register'" value="注册"/> onclick="window.location='ajax.do?method=register'" value="注册"/>
把控制格式的HTML删除掉,应该剩下这些就是主干了,对于这个毕业设计选题系统,有三种角色,管理员(Admin),教师(Teacher),学生(Student)而我把他们的登陆都做到了一起,在后台这三种角色也是都放在了一个表中,对于他们这三种对象,都是继承于Person的类,所以在登陆时可以忽视他们的具体角色,用多态来实现登陆。
action="/ajax.do?method=login" :将一些关于登陆啊,注册的一些乱七八糟的操作我都放到了一个DispatchAction,之后可以用method的不同来分别调用不同的功能。
onsubmit="return validateLoginForm(this)":这个是用来实现Struts自带的validate验证
:是用来显示在登陆时的错误信息
在这里需要的Struts相关配置会有如下的几个方面:
首先是要对配置文件进行配置我们登陆时需要的FormBean和Action
(1)struts-config.xml:
对于登陆失败,我们准备返回到这里
(2)validation.xml:
user
^[0-9a-zA-Z]*$
这里是常量配置,因为我们还会需要到用户名的验证,所以把他设置为了常量
下面是对这个bean的具体严整手段了,按字段field分别来写他们所依赖depaends的检验手段,常用的有必须填required,正则表达式验证mask,最大maxlength和最小minlength
对于我们需要的FormBean是这样写的:
package com.boya.subject.view;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.*;
public class LoginForm extends ActionForm
{
private static final long serialVersionUID = 1L;
private String user = null;
private String password = null;
public String getPassword()
{
return password;
}
public void setPassword( String password )
{
this.password = password;
}
public String getUser()
{
return user;
}
public void setUser( String user )
{
this.user = user;
}
public void reset(ActionMapping mapping,HttpServletRequest request)
{
this.password = null;这里很重要,当用户输入有错时,需要返回登陆界面给用户,为了用户填写方便我们可以设置返回给用户的哪部分信息设置为空
}
}
我用来实现登陆的DispatchAction代码如下:
public ActionForward login( ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res ) throws Exception
{
Service service = getService();调用业务逻辑
LoginForm loginForm = (LoginForm) form;获取formbean
String user = loginForm.getUser();提取用户名
Person person = service.getUser( user );从业务逻辑中查找用户
ActionMessages messages = new ActionMessages();
ActionMessage am;
if ( person == null )如果用户不存在,我们就返回
{
am = new ActionMessage( "index.jsp.fail.user", user );参数的意义:第一个是主串,而后面的作为arg数组
messages.add( "user", am );把错误信息放到errors 属性为user那里去显示
saveErrors( req, messages );
form.reset( mapping, req );如果出现错误,调用formbean的重置功能
return mapping.findForward( ID.FAIL );
}
if ( !person.getPassword().equals( loginForm.getPassword() ) )如果密码不一致
{
am = new ActionMessage( "index.jsp.fail.password", user );
messages.add( "password", am );
saveErrors( req, messages );
form.reset( mapping, req );
return mapping.findForward( ID.FAIL );
}
setSessionObject( req, person.getType(), person );把用户放到session里
return new ActionForward( person.getType() + ".do", true );我在每个类型用户的类中加入了一个getType来在这里调用,之后动态的去对应的admin.do,student.do,teacher.do的主页面,并且这里实现的不是请求转发,而是请求从定向
}
本文转自
http://yyoo.cn/live/24.html
struts实现用户登陆的例子: <%@ page contentType="text/html; charset=gb2312"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
用户名:
密码:
把控制格式的HTML删除掉,应该剩下这些就是主干了,对于这个毕业设计选题系统,有三种角色,管理员(Admin),教师(Teacher),学生(Student)而我把他们的登陆都做到了一起,在后台这三种角色也是都放在了一个表中,对于他们这三种对象,都是继承于Person的类,所以在登陆时可以忽视他们的具体角色,用多态来实现登陆。
action="/ajax.do?method=login" :将一些关于登陆啊,注册的一些乱七八糟的操作我都放到了一个DispatchAction,之后可以用method的不同来分别调用不同的功能。
onsubmit="return validateLoginForm(this)":这个是用来实现Struts自带的validate验证
在这里需要的Struts相关配置会有如下的几个方面:
首先是要对配置文件进行配置我们登陆时需要的FormBean和Action
(1)struts-config.xml:
(2)validation.xml:
这里是常量配置,因为我们还会需要到用户名的验证,所以把他设置为了常量
下面是对这个bean的具体严整手段了,按字段field分别来写他们所依赖depaends的检验手段,常用的有必须填required,正则表达式验证mask,最大maxlength和最小minlength
对于我们需要的FormBean是这样写的:
package com.boya.subject.view;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.*;
public class LoginForm extends ActionForm
{
private static final long serialVersionUID = 1L;
private String user = null;
private String password = null;
public String getPassword()
{
return password;
}
public void setPassword( String password )
{
this.password = password;
}
public String getUser()
{
return user;
}
public void setUser( String user )
{
this.user = user;
}
public void reset(ActionMapping mapping,HttpServletRequest request)
{
this.password = null;这里很重要,当用户输入有错时,需要返回登陆界面给用户,为了用户填写方便我们可以设置返回给用户的哪部分信息设置为空
}
}
我用来实现登陆的DispatchAction代码如下:
public ActionForward login( ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res ) throws Exception
{
Service service = getService();调用业务逻辑
LoginForm loginForm = (LoginForm) form;获取formbean
String user = loginForm.getUser();提取用户名
Person person = service.getUser( user );从业务逻辑中查找用户
ActionMessages messages = new ActionMessages();
ActionMessage am;
if ( person == null )如果用户不存在,我们就返回
{
am = new ActionMessage( "index.jsp.fail.user", user );参数的意义:第一个是主串,而后面的作为arg数组
messages.add( "user", am );把错误信息放到errors 属性为user那里去显示
saveErrors( req, messages );
form.reset( mapping, req );如果出现错误,调用formbean的重置功能
return mapping.findForward( ID.FAIL );
}
if ( !person.getPassword().equals( loginForm.getPassword() ) )如果密码不一致
{
am = new ActionMessage( "index.jsp.fail.password", user );
messages.add( "password", am );
saveErrors( req, messages );
form.reset( mapping, req );
return mapping.findForward( ID.FAIL );
}
setSessionObject( req, person.getType(), person );把用户放到session里
return new ActionForward( person.getType() + ".do", true );我在每个类型用户的类中加入了一个getType来在这里调用,之后动态的去对应的admin.do,student.do,teacher.do的主页面,并且这里实现的不是请求转发,而是请求从定向
}
本文转自
http://yyoo.cn/live/24.html
- struts入门:struts实现用户登陆
- Struts过滤器实现用户登陆验证
- Struts入门 不用数据库 Struts实现 注册+登陆
- struts实现登陆界面
- j2ee使用struts实现用户的登陆及注册
- j2ee使用struts实现用户的登陆及注册
- 初学者很实用:纯struts框架实现用户登陆
- struts-入门 登陆 maven 构建
- struts入门实例--用户登录
- struts登陆
- Struts登陆
- struts登陆
- struts登陆
- Struts 登陆
- struts 过滤器验证用户是否已经登陆
- struts框架编写的用户登陆代码
- Struts拦截器判断用户是否登陆
- Struts实现注册(登陆)的验证过程
- 简介
- 网页设计视频教程
- 电影许可证破解
- 从IBM广告与《赢在中国》谈开去——企业更需要那种人?
- 使用filter过滤器实现登陆验证
- struts入门:struts实现用户登陆
- CodeSmith基础(二)
- 使用ioctl与内核交换数据
- asp.net从数据库导出数据到word、excel、txt文本文件
- CodeSmith基础(三)
- java版的二分查找算法
- fff
- linux系统ioctl使用示例
- 心情