天天看點

不使用注解配置SpringMVC環境

 Web.xml:

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

<web-app version="3.0" 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_3_0.xsd"> 

    <display-name></display-name> 

    <welcome-file-list> 

        <welcome-file>index.jsp</welcome-file> 

    </welcome-file-list> 

    <!-- 配置Spring MVC --> 

    <servlet> 

        <servlet-name>springmvc</servlet-name> 

        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 

        <init-param> 

            <param-name>contextConfigLocation</param-name> 

            <param-value>/WEB-INF/mvc-servlet.xml</param-value> 

        </init-param> 

        <load-on-startup>1</load-on-startup> 

    </servlet> 

    <servlet-mapping> 

        <url-pattern>*.do</url-pattern> 

    </servlet-mapping> 

</web-app> 

<b>注意:</b>

<b></b>

1、錯誤提示:org.springframework.web.servlet.DispatcherServlet noHandlerFound

警告: No mapping found for HTTP request with URI [/myspring/WEB-INF/jsp/hello.jsp] in DispatcherServlet with name 'springmvc'

&lt;servlet-mapping&gt;  

&lt;servlet-name&gt;springmvc&lt;/servlet-name&gt;  

&lt;url-pattern&gt;/*&lt;/url-pattern&gt;  &lt;!---或者&lt;url-pattern&gt;/*.do&lt;/url-pattern&gt;--&gt; 

&lt;/servlet-mapping&gt; 

這是一種錯誤的寫法,可以改為:

&lt;url-pattern&gt;/&lt;/url-pattern&gt;  

2、預設情況:

<b>servlet-name</b><b>一般與項目名稱一緻</b>;若不寫:

&lt;init-param&gt; 

         &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; 

         &lt;param-value&gt;/WEB-INF/mvc-servlet.xml&lt;/param-value&gt; 

&lt;/init-param&gt; 

則預設是在<b>/WEB-INF/“servlet-name”-servlet.xml</b>

mvc-servlet.xml:

&lt;beans xmlns="http://www.springframework.org/schema/beans" 

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

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

           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"&gt; 

  &lt;!-- HandlerMapping --&gt; 

    &lt;bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" &gt; 

        &lt;property name="mappings"&gt; 

            &lt;props&gt; 

                &lt;prop key="hello.do"&gt;helloController&lt;/prop&gt; 

            &lt;/props&gt; 

        &lt;/property&gt; 

    &lt;/bean&gt; 

    &lt;!-- ViewResolver --&gt; 

    &lt;bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt; 

        &lt;property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/&gt; 

        &lt;property name="prefix" value="/WEB-INF/jsp/"/&gt; 

        &lt;property name="suffix" value=".jsp"/&gt; 

    &lt;!-- 處理器 --&gt; 

    &lt;bean id="helloController" name="/hello" class="com.mzsx.web.controller.HelloWorldController"/&gt; 

&lt;/beans&gt; 

處理器:HelloWorldController.java

package com.mzsx.web.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 HelloWorldController implements Controller { 

    @Override 

    public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { 

        //1、收集參數 

        //2、綁定參數到指令對象 

        //3、調用業務對象 

        //4、選擇下一個頁面 

        ModelAndView mv = new ModelAndView(); 

        //添加模型資料 可以是任意的POJO對象 

        mv.addObject("message", "Hello World!"); 

        //設定邏輯視圖名,視圖解析器會根據該名字解析到具體的視圖頁面 

        mv.setViewName("hello"); 

        System.out.println("執行Controller---------"); 

        return mv; 

    } 

JSP: /WEB-INF/jsp/hello.jsp

&lt;body&gt; 

  取得資料: 

  ${message } 

&lt;/body&gt; 

本文轉自 夢朝思夕 51CTO部落格,原文連結:http://blog.51cto.com/qiangmzsx/1175071