码迷,mamicode.com
首页 > 编程语言 > 详细

非注解SpringMVC

时间:2015-09-04 16:58:19      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:

 <!-- SpringMVC前端控制器 -->
  <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    
      <!-- contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器、适配器等等)
      如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-serlvet.xml(springmvc-servlet.xml)
       -->
       <init-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>classpath:springmvc.xml</param-value>
       </init-param>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <!-- 
      第一种:*.action,访问以.action结尾 由DispatcherServlet进行解析
      第二种:/,所以访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析
      使用此种方式可以实现 RESTful风格的url
      第三种:/*,这样配置不对,使用这种配置,最终要转发到一个jsp页面时,
      仍然会由DispatcherServlet解析jsp地址,不能根据jsp页面找到handler,会报错。
       -->
  <url-pattern>*.action</url-pattern>
  </servlet-mapping>

 

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.2.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
    <!-- 处理器映射器 将bean的name作为url进行查找 ,需要在配置Handler时指定beanname(就是url) 
    所有的映射器都实现 HandlerMapping接口。
    -->
    <bean
        class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
    <!--简单url映射  -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
            <!-- 对itemsController1进行url映射,url是/queryItems1.action -->
            <prop key="/queryItems1.action">ItemsHandler1</prop>
            <prop key="/queryItems2.action">ItemsHandler1</prop>
            <prop key="/queryItems3.action">ItemsHandler2</prop>
            </props>
        </property>
    </bean>
        
        
    <!--处理器适配器 
    所有的适配器都要实现HandlerAdapter接口
     -->
    <bean
        class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    <!-- 另一个非注解的适配器 -->
    <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>
    <!-- 配置Handler -->
    <bean id = "ItemsHandler1"  name="/queryItems.action" class="com.test.handler.items.ItemsHandler1" />
    <bean id = "ItemsHandler2" class="com.test.handler.items.ItemsHandler2" />
    <!-- 视图解析器 
    解析jsp默认使用jstl标签,在classpath目录下需要有jstl的jar包
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />
</beans>

 1、两种处理器映射器可以并存

2、两种处理器适配器也可以并存,但是两种适配器对应的Handler不同

  SimpleControllerHandlerAdapter 对应的Handler需要实现 org.springframework.web.servlet.mvc.Controller 接口

  

ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("itemsList",itemsList);
        modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
        return modelAndView;

 

  HttpRequestHandlerAdapter 对应的Handler需要实现 org.springframework.web.HttpRequestHandler 接口

req.setAttribute("itemsList", itemsList);
            req.getRequestDispatcher("/WEB-INF/jsp/items/itemsList.jsp").forward(req, resp);
            //使用此方法可以通过修改response,设置响应的数据格式,比如响应json数据

            /*
                    response.setCharacterEncoding("utf-8");
                    response.setContentType("application/json;charset=utf-8");
                    response.getWriter().write("json串");*/

 

非注解SpringMVC

标签:

原文地址:http://www.cnblogs.com/liuwt365/p/4781818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!