简介SSH框架、SSH框架之Struts的初识、Struts开发流程详解、Struts执行流程

一、简介SSH框架:
1、SSH框架在mvc模式的位置作用:

2、框架(framework):
软件中的框架,是一种半成品; 我们项目开发需要在框架的基础上进行!因为框架已经实现了一些功能,这样就可以提高开发效率!

二、Struts2框架初识
1、Struts1最早的一种基于mvc模式的框架。

2、Struts2 是在Struts1的基础上,融合了xwork的功能。
1)也可以说,Struts2 = struts1 + xwork
2)Struts2框架预先实现了一些功能(之后我们都会有所提及):
a)请求数据自动封装。
b)文件上传的功能。
c)对国际化功能的简化。
d)数据效验功能。
……………….

三、Struts2开发流程详解:
1、先确定所用Struts版本(基本用2以上版本): 2.3.4
2、新建Web项目

3、引入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】

4、配置web.xml
1)Tomcat启动——>加载自身web.xml(项目部署描述文件)——>加载所有项目的web.xml——>通过在项目的web.xml中引入过滤器(Struts的核心功能的初始化,通过过滤器完成)

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <!--
        其他拦截器,一定要放在Struts核心拦截器配置的上面
        否则,其他拦截器失效。
        因为Struts拦截器没有放行功能,在内部被处理过的。
   -->

  <!-- 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>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

2)过滤器的执行过程:(3种方法及执行时间)

filter 【
            init       启动时执行
            doFilter   访问时执行
            Destroy    销毁时执行
】

3)注意事项:
struts2-core-2.3.4.1.jar中的StrutsPrepareAndExecuteFilter 这个类即为核心过滤器的调用。
使用的struts的版本不同,所使用的核心过滤器类是不一样的!

5、开发Action
注意点:
1)action类,也叫做动作类; 一般继承ActionSupport类(不继承也可以)即处理请求的类 (struts中的action类取代之前的servlet)。

2)action类中的业务方法,处理具体的请求。
注意:
a)必须有返回值,且类型必须为String。
b)方法不能为私有(private),并且方法不能有参数

6、配置struts.xml(之后会有详解)

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

四、Struts2执行流程(在源码中也可以设置断点)
1、服务器启动:
1)加载项目web.xml
2)根据项目的web.xml文件,创建Struts核心过滤器对象, 执行filter init()
struts-default.xml—–核心功能的初始化 —–最重要的struts文件
struts-plugin.xml—–struts相关插件
struts.xml—–用户编写的配置文件

2、访问:后面每次再访问时,都会创建action实例(再执行3、4、5的过程)
1)用户访问Action, 服务器根据访问路径名称,找对应的aciton配置, 创建action对象。
2)执行默认拦截器栈中定义的18个拦截器。
3)执行action的业务处理方法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值