Spring MVC DispatcherServlet Asignación de

Estoy creando un simple resorte aplicación mvc. ¿Cómo puedo configurar la primavera DispatcherServlet a aceptar patrón de url como la siguiente.

<?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/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SpringMVC</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
</web-app>

Actualmente estoy recibiendo por debajo de advertencia sobre el inicio de la aplicación.

WARNING: No mapping found for HTTP request with URI [/SpringMVC/] in DispatcherServlet with name 'spring'

spring-servlet.xml (he añadido el valor predeterminado servlet controlador así)

<?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:aop="http://www.springframework.org/schema/aop"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd 
    http://www.springframework.org/schema/jee 
    http://www.springframework.org/schema/jee/spring-jee.xsd 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">

    <context:annotation-config />
    <context:component-scan
        base-package="com.springapp" />

    <mvc:default-servlet-handler/>

    <bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="classpath:resources/messages" />
        <property name="defaultEncoding" value="UTF-8" />
    </bean>

    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>
  • Como qué? no puede decir lo que su pregunta es.
  • tal vez este podría ayudar
  • por favor, agregue el contexto de la primavera
  • Es aceptar el patrón de URL. La Primavera dispatcher servlet se invoca y, a continuación, intenta encontrar un controlador de solicitud en su conjunto de controladores que está configurado para manejar las solicitudes con la URI /SpringMVC/, pero no encontró ninguna. El registro que está viendo proviene de la DispatcherServlet. No viene desde el contenedor web.
  • He actualizado a la pregunta con la primavera contexto.
  • He incluido por defecto servlet controlador en la primavera de contexto, pero no su ayuda.

InformationsquelleAutor Sahil Dave | 2012-06-30

4 Kommentare

  1. 2

    Primero de todo, su web.xml debe contener DispatcherServlet de asignación (que puede proporcionar dispatcher-servlet.xml ubicación del archivo o utilizar predeterminado):

        <servlet>
                <servlet-name>dispatcher-servlet</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                <init-param>
                        <param-name>contextConfigLocation</param-name>
                        <param-value>/WEB-INF/classes/spring-servlet.xml</param-value>
                </init-param>
                <load-on-startup>1</load-on-startup>
        </servlet>
    
        <servlet-mapping>
                <servlet-name>dispatcher-servlet</servlet-name>
                <url-pattern>/</url-pattern>
        </servlet-mapping>

    agregar esto a su spring-servlet.xml archivo:

    <mvc:annotation-driven/>

    Y gran paso,usted debe crear el controlador que se va a asignar a la ruta /SpringMVC
    por ejemplo,

    package com.springapp.controllers;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.servlet.ModelAndView;
    
    
    @Controller
    @RequestMapping("/SpringMVC")
    public class MyController{
    
         @RequestMapping(method= RequestMethod.GET)
         public ModelAndView springMvcTest(ModelMap modelMap){
             return new ModelAndView("test");
         }
    }
    • <mvc:annotation-driven/> me ayudó. Muchas gracias!
  2. 1

    Intenta utilizar uno de los siguientes:

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/SpringMVC/*</url-pattern>
    </servlet-mapping>

    O:

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>*.form</url-pattern>
    </servlet-mapping>
    • Ok he probado la primera manera y eso me lleva a la aplicación de la página de inicio (index.jsp), pero los enlaces en esa página, no están funcionando. <a href="hello">Say Hello</a> <a href="contacts">Contact Manager</a>
  3. 0

    Tiene que asignar este url en el controlador de la siguiente manera:

     @RequestMapping("/SpringMVC")
       public ModelAndView index(HttpServletRequest req,HttpServletResponse){
    
         //ur business logic
    
       return new ModelAndView("index");  
      }
  4. 0

    web xml

     <servlet>
            <servlet-name>dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>dispatcher</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>

    y en el controlador:

    @Controller
    @RequestMapping("SpringMVC")
    public class MyController {
        Logger logger = LoggerFactory.getLogger(MyController.class);
        @Autowired
        private ContentService contentService;
    
        @RequestMapping(value = "/index", method = RequestMethod.GET)
        public String createForm(@RequestParam("user") String user, @RequestParam("requestId") String requestId, Model uiModel) {
    
     //TODO 
            return "index";
        }

    y, a continuación, su dirección sería … localhost:puerto/SpringMVC/index

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea