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 ...
随机推荐
- [Django] html 前端页面jQuery、图片等路径加载问题
严格的说这个话题应该属于一个html前端路径加载问题.为了实现一个局部更新页面的功能,简单了解了一下Ajax.Ajax是一个为了实现浏览器和服务器异步通信功能的模块.严格来说不是一个新的语言,只是JS ...
- Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解
原文 http://www.cnblogs.com/xiongmaopanda/p/3314660.html Java开发工具IntelliJ IDEA使用教程:单元测试和代码覆盖率 本文将展示如何使 ...
- setTimeout()与setInterval() 问题
提示:setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). 1. setInterval(c ...
- CC++初学者编程教程(8) VS2013配置编程助手与QT
1. 2. 配置编程助手 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26 ...
- #include <assert.h>
assert宏 适用于软件测试.调试.排错 被除数不能为0,assert可以用于检测被除数是否为0 #define _CRT_SECURE_NO_WARNINGS //#define NDEBUG// ...
- Python实现CGI环境
要想安装Python的CGI环境,就继续往下看吧. 首先,要确定apache服务可以使用CGI服务. 打开apache的配置文件,设置如图. 在启动的apache服务的系统目录下,创建目录如/User ...
- ros消息时间同步与回调
转载自http://blog.csdn.net/zyh821351004/article/details/47758433 方式一: 全局变量形式 : TimeSynchronizer 步骤: 1. ...
- 13-7-1 做了一个360优化大师的主页(就是一个主页UI)
模仿360优化大师做了一个下它的首页. 代码如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/re ...
- javaEE servlet获取jsp内置对象
既然jsp和servlet是等价的,在jsp中能够使用内置对象,那么在servlet中也能够使用. 1.获得out对象 能够使用例如以下代码获得out对象: import java.io.PrintW ...
- [连载]JavaScript讲义(02)--- JavaScript核心编程
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamFja2ZydWVk/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...