友好的Url映射问题-JavaSpring
我正在与web.xml上的错误作斗争,其中所有页面都以404的形式出现,可能有根路径,但我无法确定其设置位置等 这是我当前的web.xml友好的Url映射问题-JavaSpring,java,spring,spring-mvc,mapping,friendly-url,Java,Spring,Spring Mvc,Mapping,Friendly Url,我正在与web.xml上的错误作斗争,其中所有页面都以404的形式出现,可能有根路径,但我无法确定其设置位置等 这是我当前的web.xml <?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
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Spring3MVC</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>
/*
* User
*/
@RequestMapping(value={"/user/{id}"}, method=RequestMethod.GET)
public ModelAndView profileDisplay(
HttpServletRequest request,
HttpServletResponse response,
@RequestParam(value="id", required=false) String id
) throws UnknownHostException, MongoException {
ServiceSerlvet.appendSesssion(request);
//get search ALL users
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("_id", new ObjectId(id));
List<DBObject> searchResponse = PersonController.searchUsers(searchQuery);
//System.out.println("response from search user method: "+searchResponse);
return new ModelAndView("user", "people", searchResponse);
}
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Spring3MVC</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>
<http auto-config='true'>
<intercept-url pattern="/css/**" filters="none" />
<intercept-url pattern="/images/**" filters="none" />
<intercept-url pattern="/js/**" filters="none" />
</http>
</web-app>
Spring3MVC
index.jsp
春天
org.springframework.web.servlet.DispatcherServlet
1.
春天
/*
我的监听器控制器是这样的
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Spring3MVC</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>
/*
* User
*/
@RequestMapping(value={"/user/{id}"}, method=RequestMethod.GET)
public ModelAndView profileDisplay(
HttpServletRequest request,
HttpServletResponse response,
@RequestParam(value="id", required=false) String id
) throws UnknownHostException, MongoException {
ServiceSerlvet.appendSesssion(request);
//get search ALL users
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("_id", new ObjectId(id));
List<DBObject> searchResponse = PersonController.searchUsers(searchQuery);
//System.out.println("response from search user method: "+searchResponse);
return new ModelAndView("user", "people", searchResponse);
}
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Spring3MVC</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>
<http auto-config='true'>
<intercept-url pattern="/css/**" filters="none" />
<intercept-url pattern="/images/**" filters="none" />
<intercept-url pattern="/js/**" filters="none" />
</http>
</web-app>
/*
*使用者
*/
@RequestMapping(值={/user/{id}},方法=RequestMethod.GET)
公共模型和视图配置文件显示(
HttpServletRequest请求,
HttpServletResponse,
@RequestParam(value=“id”,required=false)字符串id
)抛出UnknownHostException,MongoException{
服务附件(请求);
//获取搜索所有用户
BasicDBObject searchQuery=新建BasicDBObject();
put(“_id”,新ObjectId(id));
List searchResponse=PersonController.searchUsers(searchQuery);
//System.out.println(“来自搜索用户方法的响应:“+searchResponse”);
返回新模型和视图(“用户”、“人员”、搜索响应);
}
这是正在出现的当前错误。为什么它不是映射,我该如何着手解决这个问题
INFO: Server startup in 5904 ms
01-Nov-2012 19:40:21 org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/springApp21] in DispatcherServlet with name 'spring'
01-Nov-2012 19:40:22 org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleNoSuchRequestHandlingMethod
WARNING: No matching handler method found for servlet request: path '/user', method 'GET', parameters map['id' -> array<String>['4fa6eddc0234964172522248']]
01-Nov-2012 19:40:24 org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleNoSuchRequestHandlingMethod
WARNING: No matching handler method found for servlet request: path '/user', method 'GET', parameters map['id' -> array<String>['4fa6eddc0234964172522248']]
INFO:5904毫秒后服务器启动
2012年11月1日19:40:21 org.springframework.web.servlet.DispatcherServlet noHandlerFound
警告:在名为“spring”的DispatcherServlet中找不到URI为[/springApp21]的HTTP请求的映射
2012年11月1日19:40:22 org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleNoSuchRequestHandlingMethod
警告:未找到servlet请求的匹配处理程序方法:路径“/user”、方法“GET”、参数映射['id'->数组['4fa6eddc0234964172522248']]
2012年11月1日19:40:24 org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleNoSuchRequestHandlingMethod
警告:未找到servlet请求的匹配处理程序方法:路径“/user”、方法“GET”、参数映射['id'->数组['4fa6eddc0234964172522248']]
我已经回答了你的一个问题,然后马上就回答了。我现在可以访问我的一个spring应用程序。这里有一个更好的配置
请注意对web.xml的更改,很抱歉,映射到/*会导致调度程序解析您的所有请求。从某种意义上说,创建循环时,初始映射将由调度程序转发给控制器,然后控制器将使用视图解析器映射请求应转发的位置。映射到/*会导致dispatcher处理视图解析器映射
更改为/会导致调度器处理所有未映射的URL,因此您的初始映射由调度器处理,它会将其发送到控制器,并且viewresolver创建的映射将映射到.jsp,从而导致调度器无法拾取该映射。我道歉
Web.xml
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Spring3MVC</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>
Spring3MVC
index.jsp
春天
org.springframework.web.servlet.DispatcherServlet
1.
春天
/
spring config.xml(必须更改组件扫描)
控制器
@RequestMapping(value={"/user/{id}"}, method=RequestMethod.GET)
public ModelAndView profileDisplay(
HttpServletRequest request,
HttpServletResponse response,
@RequestParam(value="id", required=false) String id
) throws UnknownHostException, MongoException {
ServiceSerlvet.appendSesssion(request);
//get search ALL users
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("_id", new ObjectId(id));
List<DBObject> searchResponse = PersonController.searchUsers(searchQuery);
//System.out.println("response from search user method: "+searchResponse);
//This should display "WEB-INF/views/user.jsp" you may need to adjust.
return new ModelAndView("user", "people", searchResponse);
}
@RequestMapping(value={/user/{id}},method=RequestMethod.GET)
公共模型和视图配置文件显示(
HttpServletRequest请求,
HttpServletResponse,
@RequestParam(value=“id”,required=false)字符串id
)抛出UnknownHostException,MongoException{
服务附件(请求);
//获取搜索所有用户
BasicDBObject searchQuery=新建BasicDBObject();
put(“_id”,新ObjectId(id));
List searchResponse=PersonController.searchUsers(searchQuery);
//System.out.println(“来自搜索用户方法的响应:“+searchResponse”);
//这将显示“WEB-INF/views/user.jsp”,您可能需要进行调整。
返回新模型和视图(“用户”、“人员”、搜索响应);
}
感谢Kbm回到我身边。我已经修改了web.xml,通用映射已经解决。我遇到了你提到的css、js和图像文件也被传递的问题
我试图添加截取url,但有些东西仍然无法工作。http在web.xml中以红色突出显示。当我在eclipse中将鼠标悬停在它上面时,它表示
cvc复杂类型.2.4.a:发现以元素“http”开头的无效内容。“{”http://
java.sun.com/xml/ns/javaee“:description,”http://java.sun.com/xml/ns/javaee:显示名称,“http://
java.sun.com/xml/ns/javaee“:图标,”http://java.sun.com/xml/ns/javaee“:可分发”,http://
java.sun.com/xml/ns/javaee“:context param,”http://java.sun.com/xml/ns/javaee“:筛选器,”http://
java.sun.com/xml/ns/javaee“:过滤器映射,”http://java.sun.com/xml/ns/javaee“:侦听器,”http://
java.sun.com/xml/ns/javaee“:servlet,”http://java.sun.com/xml/ns/javaee“:servlet映射,”http://
java.sun.com/xml/ns/javaee“:会话配置,”http://java.sun.com/xml/ns/javaee“:mime映射,
"http://java.sun.com/xml/ns/javaee:欢迎使用的文件列表http://java.sun.com/xml/ns/javaee“:错误-
第页,”http://java.sun.com/xml/ns/javaee“:jsp config,”http://java.sun.com/xml/ns/javaee“:安全-
约束,”http://java.sun.com/xml/ns/javaee:登录配置http://java.sun.com/xml/ns/
javaee“:安全角色,”http://java.sun.com/xml/ns/javaee:环境条目http://java.sun.com/xml/ns/
javaee“:ejb ref,”http://java.sun.com/xml/ns/javaee:ejb本地引用http://java.sun.com/xml/ns/
javaee“:服务引用,”http://java.sun.com/xml/ns/javaee“:资源引用,”http://java.sun.com/xml/ns/
javaee“:资源环境参考,”http://java.sun.com/xml/ns/javaee“:消息目的地引用,”http://
java.sun.com/xml/ns/javaee“:持久性上下文引用,”http://java.sun.co