記錄學習的點滴(Spring註解學習過程中問題總結)

1,通過@PathVariable接收數據的亂碼問題

設置服務器的編碼可以解決,對於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保持一致




發佈了37 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章