【JSP筆記】第三章 JSP內置對象【上】

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

1.內置對象簡介:JSP內置對象是WEB容器創建的一組對象,不使用new關鍵就可以是用的對象。

<%

out.println(123);

%>

?

2.九大內置對象:

?

  • out
  • request
  • response
  • session
  • application
  • ?
  • Page?
  • pageContext?
  • exception?
  • config?

3.WEB程序請求響應模式

  • request: ?用戶發送請求。
  • response: 服務器給用戶響應。

?

4.out對象:是JspWriter類的實力,是向客戶端輸出內容常用的對象。

常用方法如下:

  1. void println() 向客戶端打印字符串。
  2. void clear() 清除緩沖區內容,若在flush之后調用會拋出異常。
  3. void clearBuffer() 清除緩沖區內容,若在flush之后用不會拋出異常。
  4. void flush() 講緩沖區內容輸出到客戶端。
  5. int getBufferSize()返回緩沖區字節數的大小。不設緩沖區時為0.
  6. int getRemaining 返回緩沖區剩余可用。
  7. boolean isAutoFlush() 返回緩沖區滿時,是自動清空還是拋出異常。
  8. void close() 關閉輸出流。

?

5.表單兩種提交方式

get:

  • 一明文方式通過URL提交數據,數據在URL中可以看到。
  • 提交的數據不超過2KB。
  • 安全性低但效率比post方式高。
  • 適合提交數據量不大,安全行不高的數據,例:搜索,查詢等功能。

?post:

  • 講用戶信息封裝在HTML HEADER內。
  • 適合提交數據量大,安全性高的用戶信息。例:注冊,修改,上傳等功能。

?

6.request對象

  • 客戶端的請求被封裝在request對象中,通過它了解客戶的需求,然后做出響應。
  • 是HttpServletRequest類的實力。
  • request對象有請求域,即完成客戶端的請求之前,該對象一直有效。

常用方法:

String getParameter(String name)? 返回name指定參數的參數值。

String[] getParameterValues(String name) ?返回包含name的所有值的數組。

void setAttribute(String,Object) 存儲此請求中的屬性。

object getAttribute(String name) 返回指定屬性的屬性值

String getContentType() 得到請求體的MIME類型。

String getProtocol() 返回請求用的協議類型及版本號。

String getServerName() 返回接受請求的服務器主機名。

?

int getServerPort():返回服務器接受此請求用的端口號。

String getCharacterEncoding():返回字符編碼方式。

int getContentLength():返回請求體的長度(以字節數)。

String getRemoteAddr():返回發送此請求的客戶端IP地址。

String getRealPath(String path):返回一虛擬路徑的真實路徑。

Stirng request.getContextPath():返回上下文路徑。

?

reg.jsp

?

[html]?view plain?copy

?print?在CODE上查看代碼片派生到我的代碼片

  1. <body>??
  2. ????
  3. ????<h2>用戶注冊</h2><br>??
  4. ????<form?name="2"?action="request.jsp"?method="post">??
  5. ????????<table>??
  6. ????????????<tr>??
  7. ????????????????<td>用戶名</td>??
  8. ????????????????<td?><input?type="text"?name="username"/></td>??
  9. ????????????</tr>??
  10. ??????????????
  11. ????????????<tr>??
  12. ????????????????<td>密碼</td>??
  13. ????????????????<td?><input?type="password"?name="password"/></td>??
  14. ????????????</tr>??
  15. ??????????????
  16. ????????????<tr>??
  17. ????????????????<td>愛好</td>??
  18. ????????????????<td>??
  19. ????????????????<input?type="checkbox"?name="fa"?value="read">讀書??
  20. ????????????????<input?type="checkbox"?name="fa"?value="music">音樂??
  21. ????????????????<input?type="checkbox"?name="fa"?value="movie">電影??
  22. ????????????????<input?type="checkbox"?name="fa"?value="internet">上網??
  23. ????????????????</td>??
  24. ????????????</tr>??
  25. ??????????????
  26. ????????????<tr>??
  27. ????????????????<td?colspan?="2"><input?type="submit"?value="提交"/></td>??
  28. ????????????</tr>??
  29. ????????</table>??
  30. ????</form>??
  31. ????<a?href=<span?style="color:#cc0000;">"request.jsp?username=中文"</span>>中文傳參鏈接</a>??
  32. ??</body>??


?

?

request.jsp

?

[html]?view plain?copy

?print?在CODE上查看代碼片派生到我的代碼片

  1. <body>??
  2. ????
  3. ????注冊成功.?<br>??
  4. ????<%??
  5. ????request.setCharacterEncoding("utf-8");??
  6. ????%>??
  7. ????用戶名:<%=?request.getParameter("username")?%><br>??
  8. ????愛好:<%??
  9. ???????????if(request.getParameterValues("fa")!=null){??
  10. ?????????String[]?ff=?request.getParameterValues("fa")?;??
  11. ????????????for(int?i=0;i<ff.length;i++)??
  12. ????????????{??
  13. ????????????out.println(ff[i]+"?"+"?"+"?");??
  14. ????????????}??
  15. ????????}?????
  16. ????%>??
  17. ??</body>??

?

7.中文亂碼相關:

http://blog.csdn.net/qq276878300/article/details/52423478

?

8.response對象:

?

  • 包含響應客戶請求的有關信息,
  • HttpServletResponse類的實例。
  • 具有頁面作用域,即訪問一個頁面時,該頁面內的response對象只能對這次訪問有效,其他頁面的response對象對當前頁面無效。

?

常用方法如下:

?

  • String getCharacterEncoding():返回響應的是何種字符編碼。
  • void setContentType(String type):設置響應的MIME類型。
  • PrintWriter getWriter():返回可以想客戶端輸出字符的一個對象(注意比較PrintWriter與內置out對象的區別)
  • sendRedirect(java.lang.String location):重新定向客戶端請求。

?

9.請求轉發-請求重定向:

請求重定向:

?

  • 客戶端行為。
  • response.sendRedirect()
  • 等同于兩次請求,前一次請求對象不會保存。
  • 地址欄的URL地址會改變。

?

請求轉發:

?

  • 服務器行為。
  • request.getRequestDispatcher().forward(req,resp);
  • 是一次請求,轉發后請求對象會保存,
  • 地址欄的URL地址不會改變。

?

10.

轉載于:https://my.oschina.net/u/2606138/blog/751213

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397629.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397629.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397629.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自定義標簽 —— 實現時間轉換和輸出功能

第一步&#xff1a;導入jar包 jsp-api-2.2-sources.jar <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api --> <dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.…

laravel5 centos6.4下的配置體驗

1. 安裝lmnp環境: nginx version: nginx/1.6.0、 php 5.5.7 、 centos6.42. laravel-v5.1.4 一鍵安裝包&#xff0c;在使用composer 安裝時出現server 500的錯誤&#xff0c;改用了一鍵安裝包注意&#xff1a;1. 防火墻的端口的&#xff0c; 2. laravel目錄的用戶權限&#xff…

java 并發編程多線程_多線程(一)java并發編程基礎知識

線程的應用如何應用多線程在 Java 中&#xff0c;有多種方式來實現多線程。繼承 Thread 類、實現 Runnable 接口、使用 ExecutorService、Callable、Future 實現帶返回結果的多線程。繼承 Thread 類創建線程Thread 類本質上是實現了 Runnable 接口的一個實例&#xff0c;代表一…

Docker監控方案(TIG)的研究與實踐之Influxdb

2019獨角獸企業重金招聘Python工程師標準>>> 前言&#xff1a; Influxdb也是有influxdata公司(www.influxdata.com )開發的用于數據存儲的時間序列數據庫.可用于數據的時間排列。在整個TIG(Telegrafinfluxdbgrafana)方案中&#xff0c;influxdb可算作一個中間件&…

iOS-生成隨機數

有時候我們需要在程序中生成隨機數&#xff0c;但是在Objective-c中并沒有提供相應的函數&#xff0c;好在C中提供了rand()、srand()、random()、arc4random()幾個函數。那么怎么使用呢&#xff1f;下面將簡單介紹&#xff1a; 1、 獲取一個隨機整數范圍在&#xff1a;[0,100)…

劍指offer 面試32題

面試32題&#xff1a; 題目&#xff1a;從上到下打印二叉樹 題&#xff1a;不分行從上到下打印二叉樹 解題代碼&#xff1a; # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val x # self.left None # self.right …

crc算法java_c語言的crc16算法轉java

一、c語言uint16_t crc_chk(uint8_t *data, uint8_t len){uint8_t i;uint16_t reg_crc 0xffff;while(len--) {reg_crc ^ *data;for(i 0; i < 8; i) {if(reg_crc & 0x01) {reg_crc (reg_crc >> 1) ^ 0xA001;} else {reg_crc reg_crc >> 1;}}}return reg_…

Java第三階段學習(三、字符流、轉換流)

一、字節流讀取中文時出現的問題&#xff1a; 文件中有中文時&#xff0c;用字節流讀取會出現亂碼的問題&#xff0c;因為一個中文為兩個字節。 二、字符編碼表 編碼表&#xff1a;其實就是生活中字符和計算機二進制的對應關系表。 1、ascii&#xff1a; 一個字節中的7位就可以…

windows下OpenSSL加密證書安裝步驟與使用方法

OpenSSL加密證書一般用于簽名認證&#xff0c;含私鑰和公鑰。在Linux系統中&#xff0c;OpenSSL一般是已經安裝好了&#xff0c;可以直接使用。而在Windows系統中&#xff0c;是需要安裝使用的。 最近在使用支付平臺時&#xff0c;用到了OpenSSL&#xff0c;鑒于此分享給大家&a…

linux運維(五)

頭有點大&#xff0c;也浪費了一些時間。明天過后緩沖一下1、存儲過程與觸發器的區別&#xff1f;答&#xff1a;&#xff08;1&#xff09;觸發器主要是通過事件執行觸發而被執行的&#xff0c;而存儲過程可以通過存儲過程名稱而直接調用。&#xff08;call/execute&#xff0…

django web 自定義通用權限控制

需求&#xff1a;web系統有包含以下5個url&#xff0c;分別對于不同資源&#xff1b; 1、stu/add_stu/ 2、stu/upload_homework/ 3、stu/query_homework/ 4、stu/add_record/ ----------------------------------------------------------------------------------------------…

java源碼影視源碼搭建教程_新版千月影視app源碼+搭建教程

使用notepad批量替換URL【http://】為你的域名(被替換的域名訪問有成品不能發布 需要修改的到前臺confing里面查詢)&#xff0c;替換名稱【鯨鷹影視】為你的應用名稱&#xff1b;服務端&#xff1a;1.將替換好的后端源碼打包上傳至站點根目錄后解壓&#xff1b;2.配置網站偽靜態…

git學習相關的博客地址

Git分支管理策略&#xff1a; http://www.ruanyifeng.com/blog/2012/07/git.html Git 使用規范流程&#xff1a; http://www.ruanyifeng.com/blog/2015/08/git-use-process.html 基于git的源代碼管理模型——git flow&#xff1a; http://www.ituring.com.cn/article/56870 Git…

Django框架基礎學習

Django安裝python下載地址 http://www.python.org/download/releases/3.3.4/Django的下載地址&#xff1a;https://www.djangoproject.com/download/1&#xff09;安裝&#xff08;進到解壓目錄&#xff09;python setup.py install2、配置環境變量&#xff08;PATH&#xff09…

Uboot USB模式(RK3288變磚頭的解決辦法)

RK3288啟動后有三種模式&#xff0c;可以分別進行操作。 第一種是normal也就是正常的啟動模式。這個模式無法刷固件。一般板子通電就是這個模式 第二種是loader模式。就是刷固件模式。這個模式可以刷各種image。按住recover按鍵再通電&#xff0c;通過uboot的檢測進入這個模式 …

java郵件實例_java郵件小實例

新建一個包&#xff0c;名為mail第一個類&#xff1a;MailSenderInfo.java###########################################package com.util.mail;/*** 發送郵件需要使用的基本信息*author by wangfunhttp://www.5a520.cn 小說520*/import java.util.Properties;public class Mai…

DEV GridView嵌套

/// <summary> /// 綁定主表和明顯表到GridView /// </summary> /// <param name"machineProduct">主表</param> /// <param name"configureData">字表</param> private void Mas…

局域網大型文件分發的可能解決方案

客戶原來的做法是把文件上傳到服務器&#xff0c;然后后形成一個普通的HTTP地址下入網站后臺系統&#xff0c;然后客戶端用戶看到后&#xff0c;則下載下來。但是隨著文件越來越大&#xff0c;客戶端下載量增加&#xff0c;在局域內網環境中這種文件分發方式的弊端立現。服務器…

android——獲取ImageView上面顯示的圖片bitmap對象

獲取的函數方法為&#xff1a;Bitmap bitmapimageView.getDrawingCache(); 但是如果只是這樣寫我們得到的bitmap對象可能為null值&#xff0c;正確的方式為&#xff1a; imageView.setDrawingCacheEnabled(true);Bitmap bitmapimageView.getDrawingCache();imageView.setDrawin…

java監聽com口_簡單了解Java接口+事件監聽機制

1.接口&#xff1a;定義方法&#xff1a;public interface interName //extends interName2, interName3...可繼承多個接口在接口里只能定義常量和抽象方法。public static final String Name;public abstract void method(String Name);//這里不能用大括號&#xff0c;不然就不…