Struts框架学习01

Struts框架学习01

前言

struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。
Struts 是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。
来自百度百科

总之struts就是基于mvc模式的框架!
struts其实也是servlet封装,提高开发效率!

开发步骤

  1. web项目,引入struts - jar包
  2. web.xml中,引入struts的核心功能 配置过滤器
  3. 开发action
  4. 配置action

1.下载的struts的jar包中包含很多个jar文件,一般项目中必须引入以下几个jar包:

引入jar文件 commons-fileupload-1.2.2.jar 【文件上传相关包】 commons-io-2.0.1.jar
struts2-core-2.3.4.1.jar 【struts2核心功能包】
xwork-core-2.3.4.1.jar 【Xwork核心包】 ognl-3.0.5.jar
【Ognl表达式功能支持表】 commons-lang3-3.1.jar 【struts对java.lang包的扩展】
freemarker-2.3.19.jar 【struts的标签模板库jar文件】
javassist-3.11.0.GA.jar 【struts对字节码的处理相关jar】

2.配置web.xml

Tomcat启动:
1).首先加载自身web.xml
2).加载所有项目的web.xml
所以通过在项目的web.xml中引入过滤器,让Struts的核心功能的初始化,通过过滤器完成
filter 【
init/ 启动执行
doFilter/ 访问执行
destroy

<!-- 引入struts核心过滤器 -->
<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>

struts2-core-2.3.4.1.jar包中的
StrutsPrepareAndExecuteFilter 即为核心过滤器
注意:
使用的struts的版本不同,核心过滤器类是不一样的!

3.开发Action
注意:
1. action类,也叫做动作类; 一般继承ActionSupport类
即处理请求的类 (struts中的action类取代之前的servlet)
2. action中的业务方法,处理具体的请求
-必须返回String
-方法不能有参数

如:


public class helloaction extends ActionSupport{
//处理请求
@Override
public String execute() throws Exception {
    System.out.println("访问到了action,正在处理请求.");
    System.out.println("调用service");
    return "success";

}}

4.配置struts.xml

如:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="xxxx" extends="struts-default">
        <action name="hello" class="cn.demo.action.helloaction" method="execute">
            <result name="success">/success.jsp</result>
        </action>
    </package>
</struts>

你可能感兴趣的:(struts)