1. 程式人生 > >第一個SpringMVC程式詳解

第一個SpringMVC程式詳解

建立一個java類:

package com.myproject.cn;

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 MyController implements Controller {

    @Override
//注意:因為MyController這個類名字是隨意起的,那麼也就是說它是需要進行註冊的。所以我們應該在xml裡面書寫配置環境。 public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { //因為要返回ModelAndView,所以我在這裡new一個物件出來。 ModelAndView mv = new ModelAndView(); //因為mv裡面沒有數值所以我們就要進行初始化。
mv.addObject("message","Hello SpringMVC World!"); //設定檢視 mv.setViewName("/WEB-INF/jsp/welcome.jsp");//讓這個頁面直接跳轉到jsp頁面。 //在web-inf下面進行建立jsp /*注意:在web-inf下面的資源與以及在src下面存放的資源是有明顯的區別的。 * (1)在web-inf下面存放的資源是不能夠通過瀏覽器直接訪問到的,比較安全,意味著重定向(重定向是瀏覽器發出的第二次請求 )的時候是不能重定向到web-inf下面的。只能是後臺服務端的程式才可以直接跳轉過去的。 * (2) */
return mv; } }

註冊中央處理器:在src下面建立一個springmvc.xml,進行註冊中央處理器,如下:

<?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"
    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.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop.xsd">

    <!-- 註冊檢視解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

    <!-- 註冊處理器 -->
    <bean id="/my.do" class="com.myproject.cn.MyController"/>
</beans>

注意:因為MyController這個類名字是隨意起的,那麼也就是說它是需要進行註冊的。所以我們應該在xml裡面書寫配置環境。所以在web-inf下面進行註冊;

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <!-- 註冊中央排程器 -->
    <servlet>
        <servlet-name>springMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 指定springMVC配置檔案的位置及檔名 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!-- 在Tomcat啟動時直接建立當前Servlet -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

在瀏覽器中執行即可。如果執行處問題,比如說:
這裡寫圖片描述

那麼,第一種可能是:
這裡寫圖片描述

第二種可能是:
可能是同時運行了幾個專案,然後專案之間相互影響。解決辦法:
找到 tomcat檔案,然後在tomcat裡面刪除一些專案,如圖:
這裡寫圖片描述

第三種可能是路徑不對,你看看springmvc的路徑是在src下面還是在web-inf下面。本題是在src下面;

第四種可能是tomcat出問題了。但是這個可能性就是比較低的,還是有可能出現這種情況。