Web应用是目前被广泛使用的系统架构,而MVC模式逐渐成为实现Web应用的首选设计模式。在目前众多的 MVC框架中,struts2算是佼佼者。
MVC 就是模型-视图-控制器(Model-View-Controller)
1.sun公司在jsp的早期规范中制定了两种JSP开发模型,分别为:
模型1(Model1)和模型2(Model2)。
2.模型1:使用jsp+javabeans技术将页面显示和业务逻辑处理分开,jsp实现页面的显 示,JavaBean对象用来承载数据和实现业务逻辑。
3.模型2:符合MVC架构模式,在该模型中,由servlet来做控制器角色,jsp做视图角色, JavaBean做模型角色。模型2把页面的显示,业务逻辑的处理和流程的控制很 清晰的区分开了。
4.Struts2是Struts的第二个版本,它由WebWork和Struts1框架发展而来。
5.相比较第一个版本而言,Struts2有以下几个优点:
<1>.Struts2解除了与ServletAPI和StrutsAPI的耦合,属于非侵入式。<2>.提供了类型转换器。
<3>.表现层可以有多种方式实现。
<4>.提供了拦截器技术。
<5>.提供了输入校验框架。
<6>.包范围的提供。
6.Struts2框架结构可分为以下四部分:
JSP/Struts2标签------------------------------------(视图层)ActionSupport的子类------------------------------(控制层)
处理业务逻辑的数据逻辑的JavaBean---------(模型层)
用于保存Struts2配置的-----------------------------struts.xml
7.Struts2开发步骤:
<1>.准备类库:
最基本的六个:(把这六个包拷到你Web工程的lib目录下)commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
<2>.在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>
<3>.在工程下面的src目录下新建一个struts.xml文件,配置相关内容。
<4>验证struts开发环境是否搭建好:启动Tomcat服务器,若是成功启动,就说明你的环境已经搭建成功!
8.struts2开发简单小例子:在hello.jsp页面输出Hello World!!!
建好一个Web工程叫Hello,然后按照以上步骤搭建Struts2环境,搭建成功后按以下步骤进行:
步骤一:创建一个HelloAction类放在你工程的com.struts2.action包里面
步骤二:在HelloAction类里面编写以下内容:
public class HelloAction{
private String message;
public String getMessage()
{
return message;
}
public String execute()
{
message = "Hello World!!!";
return "success";
}
}
步骤三:在struts.xml文件里面<struts></struts>标签里面配置以下内容:
<package name = "struts" namespace ="/struts2" extends ="struts-default">
<action name = "hello" class ="com.struts2.action.HelloWorld">
<result name = "success">/hello.jsp</result>
</action>
</package>
步骤四:启动服务器,在浏览器地址栏输入:http://localhost:8080/Hello/struts2/hello
回车就在页面输出了“Hello World!!!”