設置服務器的編碼可以解決,對於Tomcat,只需要修改conf/server.xml文件,添加URIEncoding="UTF-8"即可
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8088" protocol="HTTP/1.1" redirectPort="8443"/>
2,關於@RequestMapping的實現方式的小結
2.1
<a href="logout.do?method=clearS"><span>註銷當前登錄</span></a>
java代碼中的實現
@Controller("logoutController")
public class LogoutControllerImpl {
@RequestMapping(value="/logout.do", params="method=clearS", method=RequestMethod.GET)
public ModelAndView clearS(HttpServletRequest request){
// 清除緩存裏面會員的登錄信息。
request.getSession().removeAttribute("userName");
request.getSession().removeAttribute("passowrd");
System.out.println("----------登錄信息的緩存清除成功----------");
return new ModelAndView("pages/logout/logout.jsp");
}
@RequestMapping(value="/logout.do", params="method=handle")
public void handle(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("----------handle()----------");
}
}
2.2
<a href="pages/logout/clearS.do"><span>註銷當前登錄</span></a>
java代碼中的實現
@Controller("logoutController")
public class LogoutControllerImpl {
@RequestMapping(value="pages/logout/clearS.do", method=RequestMethod.GET)
public ModelAndView clearS(HttpServletRequest request){
// 清除緩存裏面會員的登錄信息。
request.getSession().removeAttribute("userName");
request.getSession().removeAttribute("passowrd");
System.out.println("----------登錄信息的緩存清除成功----------");
return new ModelAndView("logout.jsp");
}
@RequestMapping(value="/logout.do", params="method=handle")
public void handle(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("----------handle()----------");
}
}
或者
@Controller("logoutController")
@RequestMapping(value="pages/logout", method=RequestMethod.GET)
public class LogoutControllerImpl {
@RequestMapping(value="clearS", method=RequestMethod.GET)
public ModelAndView clearS(HttpServletRequest request){
// 清除緩存裏面會員的登錄信息。
request.getSession().removeAttribute("userName");
request.getSession().removeAttribute("passowrd");
System.out.println("----------登錄信息的緩存清除成功----------");
return new ModelAndView("logout.jsp");
}
@RequestMapping(value="/logout.do", params="method=handle")
public void handle(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("----------handle()----------");
}
}
代碼結構圖
3,@RequestMapping
function toLogout() {
$("#form").attr("action", "clearS.do");
$("#form").submit();
}
<form method="post" id="form">
...
<a href="javascript:void(0);" οnclick="toLogout();"><span>註銷當前登錄</span></a>
...
</form>
java代碼:
@RequestMapping(value="/clearS.do", method=RequestMethod.POST)
public ModelAndView clearS(HttpServletRequest request){
}
form表單裏面的method要和@RequestMapping裏面的method保持一致