[英]Multiple Servlets for specific domain
所以我刚开始使用JSP和Spring,目前我有以下web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0" 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">
<display-name>JSP_HelloWorld</display-name>
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
用于我的根网址“ /”。 现在是否可以创建第二个servlet,例如“ users”,它服务于对“ / users /”的所有请求,因此例如“ / users / login”将转到用户servlet,而“ / aboutus”将还是去默认的servlet? 因此,当我在“ / users /”处请求内容时,在控制器中只需要@RequestMapping("/login")
而不是@RequestMapping("/users/login")
。 这甚至是拆分我的应用程序的好方法吗?
您应该为正在使用的每个资源添加Controller。
在您的情况下,“用户”是服务器正在处理请求的资源/实体,因此您应按以下方式添加Controller,
@Controller("/users")
public UserContoller {
//handler methods
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(ModelMap model) {
return "success";
}
}
对于其他通用目的,例如登录等,您可以让另一个控制器具有不同的URL映射。
@Controller
public GeneralContoller {
//handler methods
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(ModelMap model) {
return "success";
}
}
您的web.xml servlet映射足以满足您的所有需求,因为将根据该映射处理您的请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.