Java Web中前臺與後臺傳遞引數小結
一、從前臺向後臺傳遞引數
1.通過表單傳遞引數
①在前端JSP頁面中設定form表單,將需要傳遞的引數在input輸入框中輸入,用input的name屬性指定輸入欄位的名稱,後臺通過這個變數名來區別獲取值。
<form action="/login" method="post" >
使用者名稱: <input name="username" type="text" >
<br/>
密 碼: <input name="password" type="password" >
<br/>
<button type="submit" >登入</button>
</form>
②點選登入按鈕後username和password會放到HttpServletRequest中
③在後臺中我們通過request物件的getParameter()方法來獲取放到HttpServletRequest的值,括號裡面為變數名(String型別)
String username = request.getParameter("username");
String password = request.getParameter("password");
另外還可以通過Struts2框架中的Action物件來獲取引數,建立一個類繼承於ActionSupport,並構建get和set在後臺獲得其值
public class UserAction extends ActionSupport{
private String username;
private String password;
public void setUsername(){
this.username=username;
}
public String getUsername(){
return username;
}
public void setPassword(){
this.password=password;
}
public String getPassword(){
return password;
}
}
2.通過超連結傳遞引數
①前臺通過超連結跳轉時,將引數加在url的後面,引數與url之間用?佔位符隔開,多個引數之間用&連線(注意請求方法是get)
<a href="/login?action=skip">您好,請登入</a>
<a href="/login?id1=111&id2=222">12</a>
②在後臺中通過HttpServletRequest 獲得超連結後面引數所對應的值
String s = request.getParameter("action");
3、通過jquery-ajax傳遞引數
二、從後臺向前臺傳遞引數
1、通過JSP的內嵌物件request傳遞引數
①在後臺使用request物件的setAttribute()方法將資料儲存到request範圍的變數中。
request.setAttribute("name","YQ");
②在前端使用request物件的getAttribute()方法讀取request範圍的變數。
String string = request.getAttribute("name").toString();
2、通過JSP的內嵌物件session傳遞引數
①在後臺使用session物件的setAtrribute()方法將資訊儲存在session範圍內。
HttpSession session = request.getSession();
session.setAttribute("name","YQ");
②在前端使用session物件的getAttribute()方法獲取儲存在session範圍內的資訊。
String string = (String) session.getAttribute("name");
3、通過JSP的內嵌物件application傳遞引數
①用法與request和session相同
ServletContext application = this.getServletContext();
application.setAttribute("name","YQ");
String string = (String) application.getAttribute("name");
②注意:
request、session以及application這3個物件的範圍是逐個增加的:request只在一個請求的範圍內;session是在瀏覽器視窗的範圍內;application則是在整個伺服器的執行過程中。
4、通過JSON傳遞引數