目录
1.简介;
官网:
百科介绍:
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与SrevletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
总结:
在用户请求和模块化处理方面以及页面的展现这块,Struts2 发挥的作用很大;
相对于传统的 Jsp+Servlet 模式,Struts2 更适合企业级团队开发,方便系统的维护;
最新版本:2.5.20
下载地址:
http://mirrors.tuna.tsinghua.edu.cn/apache/struts/2.5.20/struts-2.5.20-all.zip
2.Struts2版HelloWorld;
首先Struts2.5以上的版本所需要的必须jar包有:
首先在web.xml文件里面设置请求拦截,将所有的请求全部交给Struts2处理;
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<filter>
<filter-name>Struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
在struts.xml里面设置请求地址;
其中name="hello"表示用户输入的请求,这是第1步;
struts接受到请求后,交给class类去处理,也就是我们需要写的一个处理类Action;
<?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 name="hello" class="com.java.action.HelloWorld">
<result name="success">HelloWorld.jsp</result>
</action>
</package>
</struts>
处理类Action,里面包括客户端的跳转;
接收到success后,再返回到struts.xml里面,其中的result接收到success后,就会跳转到HelloWorld.jsp页面去了
package com.java.action;
import com.opensymphony.xwork2.Action;
public class HelloWorld implements Action {
@Override
public String execute() throws Exception {
System.out.println("执行了action的默认方法");
return SUCCESS;
}
}
HelloWorld.jsp页面;
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
HelloWorld! Struts2
</body>
</html>
3.Struts2运行原理;