web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app 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"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring/spring-ctx.xml</param-value>
</context-param>
<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/config/spring/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
spring-ctx.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"
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">
<context:component-scan base-package="com.prs.dps"/>
</beans>
spring-mvc
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<mvc:annotation-driven enable-matrix-variables="true"/>
<bean
class="org.springframework.web.servlet.view.
InternalResourceViewResolver" p:prefix="/views/" p:suffix=".jsp" />
</beans>
controller
package com.prs.dps;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class Test {
@RequestMapping(value = "/toindex",method = RequestMethod.GET)
public String toIndex(){
return "index";
}
}
Terdapat dua bekas dalam projek ini.
Spring application context
danSpring webapplication context
.sepadan dengan dua fail konfigurasi masing-masing
applicationContext.xml
dan{servletName}-servlet.xml
.Mereka tidak akan berkongsi objek terurus antara mereka.
Anda boleh melihat daripada fail konfigurasi anda bahawa hanya bekas akar
Spring application
telah diimbas dan tiada objek terurusSpring MVC
dalam bekaswebapplication context
() .dan
Spring 根容器
(application context
) tidak mempunyai fungsi untuk mengendalikan pemetaan dan tidak boleh mengendalikan pemetaan permintaan .Jadi konfigurasi sepatutnya seperti ini.
Ubah suai spring-mvc.xml seperti berikut:
Cuba ini sebaliknya:
Penyelesaian Fallen Angel 008 betul
·
DispatcherServlet
Muat komponen kacang komponen Web·
ContextLoaderListener
Muatkan komponen kacang lapisan tengah dan lapisan dataTambahan
· Cadangan Asingkan pakej pengawal dan komponen perkhidmatan dalam projek mvc spring
· Adalah disyorkan agar subjek menambah pemproses sumber statik
spring-mvc.xml
dalamJika masalah belum selesai, disyorkan untuk membaca contoh spring mvc helloworld Contohnya agak ringkas dan jelas Anda juga boleh memuat turun projek contoh