Java Spring restful配置错误
为什么找不到处理程序方法 我在使用SpringRESTful时出现了404错误,我已经尝试了大多数答案,但由于某些原因,没有任何东西适合我 以下是我的配置: 我的web.xml配置Java Spring restful配置错误,java,spring-mvc,configuration,restful-url,Java,Spring Mvc,Configuration,Restful Url,为什么找不到处理程序方法 我在使用SpringRESTful时出现了404错误,我已经尝试了大多数答案,但由于某些原因,没有任何东西适合我 以下是我的配置: 我的web.xml配置 <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/dispatcherServlet.xml
</param-value>
</init-param>
<init-param>
<param-name>javaEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<mvc:resources mapping="/img/**" location="/img/*" />
<mvc:resources mapping="/js/**" location="/js/*" />
<mvc:resources mapping="/ajax/**" location="/ajax/*" />
<context:annotation-config></context:annotation-config>
<context:component-scan base-package="com.crscube.etmf.*"
use-default-filters="false">
</context:component-scan>
<!-- <mvc:annotation-driven /> -->
<!-- Spring MVC @Controller 매핑 -->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<mvc:default-servlet-handler />
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
调度员
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/config/dispatcherServlet.xml
Java编码
UTF-8
1.
调度员
/
及
我的dispatcher-servlet.xml配置
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/dispatcherServlet.xml
</param-value>
</init-param>
<init-param>
<param-name>javaEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<mvc:resources mapping="/img/**" location="/img/*" />
<mvc:resources mapping="/js/**" location="/js/*" />
<mvc:resources mapping="/ajax/**" location="/ajax/*" />
<context:annotation-config></context:annotation-config>
<context:component-scan base-package="com.crscube.etmf.*"
use-default-filters="false">
</context:component-scan>
<!-- <mvc:annotation-driven /> -->
<!-- Spring MVC @Controller 매핑 -->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<mvc:default-servlet-handler />
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
和我的控制器源代码
@Controller
public class UserController {
protected final Logger logger = Logger.getLogger(getClass());
@Autowired
UserService userService = new UserServiceImpl();
@ResponseBody
@RequestMapping(value="/users", method=RequestMethod.GET)
public List<UserModel> getUser() throws Exception{
List<UserModel> listOfUser = userService.getUserList();
return listOfUser;
}
@控制器
公共类用户控制器{
受保护的最终记录器=Logger.getLogger(getClass());
@自动连线
UserService UserService=new userserviceinpl();
@应答器
@RequestMapping(value=“/users”,method=RequestMethod.GET)
public List getUser()引发异常{
List listOfUser=userService.getUserList();
返回列表用户;
}
问题是请求只会给我:
调试({http-bio-8080-exec-2}DispatcherServlet.java[doService]:819)[2017-02-07 19:36:08466]-名为“dispatcher”的DispatcherServlet正在处理[/etmf/users]的GET请求
调试({http-bio-8080-exec-2}AbstractHandlerMethodMapping.java[getHandlerInternal]:213)[2017-02-07 19:36:08487]-查找路径/用户的处理程序方法
调试({http-bio-8080-exec-2}AbstractHandlerMethodMapping.java[getHandlerInternal]:223)[2017-02-07 19:36:08509]-未找到[/users]的处理程序方法
调试({http-bio-8080-exec-2}AbstractUrlHandlerMapping.java[lookupHandler]:169)[2017-02-07 19:36:08541]-请求[/user]的匹配模式为[/**]
调试({http-bio-8080-exec-2}AbstractUrlHandlerMapping.java[lookupHandler]:193)[2017-02-07 19:36:08564]-请求[/users]的URI模板变量为{}
调试({http-bio-8080-exec-2}AbstractUrlHandlerMapping.java[getHandlerInternal]:124)[2017-02-07 19:36:08585]-使用处理程序[org.springframework.web.servlet.resource]将[/users]映射到HandlerExecutionChain。DefaultServletHttpRequestHandler@15a63e4a]和1个拦截器
调试({http-bio-8080-exec-2}DispatcherServlet.java[doDispatch]:902)[2017-02-07 19:36:08609]-[/etmf/users]的上次修改值为:-1
调试({http-bio-8080-exec-2}DispatcherServlet.java[doDispatch]:957)[2017-02-07 19:36:08631]-返回给名为“dispatcher”的DispatcherServlet的Null ModelAndView:假设HandlerAdapter完成了请求处理
调试({http-bio-8080-exec-2}FrameworkServlet.java[processRequest]:913)[2017-02-07 19:36:08650]-已成功完成请求
我怎样才能解决这个问题
谢谢。我认为您的dispatcher-servlet.xml配置需要两个更正。 1.base package=“com.crscube.etmf” 2.映射Jackson2HttpMessageConverter 复制dispatcher-servlet.xml文件中代码下方的粘贴,然后重试
您的@RequestMapping
值为“/users”,但您尝试打开/etmf/users
请告诉我以下答案是否适合您。。