2016-11-14 3 views
0

Так что я просто получаю запущен при JSP и весной, и в настоящее время у меня есть следующие 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> 

для моего корневого URL «/». Теперь можно создать второй сервлет, например «пользователи», который служит для всех запросов к «/ users /», поэтому, например, «/ users/login» будет отправляться на сервлет пользователей, но «/ aboutus» будет по-прежнему перейти к сервлету по умолчанию? Поэтому, когда я запрашиваю что-то у «/ users /», мне нужно только @RequestMapping("/login") вместо @RequestMapping("https://stackoverflow.com/users/login") в моих контроллерах. Является ли это даже хорошим подходом к разделению моего приложения?

+0

Почему вы хотели бы сделать это на первом месте? Вы используете весну, поэтому создавайте свои контроллеры для каждого ресурса и добавляйте такие URL-адреса определенного ресурса, которые затем регистрируются, чтобы вы могли вызвать этот метод обработчика. – ScanQR

+0

Как добавить URL-адрес ресурса? – Noshii

ответ

1

Вы должны добавить контроллер для каждого ресурса, с которым работаете.

В вашем случае «пользователь» является ресурсом/объект, который сервер будет запрос процесса, так что вы должны добавить контроллер следующим,

@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 достаточно для вашего всего требования, так как ваш запрос будет обработан против этого сопоставления.

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