Struts2 是在WebWork2基础发展而来的。和Struts1一样,Struts2也属于MVC框架。
虽然Struts2和Struts1在名字上的差别不是很大,但Struts2和Struts1在代码编写风格上几乎是不一样的。
Struts2相对于Struts1有一下优点:
1、在软件设计上,Struts2没有像Struts1那样跟Servlet API和Struts API有着紧密的耦合,Struts2的应用可以
不依赖于Servlet API和Struts API。Struts2的这种设计属于无入侵式设计,而Struts1却属于侵入式设计。
2、Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。
3、Struts2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在Struts1中,如果我们要实现
同样的功能,就必须向Struts1的底层实现BeanUtil注册类型转换器才行。
4、Struts2提供支持多种表现层技术,如:JSP、freeMarker、Velocity等
5、Struts2的输入校验可以对指定方法进行校验,解决了Struts1长久之痛。
6、提供了全局范围、包范围和Action范围的国际化资源文件管理实现。
一、搭建Struts2开发环境
三步骤:1、下载Struts2-1-6。把lib中的jar包导入开发目录 2、编写Struts2 的配置文件 3、在web.xml中加入Struts2 MVC 框架启动设置。
1、下载Struts2-1-6。把lib中的jar包导入开发目录
开发Struts2程序需要的最少jar包:
步骤1、打开Myeclipse,新建Java Web 项目,命名为Struts2
步骤2、下载Struts2-1-6,把必须的jar包copy到WebRoot下的WEB-INF下的lib下。
2、编写web.xml文件
步骤3、将struts2的过滤器添加到web.xml文件中,如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<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>
</web-app>
3、创建struts2的配置文件 struts.xml
步骤4、在src名录下创建struts2的配置文件 struts.xml
4、创建Action(Action就是一个POJO类)
步骤5、创建类 HelloAction,并编写execute()方法:
public class HelloAction {
public String execute(){
// System.out.println("hello,struts");
return "success";
}
}
步骤6、在struts.xml文件中编写访问路径:
<?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>
<package name="default" namespace="/" extends="struts-default">
<action name="hello" class="itat.org.zttc.action.HelloAction">
<result name="success">/hello.jsp</result>
</action>
</package>
</struts>
步骤7、在WebContext文件夹下创建hello.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello Struts2</h1>
</body>
</html>
这样就完成了一个简单的Struts2 实例,在浏览器中输入http://localhost:8080/hello_struts/hello.action,浏览器中显示
Hello Struts2