struts2简介
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是Struts的下一代产品,这个框架充分发挥了Struts1和WebWork这两种技术的优势,抛弃原来Struts1的缺点,使得Web开发更加容易。
struts2的优点:
- 项目开源,使用及扩展方便 - 天生优势; 提供Exception处理机制; Result 方式的页面导航,通过 Result
- 标签很方便的实现重定向和页面跳转; 通过简单、集中的配置来调度业务类,使得配置和修改都非常容易;
- 提供简单、统一的表达式语言来访问所有可供访问的数据; 提供标准、强大的验证框架和国际化框架; 提供强大的、可以有效减少页面代码的标签;
- 提供良好的Ajax支持; 拥有简单的插件,只需要放入响应的 jar 包,任何人都可以扩展 Struts2 框架。
struts2配置文件
struts-base.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8" />
<constant name="struts.devMode" value="true" />
<constant name="struts.configuration.xml.reload" value="true" />
<constant name="struts.i18n.reload" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<package name="base" extends="struts-default" abstract="true">
<global-allowed-methods>regex:.*</global-allowed-methods>
</package>
</struts>
struts-sy.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!--
相对mvc的差异性
package:用来将一类子控制器进行分类
http://localhost:8080/stauts/sy/user_add.action
中/sy对应的namespace="/sy"
extends包的继承
*的含义:
代表任意方法,只要前台浏览器匹配/user_*这一个是,那么user_add中,代表了adds
-->
<package name="sy" extends="base" namespace="/sy">
<action name="/user_*" class="com.lzy.web.UserAction" method="{1}">
<result name="success">/test.jsp</result>
</action>
<action name="demo_*" class="com.lzy.web.DemoAction" method="{1}">
<result name="rs">/rs.jsp</result>
</action>
<action name="tomcat_*" class="com.lzy.web.TomacatAction" method="{1}">
<result name="rs">/rs.jsp</result>
</action>
</package>
</struts>
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<include file="struts-default.xml"></include>
<include file="struts-base.xml"></include>
<include file="struts-sy.xml"></include>
</struts>
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lzy</groupId>
<artifactId>stauts</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>stauts Maven Web