发表于: 2018-01-17 00:01:54

1 631


一、今天完成的内容

1Spring MVC视图的定位

1)如果代码写成这样,就表示跳转到页面 index.jsp 
new ModelAndView("
index.jsp"); 

所谓的视图定位,指的是代码还是写成这样,但是会跳转到 /WEB-INF/page/index.jsp 
new ModelAndView("
index");

2 修改springmvc-servlet.xml,增加

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/page/" />

<property name="suffix" value=".jsp" />

</bean>

其作用是把视图约定在 /WEB-INF/page/*.jsp 这个位置。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE beans PUBLIC   "-//SPRING//DTD BEAN//EN"   "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

 

    <bean id="viewResolver"

        class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix" value="/WEB-INF/page/" />

        <property name="suffix" value=".jsp" />

    </bean>

 

    <bean id="simpleUrlHandlerMapping"

        class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

        <property name="mappings">

            <props>

                <prop key="/index">indexController</prop>

            </props>

        </property>

    </bean>

    <bean id="indexController" class="controller.IndexController"></bean>

</beans>

ModelAndView mav = new ModelAndView("index");



package controller;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.Controller;

 

public class IndexController implements Controller   {

    public ModelAndView   handleRequest(HttpServletRequest request, HttpServletResponse response)throws Exception   {

        ModelAndView mav = new ModelAndView("index");

        mav.addObject("message", "Hello   Spring MVC");

        return mav;

    }


 
 

3)使用注解的方式进行跳转的配置

在类前面加上@Controller 表示该类是一个控制器
 
在方法handleRequest   前面加上 @RequestMapping("/index") 表示路径/index会映射到该方法上
 
不再IndexController实现Controller接口

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

package controller;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

 

@Controller

public class IndexController {

    @RequestMapping("/index")

    public ModelAndView     handleRequest(HttpServletRequest request, HttpServletResponse     response)throws Exception {

        ModelAndView mav = new ModelAndView("index");

        mav.addObject("message", "Hello     Spring MVC");

        return mav;

    }

}

去掉映射相关的配置,因为已经使用注解方式
 
 
增加

<context:component-scan   base-package="controller" />


 
表示从包controller下扫描有@Controller注解的类
 
 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:context="http://www.springframework.org/schema/context"

    xsi:schemaLocation="http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

    http://www.springframework.org/schema/context        

    http://www.springframework.org/schema/context/spring-context-3.0.xsd">

     

    <context:component-scan     base-package="controller" />

    <bean id="irViewResolver"

        class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix" value="/WEB-INF/page/" />

        <property name="suffix" value=".jsp" />

    </bean>

<!--     <bean id="simpleUrlHandlerMapping" -->

<!--         class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">     -->

<!--             <property name="mappings"> -->

<!--                 <props> -->

<!--                     <prop key="/index">indexController</prop> -->

<!--                 </props> -->

<!--             </property> -->

<!--     </bean>     -->

<!--     <bean     id="indexController" class="controller.IndexController"></bean>     -->

</beans>

二、明天的计划:继续了解SpringMVC

三、遇到的问题:<mvc:annotation-driven/><context:annotation-config/>的区别和作用有什么不同?

四、今天的收获:springmvc视图的定位和注解方式配置。

 



返回列表 返回列表
评论

    分享到