zoukankan      html  css  js  c++  java
  • struts2、spring和mybatis整合理解

    1.web.xml配置文件中要配置StrutsPrepareAndExecuteFilter类的过滤器:

         <filter>

            <filter-name>struts2filter</filter-name>

            <filter-class>

        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

       </filter-class>

         </filter>

         <filter-mapping>

            <filter-name>struts2filter</filter-name>

            <url-pattern>/*</url-pattern>

         </filter-mapping>

    注:在浏览器输入相应的访问地址----》把请求发送给tomcat---》tomcat判断应该把请求交给哪个application应用---》读取

    webapplication应用下的web.xml配置文件---》执行到struts2filter过滤器,交给StrutsPrepareAndExecuteFilter类的doFilter()方法,读取struts.xml文件,根据用户的请求地址找到对应的package、action以及result---》将对应的页面或数据返回给浏览器

       2.web.xml中context-param标签:

         <context-param><!—spring启动加载配置:配置文件地址-->

            <param-name>contextConfigLocation</param-name>

            <param-value>classpath*:/applicationContext.xml</param-value>

         </contex-param>

         <listener><!--spring启动监听:ContextLoaderListener类将spring的applicationContext.xml配置文件载入-->

            <listener-class>

              org.springframework.web.context.ContextLoaderListener

            </listener-class>

         </listener>

       注:①<param-name>标签中的名称不可更改,即任何情况下都必须是contextConfigLocation;

         ②ContextLoaderListener的作用:在web启动时,自动装载spring的applicationContext.xml配置文件。因为它实现了

            ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。在

    ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成

         ③spring在web中的启动是由ContextLoaderListener开始的,ContextLoaderListener实现了ServletLoaderListener

            接口,并继承了ContextLoader类

       3.struts.xml配置文件:

         ①include节点是struts2中组件化的方式,可以将每个功能模块独立到一个xml配置文件中,然后用include节点引用

            <include file=”struts-default.xml”/>

    ②package提供了将多个action组织为一个模块的方式,package的名字必须是唯一的;当一个package扩展自另一个package

    时,该package会在本身配置的基础上加入扩展的package配置,父package必须在子package前配置

    name:package名称

    extends:继承的package名称

    abstract:设置package的属性为抽象的,抽象的package不能定义action,值为true|false

    namespace:定义package命名空间,该命名空间影响到url的地址,如此命名空间为”/test”,访问的地址为:localhost:8080/

       struts/test/xxx.action

    <package name=”struts” extends=”struts-default” namespace=”/test”>

    ...

    </package>

         ③定义默认的拦截器,每个action都会自动引用,如果action引用了其他的拦截器,默认的拦截器将无效

            <default-interceptor-ref name=”myStack”></default-interceptor-ref>

         ④全局result配置

            <global-results>

              <result name=”input”>/error.jsp</result>

            </global-results>

         ⑤一个action可以多次被映射(只要action中的name不同)

            name:action 名称

            class:action对应的类路径

            method:调用action中的方法名

  • 相关阅读:
    LeetCode K Closest Points to Origin
    LeetCode Largest Number
    LeetCode Sort List
    LeetCode Sort Colors
    LeetCode Matrix Cells in Distance Order
    spring定时任务的几种实现方式
    maven构建这么慢,怎么改变?
    序列化框架性能对比(kryo、hessian、java、protostuff)
    java的静态方法的使用
    jvm的可见性的理解
  • 原文地址:https://www.cnblogs.com/zijinyouyou/p/6490755.html
Copyright © 2011-2022 走看看