0
我想使用彈簧安全調度servlet映射
所有的配置
http://localhost:9090/app/login2.xhtml
請求之前,工作如我所料。
我添加了一個控制器:
@Controller
@RequestMapping("/auth")
public class LoginController {
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String getLoginPage(@RequestParam(value="error", required=false) boolean error,
ModelMap model) {
return "login2.xhtnml";
}
}
我已經在web.xml:
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:META-INF/spring-servlet.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
利用這種配置,當我打電話
http://localhost:9090/app/login2.xhtml
錯誤出現
WARN org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/app/login2.xhtml] in DispatcherServlet with name 'spring'
但是當我改變配置映射到
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
http://localhost:9090/app/login2.xhtml
作品如我所料
但
http://localhost:9090/app/auth/login
沒有給出錯誤,沒有例外,沒有重定向,我覺得調度servlet可以不知道這個請求。
http://localhost:9090/app/app/auth/login
作品與
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
我的理解:
調度的servlet使用"http://localhost:9090/"
作爲基本搜索login2.xhtml 和使用"http://localhost:9090/app"
爲/auth/login
URL。
我不知道在哪裏設置這個,爲什麼它們是不同的。
感謝您迴應,但我沒有這個項目了,所以即使我有achived有項目運行如我所料,我不能告訴你答案我不記得:) – merveotesi