1. 什么是struts2?java
Struts2是一个mvc框架。web
Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications. It favors convention over configuration, is extensible using a plugin architecture, and ships with plugins to support REST, AJAX and JSON.apache
2. Struts2=struts1+webwork。mvc
3. 在struts2以前就已经有不少mvc框架。当时Strtus1是主流的mvc框架。随着技术发展,struts1不支持新的表示层技术。Strtus1和webwork整合而来struts2。app
Struts2的核心是webwork,是一个轻量级的mvc框架,是一个基于请求的mvc框架。框架
4. 轻量级框架通常占用资源较少,使用比较方便,不具备侵入性的。jsp
5. 没有侵入性指使用一个框架,不去继承或者实现框架提供的类或接口。测试
6. 使用struts2开发一个helloworld程序url
a) 新建web项目spa
b) 添加index.jsp页面
c) 添加struts2须要的jar包
asm-x.x.jar asm-commons-x.x.jar asm-tree-x.x.jar commons-fileupload-X.X.X.jar commons-io-X.X.X.jar commons-lang-X.X.jar commons-lang3-3.1.jar freemarker-X.X.X.jar javassist-X.X.X.jar ognl-X.X.X.jar struts2-core-X.X.X.X.jar xwork-core-X.X.X.jar (最新的2.5.10.1将xwork包与struts包合并了) |
d) 在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> |
e) 新建一个Action类,该类用于处理请求
public class HelloAction {
public String execute(){ System.out.println("处理action的请求"); return "index"; } } |
f) 在src下建立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> <constant name="struts.devMode" value="true" /> <package name="default" extends="struts-default"> <action name="hello" class="cn.sxt.action.HelloAction"> <result name="index">/index.jsp</result> </action> </package> </struts> |
g) 测试:http://localhost/helloworld/hello