国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP實現數據傳遞(web基礎學習筆記三)

2019-11-14 22:37:32
字體:
來源:轉載
供稿:網友
jsp實現數據傳遞(web基礎學習筆記三)get和post的區別:

JSP內置對象:

1)out內置對象:out內置對象是在JSP開發過程中使用得最為頻繁的對象,然而其使用起來也是最簡單的。out對象用于向客戶端瀏覽器輸出數 據,out對象常用的方法是:PRint()或者println()方法,這兩個方法用于在頁面中打印出字符串信息。

2)request內置對象:request對象,JSP中的request內置對象對應了Servlet中的HttpServletRequest類的對象,是最常用的JSP內置對象之一,這個內置 對象當中封裝了有關瀏覽器請求的信息,比方說,我們在頁面上填寫的用戶名、密碼等信息就封裝在request當中。request對象的主要作 用就是用來處理客戶端請求。

3)response內置對象:response對象和request對象相對應,它用于響應客戶端的請求并向客戶端輸出信息。 JSP中的response內置對象對應了Servlet中的 HttpServletResponse類的對象,這個對象封裝了JSP產生的響應,然后被發送到客戶端以響應客戶的請求。

4)application內置對象:application對應了Servlet中的ServletContext類的對象。它在每個Web項目中只有一個實例,常被用來實現不同用戶之間的數據共享。因 為不同的用戶在訪問application的時候,都是訪問的同一個對象,這樣的話,一個用戶可以把需要共享的數據放到application對象中,然后 其他用戶就可以在這個對象中獲得想要的共享數據了。

5)session內置對象:session是客戶端瀏覽器和web服務器之間的會話,這個對象和request內置對象一樣,都是我們平時開發JSP過程中最常用的內置對象之一,它 最常見的作用就是進行訪問控制,這個session對象是Servlet中HttpSession類的實例。

6)pageContext內置對象:pageContext對象是javax.servlet.jsp包中PageContext類的對象,他提供了對JSP頁面中所有的對象及命名空間的訪問,使用這個對象 可以訪問application對象,session對象,exception對象等等。也就是說這個對象可以訪問除了本身之外的8個JSp內置對象。還可以訪問 綁定在page、request、session、application這些對象上的Java對象,它相當于JSP程序中所有對象功能的集成者。

7)page內置對象:page對象是java.lang.Object類的示例,他指的是一個JSP頁面在翻譯階段翻譯成Servlet之后,這個Servlet實現類的示例,也就是說它是JSP頁面 本身,因此,此對象的作用域范圍僅僅限于當前JSP頁面本身

8)config內置對象:config對象對應Servlet中的ServletConfig接口,它用來表示Servelt的配置。當Servlet容器初始化一個Servlet對象的時候,Servlet容器會把某 些初始化信息通過這個對象傳遞給Servlet。

9)exception內置對象:exception對象是java.lang.Throwable類的一個實例。他指的是運行時的異常,也就是被調用的錯誤頁面的結果,只有在錯誤頁面(在頁面 指令里設置了isErrorPage=true的頁面)才可以使用。

Request:

//JSP接收客戶端注冊信息并輸出<%  String username = request.getParameter("username");  String passWord = request.getParameter("password");  String con_password= request.getParameter("con_password");  String email = request.getParameter("email");%>     用戶名:<%=username  %><br/>       密碼:<%=password  %><br/>確認密碼:<%=con_password  %><br/>電子郵箱:<%=email  %>

請求對象方法:

方法名稱方法說明
getCookies()獲得客戶端發送的Cookie
getSession()返回和客戶端關聯的Session,如果沒有給客戶端分配Session則創建一個Session并返回
getSession(Boolean create)和上面方法類似,不同的是如果沒有給客戶端分配Session則根據參數判斷是否創建一個新的Session并返回
getParameter(String name)獲得請求中名為name的參數的值,如果請求中沒有這個參數,返回null
getParameterValues(String name)返回請求中名為name的參數值,這個值往往是checkbox控件提交的,因此返回的是一個String數組
getMethod()返回這個請求使用的HTTP方法(例如:GET、POST、PUT)
getHeader(String name)返回一個請求頭域的值,這個值是一個字符串
getIntHeader(String name)返回一個請求頭域的值,這個值被轉換成一個整數
getPathInfo()返回在這個請求的URL的Servlet路徑之后的請求URL額外的路徑信息

支持中文的編碼格式:

GB2312,GBK,UTF-8

請求出現亂碼:

post:設置請求和響應的的編碼方式來解決籌碼:

請求:

request.setCharcterEncoding("utf-8");

響應:

response.setCharcterEncoding("utf-8");

或者在jsp頁面聲明部分:

<%@ page language="java" contentType="text/html; charset=UTF-8"

 //請求設置編碼  request.setCharacterEncoding("UTF-8");//響應設置編碼  response.setCharacterEncoding("UTF-8");//響應在聲明部分設置可以不寫上面的<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

get:

//接收用戶名  String un = request.getParameter("username");//get方式解決亂碼   String username = new String(un.getBytes("iso-8859-1"),"UTF-8");

在Tomcat中conf/server.xml文件

    <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

頁面跳轉:

沒有參數的跳轉 和有參數的跳轉:

if(username.equals("admin")){       //不允許注冊       //直接跳轉       //response.sendRedirect("userCreate.jsp");       //帶返回信息的跳轉,設置信息       request.setAttribute("mess", "注冊失敗,請更換用戶名");       request.getRequestDispatcher("userCreate.jsp").forward(request, response);     }   else{       //注冊成功       //直接跳轉      // response.sendRedirect("index.jsp");     //帶返回信息的跳轉,設置信息       request.setAttribute("mess", "注冊成功");       request.getRequestDispatcher("index.jsp").forward(request, response);   }

response.sendRedirect和 request.getRequestDispatcher("index.jsp").forward(request, response)區別:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴城市| 宁河县| 潼南县| 建湖县| 长治县| 赣州市| 平顶山市| 永丰县| 黔南| 漳州市| 和田县| 泰安市| 定边县| 花莲县| 孝感市| 屏东市| 蒙自县| 琼海市| 茶陵县| 宁都县| 榆中县| 平和县| 三原县| 密山市| 通海县| 鄂尔多斯市| 楚雄市| 类乌齐县| 五莲县| 南川市| 沁阳市| 沐川县| 昌吉市| 常德市| 达拉特旗| 嘉定区| 通城县| 出国| 眉山市| 葫芦岛市| 洛阳市|