Struts2.x教程(一) Struts2介绍
struts2-core-2.3.8.jarxwork-core-2.3.8.jarcommons-lang3-3.1.jarognl-3.0.6.jarjavassist-3.11.0.GA.jarasm-3.3.jarasm-commons-3.3.jarasm-tree-3.3.jarfreemarker-2.3.19.jarcommons-fileupload-1.2.2.jarcommons-io-2.3.jar
<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>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="hello" class="com.boya.struts2.web.HelloAction">
<result>
/helloWorld.jsp
</result>
</action>
</package>
</struts>
public class HelloAction {
public String execute() {
return "success";
}
}
因此,与Struts1不同的是,我们要在web.xml里面配置Struts2的Filter来拦截请求。
package标签则表明以包的形式来管理action和拦截器。通常情况下,按将逻辑相关一组业务Action作为一个模块放在同一个package下管理。
在action中返回一个相应name的字符串,就会返回到相应的jsp页面
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
a、用于訪问classpath中特定的静态资源(假设是/struts、或者/static開始的资源,则在classpath下查找特定的包以下的匹配资源;)
</action>
<result name="success" type="redirect">/hello.action</result> <!--重定向到一个acton请求-->
<param name="actionName">user</param> <!--重定向的Action名称-->
<param name="method">login</param> <!--重定向Action的方法名称-->
<param name="actionName">user</param> <!--Action名称-->
<param name="method">login</param> <!--Action的方法名称-->
public class JsonAction extends ActionSupport {
private Map<String,Object> dataMap;
public String json() {
dataMap = new HashMap<String, Object>();
User user = new User();
user.setName("张三");
user.setAge();
dataMap.put("user", user);
return SUCCESS;
}
}
<package name="json" extends="struts-default,json-default" >
<action name="json" class="com.boya.struts2.web.JsonAction">
<result type="json">
<param name="root">dataMap</param>
</result>
</action>
</package>
首先。如果dataMap中返回结果为:{"users":[{"age":22,"name":"张三","password":"123456"},{"age":40,"name":"李四","password":"654321"}]}
private String password;
这样就能够把提交的參数值传给UserAction的属性。也能够通过URL将參数值传递给Action,如:
private Map request;private Map session;@Overridepublic void setRequest(Map request) {this.request = request;}@Overridepublic void setSession(Map session) {this.session = session;}
private HttpServletRequest request;private HttpSession session;@Overridepublic void setServletRequest(HttpServletRequest request) {this.request = request;this.session = request.getSession();}
Struts2.x教程(一) Struts2介绍的更多相关文章
- Struts2详细教程
Struts2详细教程:http://www.yiibai.com/struts_2/
- Struts2 第四讲 -- Struts2的基本配置
5.struts2的基本配置 5.1 struts2的访问连接url 在struts1中,通过<action path=“/primer/helloWorldAction.action”> ...
- [原创]java WEB学习笔记71:Struts2 学习之路-- struts2常见的内建验证程序及注意点,短路验证,非字段验证,错误消息的重用
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- VB6 GDI+ 入门教程[1] GDI+介绍
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[1] GDI+介绍 2009 年 6 月 18 日 17 ...
- 第3章 Struts2框架--1、Struts2环境搭建
第3章 Struts2框架--1.Struts2环境搭建 搭建步骤: 1.从下载http://struts.apache.org 没找到Struts2.3.16版,就下载了2.3.29 2.拷贝后解压 ...
- matlab中文论坛视频谷普教程MATLAB压缩包介绍
matlab中文论坛视频谷普教程MATLAB压缩包介绍 我也正在学习这个软件 ,看到这个教程就在这里分享了,希望大家喜欢!Matlab 初学者视频教学1. Matlab视频:Matlab中文论坛为新手 ...
- struts2讲义----建立一个struts2工程
建立一个Struts2 工程 Ø 1在MyEclipse中新建web工程 Ø 2在struts-2.2.1.1-all\struts-2.2.1.1解压struts2-blank.war( 最基础的示 ...
- Struts2学习第一天——struts2基本流程与配置
struts2框架 什么是框架,框架有什么用? 框架 是 实现部分功能的代码 (半成品),使用框架简化企业级软件开发 ,提高开发效率. 学习框架 ,清楚的知道框架能做什么? 还有哪些工作需要自己编码实 ...
- [原创]K8 Struts2 Exp 20170310 S2-045(Struts2综合漏洞利用工具)
工具: K8 Struts2 Exploit组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2014/7/31 10:24 ...
随机推荐
- The solution for "Eclipse is running in a JRE, but a JDK is required"
Open the eclipse folder and access the eclipse.ini file: Before change it ,you will find it don’t ...
- ISO,CD,iso9660
audio CD与CD-ROM的区别? 1.CD Audio 利用PCM(Pulse Code Modulation)方式,将Analog信号转为Digital Data,并储存在Disc上. CD ...
- FirewallD 详解
在CentOS7开始,默认是没有iptables的,而是使用了firewall防火墙.与时俱进,简单的整理了一下firewall的使用方法.关于详细的介绍参考官网,就不搬字了.这个网站有中文选项.可以 ...
- PLA 多维情况下的vc维
对于d维的数据集,vc = d+1 证明: $vc \geq d+1$ : 存在d+1个点可以被H shatter 构造矩阵(注意加上$w_0$对应的$x_0$) 注意x可逆,构造$w=X^{-1 ...
- java中表示二进制、八进制、十进制、十六进制,double、float、整型
java里不能这样表示二进制,只能是 8,10,16进制 8: 前置 0 10: 不需前置 16: 前置 0x 或者 0X double:2 ...
- 兔子--Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK
错误原因: Activity打开别的Activity的时候会默认把新的Activity放到自己的task中,所以不用指定,可是别的地方就得指定了. 解决的方法:intent.addFlags(Inte ...
- Android基础之CountDownTimer 倒计时类
app常用的60s倒计时计时功能: private static final int TIME_LIMIT = 60; private void initView() { // 相关控件 mResen ...
- 8种排序算法的C#实现
排序是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列.排序根据涉及的存储器的不同分为内部排序和外部排序:内部排序是指待排序记录存放在内存进行的排序过程:外部排序是指待排序记录的数 ...
- OCP-1Z0-053-V12.02-501题 【转】
http://blog.csdn.net/rlhua/article/details/12225237 501.Note the output of the following query; SQL& ...
- JS 精粹(一)
先说说JS是容易被误解的语言的观点.从名字上来看,"Java"这似乎暗示着这门语言与Java的关系:好像这门语言是Java的子集,或比Java弱.但实际与Java并无关系,如果说非 ...