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 ...
随机推荐
- Codeforces 241B
因为博客园的公式编辑有点坑,所以-- 原题
- linux ssh 不用密码自动登录的几种方法
1. 自动ssh/scp方法== A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运 ...
- 【POJ】2318 TOYS ——计算几何+二分
TOYS Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10281 Accepted: 4924 Description ...
- MFC CWnd仿按钮
CBtn::CBtn() { RegisterWndClass(); } bool CBtn::RegisterWndClass(void) { WNDCLASS n; HINSTANCE hInst ...
- Android4.2中Phone的P-sensor的应用的分析。
先说现象,现象就是来电话,接通电话,把手机屏幕靠近脸部,遮挡住P-sensor,屏幕变黑了,不遮挡住P-sensor,屏幕就点亮了.接着我们来看看代码流程. 步骤一: 在PhoneGlobals.ja ...
- [ACM] hdu 1003 Max Sum(最大子段和模型)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- js数组和对象互转方法
<script> let arr = [2, 3, 4, 2, 3, 4]; // 数组转化为对象 function toObject(arr) { let obj = { } for(l ...
- SqlServer导库语句
GO /****** 对象: StoredProcedure [dbo].[sp_ExportDatabase] 脚本日期: 07/18/2013 12:37:26 ******/ SET ANSI_ ...
- 在 PL/SQL Developer 中执行SQL文件的方法
打开 command Window SQL> @'D:\My Documents\Downloads\bde_chk_cbo.sql'; 整个路径及文件两边要有单引号哦!
- Java学习之Comparable与Comparator的区别
Comparable & Comparator 都是用来实现集合中元素的比较.排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序 ...