什么是struts2框架?
struts2是strtus1的下一代产品,是在struts1和webwork的技术基础上进行了合并的全新的strtus2框架。struts2和struts1的体系结构大有区别。struts2以webwork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与servletAPI完全脱离开来,所以struts2可以理解为webwork的更新产品。虽然从struts2到strtus1有着很大的变化,但是相对于webwork,struts2的变化很小。strtus1 struts2 webwork SprigMVC都是常见的web层框架。
struts2是一个基于MVC设计模式的web层框架。web层框架的特点:前端控制器模式。前端控制器就是一个过滤器。
Struts2开发环境配置
1、创建web工程,编写jsp页面,编写超链接请求服务器。
<a href="${ pageContext.request.contextPath }/hello.action">点击请求Struts2访问案例</a>
2、下载struts2的开发包 https://struts.apache.org apache公司下的产品。
3、将下载的版本解压之后struts-2.3.24-all.zip
要知道每个包的含义才可以更好的掌握它的使用以及在自己项目需要struts的时候在文件中找到自己需要的信息。
apps:struts2框架提供的一些应用
libs:struts2框架开发的jar包
docs:struts2框架开发文档
src:struts2框架源码
4、回到项目中,struts开发需要在新建的项目中引入所需要的jar包。在这个简单的开发案例中需要简单引入即可。
一般经常使用的jar包:找到apps目录,找到struts2-blank.war压缩包,解压之后,将里面的WEB-INF/lib下的jar包复制到自己项目的WEB-INF/lib下就可以了。一般的struts2项目有这些jar包就可以了。
5、配置struts2的前端控制器。就是配置一个过滤器。
在项目的web.xml文件中复制下面的代码:
<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>
6、编写一个Action类。
这是一个动作类,类似于servlet,处理请求,封装数据,相应页面的请求。
package com.wsh.action;
poublic class HelloAction{
public String sayHello(){
System.out.println("Hello Struts2!!");
//return后面的内容决定着响应的页面
return null;
}
}
7、编写struts2配置文件。注意以下几点:
必须在src下建立文件名称必须是struts.xml的配置文件。
复制下面的内容到 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标签中的属性可以不变化-->
<package name="default" namespace="/" extends="struts-default">
<!--name自己定义的名称,请求路径的时候使用
class是action类的全路径
method是连接请求的方法名称
-->
<action name="hello" class="com.wsh.action.HelloAction" method="sayHello">
</action>
</package>
</struts>
8、将项目部署到服务器上,访问上面建立的连接,即可访问成功action。