qq登录要手机验证怎么办 Struts从零开始一、普通的登录验证实例
Struts从零开始一、普通的登录验证实例
Struts是一个基于Sun J EE平台的MVC框架 主要是采用Servlet和JSP技术来实现的 由于Struts能充分满足应用开发的需求 简单易用 敏捷迅速 在过去的几年中颇受关注 Struts把Servlet JSP 自定义标签和信息资源(message resources)整合到一个统一的框架中 开发人员利用其进行开发时不用再自己编码实现全套MVC模式 极大的节省了时间 所以说Struts是一个非常不错的应用框架 很多公司开发的产品都是基于此框架的
当然 有朋友一提起编程就觉得头痛 是否如此呢?我想通过本期的struts教程 你便会有自己的结论哟!
本期struts教程本着从易用 实用的目的出发 带您手把手地完成公司开发中常用模块的开发 使你迅速上手struts
主要通过以下六个模块
一 登录验证实例
二 解决中文乱码问题实例
三 连数据库实例
四 国际化
五 验证数据实例
六 模块使用实例
七 制作简单留言板实例
使大家对struts能由浅入深的学习 最终撑握它
万事开头难 就让我们一起来经历struts的开发吧 经过本系列的学习 你肯定能很快地驾驭它 给自己多几分信心吧!
闲话不多说 接下来就开始实战吧!!
一 普通的登录验证实例
效果图
我们以结果为导向 首先大家先看看要完成的效果图 对接下来要做的事情有个清晰的认识
如图键入
显示结果如下图
如果您输入的是合法的话 则如下图
开发步骤
A 首先建立一工程 选择web模块 最后再加载struts包即可 在工程中新建一包 命名为actions 在下面新建一类文件 命名为LoginAction 里面一定要重写execute方法 注意参数的顺序及返回类型都是不可以变化的
在struts中action类起著控制转向的作用 当我们输入用户名与密码并点了提交按钮后 需要交给控制器来决断我们是转向到登陆成功页还是登陆失败页 LoginAction在此就起这么个功能 具体代码请依照如下所示
public class LoginAction extends Action {
public ActionForward execute(ActionMapping actionMapping
ActionForm actionForm
HttpServletRequest servletRequest
HttpServletResponse serveltResponse) {
LoginActionForm loginform = (LoginActionForm) actionForm;
String username = loginform getUsername();
String userpass = loginform getUserpass();
boolean flag = false;
String actionpath = ;
if (username equals( ) &&userpass equals( )) {
actionpath = success ;
} else {
actionpath = error ;
}
return actionMapping findForward(actionpath);
}
}
在 LoginAction 中 我们得到一个ActionForm对象 并把它强转成LoginActionForm
待我们处理 即通过ActionForm的匹配名称的表单自动封装机制 取得用户输入用户名 密码
我们返回的结果将会被ActionFormward对象所包装 比如这儿的 success 表示用户合法 error 表示用户不合法 这个字符串将决定着页面的流程控制 它并不是一个具体存在的页面 它是如何跟一个具体的页面关联上的呢?
呵呵 先不要急 我们来分析几点
你在操作时记住的概念
Struts的核心是Action 而Action的核心就是一个配置文件——struts config xml 它既然是核心就很重要哦
Maping映射
a) actionMapping findForward( 映射名称 ); 它返回的是一个ActionForward对象
b) struts config xml里面action节点下的
实现机制 Struts会根据你传进actionMapping findForward( 映射名称 ) 它会到你当前action节点下去找forward这个节点 并把你传进的参数与这个节点的name属性进行匹配 如果相等它就会跳到这个节点的path所指定的页面
例
Action actionMapping findForward( success )
Struts config xml
如果是这种情况的话 它就会转发到success jsp页面
注意
a) 方法的参数值和name节点的值对应
b) Path所指定的页面 前面必须加上 /
B 在前面我们提到了ActionForm 所以我们还需要建立一个类文件 这个类文件将封装页面用户输入的用户名 和密码
注意
这个类必须继承ActionForm类 它将完成与页面的自动封装
类中的属性名称一定要和页面的输入框的名称对应 为了自动封装的匹配工作
这个类中一定要提供所有与属性相匹配的set 和 get方法
好 前面写了这些代码 看上去还是有些杂乱无章 怎么把它们关联起来呢?又怎么调用这些代码呢?呵呵 群龙不会无首的 下面就一起来关注struts的装配文件 它可是相当于struts的总司令哟!
C 核心部分 跳转控制Struts config xml部分
<struts config>
<form beans>
<form bean name= loginActionForm type= formbeans LoginActionForm />
</form beans>
<action mappings>
<action path= /login name= loginActionForm type= actions LoginAction >
<forward name= success path= /success jsp />
<forward name= error path= /wrong jsp />
</action>
</action mappings>
</struts config>
我们对struts xml做一下相应的介绍吧 如下

用来配置一个ActionForm Bean 常用配置的几个属性
name 指定该ActionForm Bean的唯一标识符 整个Struts框架用该标识符来引用这个Bean 该属性是必需的
type 指定ActionForm类的全限定名 该属性是必需的
用来描述特定的请求路径到相应的Action类的映射 常用配置的几个属性
input 指定包含输入表单的URL路径 当表单验证失败时 将把请求转发到该URL
name 指定和该Action关联的ActionForm Bean的名字
path 指定访问Action的路径 它以 / 开头 没有扩展名
Scope 指定ActionForm Bean的存在范围 (session | request)
Validate 指定是否要先调用ActionForm Bean的validate()方法 默认值为true
Action的子元素常用配置的几个属性
name 指定转发路径的逻辑名 必需的
path 指定转发(或重定向)的URI 必须以 / 开头 必需的
redirect 当此项为true时 表示执行重定向操作 为false时表示执行请求转发操作 默认值为false
D 页面login jsp 用户登录页面 提供用户输入功能 具体代码如下所示
<form method= post action= login do >
请输入姓名 <input type= text name= username value= /><br />
请输入密码 <input type= password name= userpass value= /><br>
<input type= submit name= Submit value= Submit >
<input type= reset value= Reset >
</form>
注意
action后面的login do就是struts config xml里面你要访问的action节点path的值哦
切记哦 如果你请求的URL的引用了formbean的话 这里的名称一定要对应哦
还有success jsp wrong jsp分别代表登录成功和登录失败页面 就不再多说啦!
启动Tomcat 连接上您的应用程序网址 例如 填入用户名 密码 并送出窗体 您的欢迎页面就会显示了
lishixinzhi/Article/program/Java/ky/201311/28288