配置Struts2(以登录为例)
来源:互联网 发布:java中反射的应用场景 编辑:程序博客网 时间:2024/05/22 01:13
引言
在了解Struts2的基础上,对Struts2做一次配置。以登录为例。
步骤
引jar包(最常用的共8个)
commons-fileupload-1.2.1.jar 文件上传
commons-io-1.3.2.jar 被fileupload所用,上面依赖下面
commons-logging-1.0.4.jar 日志处理
ognl-3.0.jar (全程object graph notation languag) 表达式语言
struts2-core-2.2.1.1.jar
Javassist-3.7.ga.jar
xwork-core-2.2.1.1.jar
Freemarker-2.3.16.jar
下载jar包地址:http://struts.apache.org/download.cgi#struts251
将jar包引用到lib文件夹下。做一个登录的例子。
新建jsp
新建一个jsp,写一个表单
<span style="font-size:18px;"> <form action = "login"> username:<input type="text" name="username"><br> password:<input type="password" name="password"><br></form></span>
配置struts2的核心过滤器
修改web.xml,配置struts2的核心过滤器
<span style="font-size:18px;"><!-- 配置Struts2的核心过滤器 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class><!--对于当前应用的所有的请求都要在这儿处理--></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></span>
新建struts.xml
在src新建一个struts.xml,并引入文档类型(struts-2.0.dtd)。
<span style="font-size:18px;"><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"></span>dtd下载地址:http://struts.apache.org/dtds/struts-2.0.dtd
按照dtd里面的规则在里面配置。
<span style="font-size:18px;"><struts> <package name="struts2" extends="struts-default"> <action name="login" class="com.tgb.struts2.LoginAction"> <result name="success">/result.jsp</result></action> </package></struts> </span>
新建action
在src文件夹下新建包:com.tgb.struts2,然后在包下新建类:LoginAction.java。
<span style="font-size:18px;">package com.tgb.struts2;public class LoginAction{ private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) {this.username = username; } public String getPassword() {return password; } public void setPassword(String password) {this.password = password; } public String execute() { return "success"; }}</span>
新建result.jsp
在WebRoot下新建一个result.jsp页面,在body内接收返回数据。
<span style="font-size:18px;">username: ${requestScope.username }<br>password: ${requestScope.password }<br></span>
运行
到此登录配置完成。运行,输入用户名和密码。点击提交。显示结果。
执行流程说明
首先在login.jsp页面中请求资源(action="login"),请求路径匹配了web.xml中的url-pattern(<url-pattern>/*</url-pattern>),纳入到过滤器<filter-class>管辖范围之内(<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>),然后寻找struts.xml.开始寻找里面的action,然后和login匹配(name="login")。然后实例化后面类(class="com.tgb.struts2.LoginAction")的一个对象,调用LoginAction.java中的set方法,将表单提交过来的信息set到我们的成员变量。紧接着调execute方法,调完之后返回“success”字符串。然后传到struts.xml的一个结果。匹配名字,然后定位到相应的jsp(<result name="success">/result.jsp</result>),然后在request中获取信息,至此完成。
- 配置Struts2(以登录为例)
- struts2 拦截器的研究 这里以登录为例
- struts2 拦截器的研究 这里以登录为例
- Struts2的执行流程解释以及源码分析(以登录 和自动登录实现 为例)
- 配置XML自动提示,以Struts2.xml为例(收集)
- 配置XML自动提示,以Struts2.xml为例(收集)
- ajax无刷新调用struts2框架中的Action,以用户登录验证为例
- 自己做MVC框架(以登录页面为例)
- SSH环境搭建(以用户登录为例)
- 文件读写(以登录注册为例)
- 做登录的一些注意事项(以java为例)
- Struts2中的缓存----以Injector为例
- 试用友盟SDK实现Android第三方登录(以QQ登录为例)
- thinkPHP3.2.2使用thinkSDK实现第三方登录(以QQ登录)为例。
- 第三方登录之QQ登录——OAuth2.0处理流程介绍(以QQ登录为例)
- Fedora yum优化配置(以8为例)
- EJB数据源的配置(以JBoss为例)
- Eclipse配置GitHub代码库(以Windows7为例)
- 那些年Genymotion遇到的坑,致Unable to load virtualbox engine.和Unable to start the virtual device.等
- 【一天一道LeetCode】#292. Nim Game
- JavaScript对象与继承
- java笔记(一)java的反射机制
- onload事件不执行的解决方法
- 配置Struts2(以登录为例)
- HDU5405 Sometimes Naive
- Kylin
- 使用查询(SQ01、SQ02、SQ03)创建报表
- C#控制台 foreach遍历交错型数组
- 【一天一道LeetCode】#344. Reverse String
- Linux Runtime Memory Measurement
- Android禁止ViewPager的左右滑动
- OpenGL(四)光照材质