SpringMVC的基礎配置及視圖定位


概要

記錄一下搭建SpringMVC框架的步驟

視圖定位也就是改變jsp在項目中的路徑

一、新建javaweb項目springmvc1,在lib中導入jar包

此項目上傳了GitHub,方便去下載jar包

https://github.com/yeyangtao/springmvc

二、web-inf下的web.xml文件

其中的serve-name的spingmvc下一步會用到

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.4">
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

三、在同路徑下創建springmvc-servlet.xml

文件名中的springmvc就對應上一步的servlet-name中的springmvc

<?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="simpleUrlHandlerMapping"
        class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/hello">indexController</prop>
            </props>
        </property>
    </bean>
    <bean id="indexController" class="controller.IndexController"></bean>
</beans>

/hello 指定待會瀏覽器上輸入的路徑

四、在src中新建IndexController類實現Controller接口

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.jsp");
        mav.addObject("message", "Hello Spring MVC");
        return mav;
    }
}

ModelAndView中的Model代表模型,View代表視圖,這個名字就很好地解釋了該類的作用。業務處理器調用模型層處理完用戶請求后,把結果數據存儲在該類的model屬性中,把要返回的視圖信息存儲在該類的view屬性中,然后讓該ModelAndView返回該Spring MVC框架。框架通過調用配置文件中定義的視圖解析器,對該對象進行解析,最后把結果數據顯示在指定的頁面上(index.jsp)。

五、index.jsp用來顯示

采用el表達式 ${message}

六、部署到tommcat上測試

瀏覽器輸入http://localhost:8080/springmvc1/hello

結果:

 七、視圖定位

問題:jsp文件是在WebContent文件夾下,現在如果要修改jsp文件存放的位置該怎么修改?

1、修改springmvc-servlet.xml,增加

    </bean>
    <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 這個位置 

2、把控制類中ModelAndView mav = new ModelAndView("index.jsp");

改成ModelAndView mav = new ModelAndView("index");

因為配置文件中已經指明了jsp后綴

3、在web-inf中新建page文件夾,並將index.jsp移到此處

4、重啟tomcat

好處:更利於管理和維護

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM