每次读《Spring源码深度解析》都有新收获

今天看了org.springframework.web.servlet.handler.SimpleUrlHandlerMapping才知道,之前写的jsp页面代码都是通过访问jsp页面再请求后台action把结果返回给页面。
原来使用org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
可以直接访问接口再返回页面。并且进行数据初始化。(不使用这个特性也可以,纯属学习。)
配置文件:
web.xml

 <web-app xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee">
 <context-param>
    <param-name>contextConfigLocationparam-name>
    <param-value>classpath:applicationContext.xmlparam-value>
 context-param>
  <servlet>
    <servlet-name>springMVCservlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
          <load-on-startup>1load-on-startup>  
  servlet>
  <servlet-mapping>
    <servlet-name>springMVCservlet-name>
    <url-pattern>/url-pattern>
  servlet-mapping>
    <listener>
    <listener-class>
            org.springframework.web.context.ContextLoaderListener
        listener-class>
  listener>
  web-app>

springMVC配置:

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
 <property name="mappings">
    <props>
    <prop key="/index.html">indexControllerprop>
    props>
   property>bean>
   <bean id="indexController" class="com.zhouwei.IndexController">bean>
beans>

applicationContext.xml

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 <property name="prefix" value="/WEB-INF/"/>  
   <property name="suffix" value=".jsp">property>  bean>
beans>

controller:

public class IndexController extends AbstractController {

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    System.out.println("-------handleRequestInternal----------");
      ModelAndView mv = new ModelAndView("index","name","test");
       return mv;
}
}

效果

我访问的是index.html通过springmvc配置,请求到了indexController ,indexController实现了AbstractController的handleRequestInternal方法,从而跳转到ModelAndView(“index”,”name”,”test”);

顺便解释下 InternalResourceViewResolver

prefix 意思是ModelAndView的view中value的前面自动加上prefix 的内容,后面加上suffix内容
整个拼起来就是 /WEB-INF/index.jsp
项目目录结构如下:
每次读《Spring源码深度解析》都有新收获_第1张图片

简单记录下~~~每次读《Spring源码深度解析》都有新收获。

你可能感兴趣的:(spring)