Struts2-入门案例
2017-05-31 21:44
323 查看
Struts的下载和安装
Struts2是以WebWork为核心的,它采用拦截器的机制来处理用户的请求。访问官网http://struts.apache.org/。点击Download
Full Distribution:下载Struct2的完整版,通常建议下载该选项,该选项包括Struct2的示例应用、空示例应用、核心库、源代码和文档等。
Example Applications:仅下载Struct2的示例应用。
Essential Dependencies Only:核心库。
Documenttation:相关文档。
Source:源码
我用的是struts-2.3.15.1-all.zip,解压完之后,目录结构
apps:自带的案例
docs:开发文档
lib:所有的jar包(用哪个拷贝哪个)
src:源码
例子
1.创建web项目struts22.导入jar包,13个。参考给的例子struts-2.3.15.1-all\struts-2.3.15.1\apps\struts2-blank\WEB-INF\lib,将里边的jar包都添加上。添加到项目的WEB-INF的lib文件中。(把war文件改成jar文件,然后解压)
asm-3.3.jar:操作Java字节码的类库
asm-commons-3.3.jar:提供了基于事件的表现形式
asm-tree-3.3.jar:提供了基于对象的表现形式
commons-fileupload-1.3.jar:Struts2文件上传组件依赖包
commons-io-2.0.1.jar:Struts2的输入输出,传文件依赖的JAR
commons-lang3-3.1.jar:包含一些数据类型工具,是对java.lang包的增强
commons-logging-1.1.3.jar:对日志的扩展
freemarker-2.3.19.jar:Struts2标签模板使用的类库
javassist-3.11.0.GA.jar:Javascript字节码解释器
log4j-1.2.17.jar:日志开源组件
ognl-3.0.6.jar:OGNL表达式
struts2-core-2.3.15.1.jar:Struts框架的核心类库
xwork-core-2.3.15.1.jar:WebWork核心库,Struts2的构建基础。
3.在web.xml配置文件中,配置Struts2的核心过滤器。(去给的例子里去找怎么配)
<!-- 配置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>
4.定义处理用户请求的Action类
package com.eaglezsx.action; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldAction extends ActionSupport{ public String execute() throws Exception{ return SUCCESS; } }
返回值为SUCCESS,该常量字段是从父类中继承的。execute()方法的返回值对应着struts.xml文件中
<result>标签中name属性的值,会执行对应处理结果下的资源视图。
5.配置Struts2的配置文件。(去那个例子里边去找怎么配)
在src目录下新建一个名称为struts.xml文件,这个文件必须在classes的根目录下。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!--Struts2的Action必须放在指定的包空间下定义 --> <package name="hello" namespace="/" extends="struts-default"> <!-- 定义action --> <action name="helloWorld" class="com.eaglezsx.action.HelloWorldAction"> <!--定义处理结果和视图资源之间的映射关系--> <result name="success">/success.jsp</result> </action> </package> </struts>
对于struts.xml的dtd约束可以在struts2-core-2.3.15.1.jar中的struts-2.3.dtd中找到。
使用dtd来获得本地struts.xml提示:开发过程中国如果可以上网,struts.xml会自动缓存dtd,提供提示功能。如果不能够上网,则需要手动配置本地dtd,这样才能够使struts.xml产生提示。
找到struts-2.3.dtd这个文件,在WEB-INF下建个文件夹dtd,把他放进去。Window–Preferences,搜索xml,找到XML Catalog,User Specified Entries,点击Add,在Location中找到刚才添加的文件,Key type选择URI,Key填写http://struts.apache.org/dtds/struts-2.3.dtd
6.创建视图文件
在WebRoot目录下创建一个index.jap,在其中编写一个超链接,用于访问Action对象
<body> <a href="${pageContext.request.contextPath }/helloWorld.action">Hello Struts2</a> </body>
然后再在WebRoot目录下创建一个success.jsp,作为Action对象处理成功后的返回页面
<body> 欢迎学习第一个Struts2程序 </body>
7.执行流程的分析
在客户端浏览器上单击index.jsp中的超链接,会发送一个helloWorld.action请求,该请求被核心控制器拦截到,通过匹配struts.xml文件中的配置,找到请求对应的HelloWorldAction,并默认调用HelloWorldAction中的execute()方法,返回逻辑视图名。然后再通过匹配找到并转发到对应的视图页面success.jsp中,最后响应并输出返回结果。
相关文章推荐
- Struts2入门一搭建开发环境及相应案例
- struts2 入门案例
- struts2入门案例
- Struts2 第一个入门案例
- Struts2入门案例
- Struts2的快速入门案例
- Struts2入门案例
- 网上大篇幅的坑人的struts2入门案例
- Struts2入门案例
- Struts2入门案例
- 【1】struts2入门案例
- 【JavaWeb-15】Struts2环境配置、入门案例、执行流程、package、action、result详解
- Struts2第一个入门案例
- Struts2入门--一个简单的登录案例
- Struts2入门案例
- Struts2入门之登陆案例
- Struts2系列:(24) 国际化(二)案例-快速入门
- Struts2入门案例。
- Struts2配置入门案例
- Struts2入门案例,自动装配