1. 程式人生 > >Java Web中前臺與後臺傳遞引數小結

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傳遞引數