簡體   English   中英

特定領域的多個Servlet

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM