2013-07-12 2 views
3

Я изучаю весну и застрял в одной проблеме. Я много пробовал, а также google'd allot. Я знаю, что многие из них задают этот вопрос, и у них проблема решена, я тоже их исправляю, но я все равно получаю ту же ошибку. Поэтому я размещаю свои файлы здесь, пожалуйста, помогите мне в этом. Я слишком стараюсь, но не получаю выхода.javax.servlet.ServletException: нет адаптера для обработчика

Моя web.xml выглядит следующим образом:

<?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"> 
<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> 

и моя весна-servlet.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:mvc="http://www.springframework.org/schema/mvc" 
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd 
http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context.xsd" 
xmlns:context="http://www.springframew ork.org/schema/context"> 

    <mvc:resources location="/images/" mapping="/images/**"/> 
    <mvc:resources location="/jsp/js/" mapping="/jsp/js/**"/> 
    <context:component-scan base-package="org.vinay.spring_mvc.mycontroller"></context:component-scan> 
    <context:annotation-config/> 
    <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> 
    <property name="prefix" value="/jsp/" /> 
    <property name="suffix" value=".jsp" /> 
    </bean> 
    <bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
    <props> 
    <prop key="/employee">myController</prop> 
    </props> 
    </property> 
    </bean> 
    <bean id="myController" class="org.vinay.spring_mvc.mycontroller.MyController"></bean> 
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean> 
    </beans> 

и мой контроллер выглядит следующим образом:

package org.vinay.spring_mvc.mycontroller; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.servlet.ModelAndView; 



@Controller 
@RequestMapping(value = "/employee", method = RequestMethod.GET) 
public class MyController { 


public ModelAndView helloWorld() 
{ 
    System.out.println("Hello World"); 
    return new ModelAndView("/hello"); 
    //return new ModelAndView("helloWorld.jsp"); 
} 
} 

а JSP, с которого запрос отправки Iam является приветственным файлом web.xml. т.е. index.jsp. это выглядит следующим образом:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()path+"/"; 
%> 
    <%System.err.print("Path : "+request.getContextPath()); %> 

<html> 
<head> 
<title>Solution Center</title> 
    <h5>Welcome To Solution Center</h5> 
</head> 
<body> 
<a href="employee">hello</a> 
</body> 
</html> 

Может кто-нибудь, пожалуйста, помогите мне, почему я получаю следующие ошибки:

javax.servlet.ServletException: No adapter for handler [[email protected]]: The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler 
    org.springframework.web.servlet.DispatcherServlet.getHandlerAdapter (DispatcherServlet.java:1128) 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:903) 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:920) 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:816) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:690) 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:801) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 

Я попытался с помощью аннотаций на основе адаптера обработчика также, но получил ту же ошибку. любая помощь в этом будет полезна.

Я только выяснил, что получаю это из-за включения тегов mvc: resources. Я комментирую их, мой проект отлично работает. Любая помощь по ним будет очень полезной. Я уже пробовал много других способов, пожалуйста, предоставьте мне шаг за шагом. Я не могу решить эту проблему за последние 4 часа.

ответ

8

Удалить следующий из вашей весенней servlet.xml

<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <props> 
      <prop key="/employee">myController</prop> 
     </props> 
    </property> 
</bean> 
<bean id="myController" class="org.vinay.spring_mvc.mycontroller.MyController"></bean> 
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean> 

Добавить <mvc:annotation-driven /> который настроит контекст приложения автоматически для использования с аннотациями контроллеров.

См. http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-config-enable для получения дополнительной информации.

+0

Привет, Спасибо, он работал для меня, я удалил UrlMapping и адаптеры из моего конфигурационного файла Spring и добавил . Я также заменил requestMapping сверху и разместил его чуть выше функции HelloWorld и начал работать. –

Смежные вопросы

 Смежные вопросы