Struts2-入门案例
来源:互联网 发布:linux 启动网络服务 编辑:程序博客网 时间:2024/05/17 04:48
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项目struts2
2.导入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 入门案例
- 【1】struts2入门案例
- 03 Struts2入门案例
- Struts2入门(HelloWorld案例)
- Struts2入门案例。
- Struts2入门案例
- Struts2入门案例
- struts2入门案例
- struts2入门案例
- Struts2-入门案例
- Struts2配置入门案例
- Struts2入门案例
- Struts2入门案例
- Struts2入门案例
- Struts2入门案例
- struts2入门简单案例
- Struts2的快速入门案例
- Struts2入门之登陆案例
- caffe学习之Lenet-5详解
- grep 排除一些目录
- jquery开发:jquery插件编写类型
- English Oppens The New World
- gcc执行的过程
- Struts2-入门案例
- BZOJ1040
- codevs 1436 孪生素数 2
- Spring与Struts2整合
- short i =1; i=i+1与short i=1; i+=1的区别
- [python + pillow] 自制壁纸不完全教程
- Struts2-配置文件
- Qt使用QWT绘制科学图表和图形
- 二叉排序树