Struts官网: http://struts.apache.org/
Struts2框架预先实现了一些功能 1:请求数据自动封装 2:文件上传的功能 3:对国际化功能的简化 4:数据校验的功能
第一:首先需要说明的是Struts就是基于MVC模式的框架!(struts其实也是servlet封装,提高开发效率!)
第二:Struts开发步骤:
1. web项目,引入struts - jar包
2. web.xml中,引入struts的核心功能,配置过滤器
3. 开发action
4. 配置action --->src/struts.xml
下面详细介绍一下第一个struts2的开发流程:
1. 创建动态web项目,引入struts - jar包(这里引入8个jar包,如下所示。很容易就可以得到就不分享了哦)
commons-fileupload-1.3.1.jar 【文件上传相关包】 commons-io-2.2.jar commons-lang3-3.1.jar 【struts对java.lang包的扩展】 freemarker-2.3.19.jar 【struts对标签模板库jar文件】 javassist-3.11.0.GA.jar 【struts对字节码的处理相关jar】 ognl-3.0.6.jar 【Ognl表达式功能支持表】 struts2-core-2.3.16.3.jar 【struts2核心功能包】 xwork-core-2.3.16.3.jar 【xwork核心包】
2. 在web.xml中,引入struts的核心功能,配置过滤器(已经加了注释,不作多叙述)
Tomcat启动---》加载自身web.xml---》加载所有项目的web.xml 通过在项目的web.xml中引入过滤器 struts2的核心功能的初始化,是通过过滤器完成的。
代码语言:javascript复制 1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
3 <display-name>struts2_20170219</display-name>
4 <welcome-file-list>
5 <welcome-file>index.html</welcome-file>
6 <welcome-file>index.htm</welcome-file>
7 <welcome-file>index.jsp</welcome-file>
8 <welcome-file>default.html</welcome-file>
9 <welcome-file>default.htm</welcome-file>
10 <welcome-file>default.jsp</welcome-file>
11 </welcome-file-list>
12
13
14 <!-- 其他过滤器 -->
15
16 <!-- 引入struts2的核心过滤器 -->
17 <filter>
18 <!-- 过滤器的名称 -->
19 <filter-name>struts2</filter-name>
20 <!-- 过滤器类 -->
21 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
22 </filter>
23 <filter-mapping>
24 <!-- 过滤器名称 -->
25 <filter-name>struts2</filter-name>
26 <!-- 过滤器映射 -->
27 <url-pattern>/*</url-pattern>
28 </filter-mapping>
29 </web-app>
此处插一句,配置过滤器的时候,filter-class里面的内容我是这样获取的,因为写法是死的,如图,仅供参考。
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
双击点开之后,复制此句即可。
3. 开发action,此处习惯继承了ActionSupport.
代码语言:javascript复制package com.bie;
import com.opensymphony.xwork2.ActionSupport;
/**
* @author BieHongLi
* @version 创建时间:2017年2月19日 下午3:08:53
* 开发action,处理请求
*/
public class HelloAction extends ActionSupport{
private static final long serialVersionUID = 1L;
/**
* 重写execute,处理请求的方法
*/
@Override
public String execute() throws Exception {
System.out.println("访问到了action,正在 处理请求");
System.out.println("hello world!!! struts2");
return SUCCESS;
}
}
4. 配置action --->src/struts.xml
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 生命包 -->
<package name="helloWorld" extends="struts-default">
<!-- 定义action -->
<action name="hello" class="com.bie.HelloAction" method="execute">
<!-- 显示成功的jsp页面 -->
<result name="success">success.jsp</result>
</action>
</package>
</struts>
配置struts.xml的时候使用下面的模板,在上面直接进行加工即可。
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
</struts>
最后了,当然直接运行就行了,结果如下所示:
这个是在浏览器运行的结果: