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中的方法名

  • 相关阅读:
    Linux安装ElasticSearch,Elasticsearch安装辅助插件,IK分词器安装,使用IK分词器
    springBoot高级:自动配置分析,事件监听,启动流程分析,监控,部署
    dubbo:分布式系统中的相关概念,服务提供者,服务消费者,dubbo高级特性
    Maven高级:分模块开发与设计,聚合,集成,属性,版本管理,多环境开发配置和跳过测试,私服搭建
    springMVC:校验框架:多规则校验,嵌套校验,分组校验;ssm整合技术
    springMVC:异步调用,异步请求跨域访问,拦截器,异常处理,实用技术
    Web全段重点整理
    spring事务:事务控制方式,使用AOP控制事务,七种事务传播行为,声明事务,模板对象,模板对象原理分析
    Java基础技术基础面试【笔记】
    高级知识点:多线程,资源管理【笔记】
  • 原文地址:https://www.cnblogs.com/zijinyouyou/p/6490755.html
Copyright © 2011-2022 走看看