日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

初识 JSP---(Servlet映射 / ServletRequest / get与post区别 / 解决乱码)

發布時間:2024/4/13 javascript 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初识 JSP---(Servlet映射 / ServletRequest / get与post区别 / 解决乱码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Servlet映射的細節

同一個Servlet映射多個URL上,即多個<Servlet-mapping>元素的<servlet-name>子元素的設置值可以是同一個Servlet的注冊名

第一種方法:

第二種方法:

第三種方法:通配符(*.do 或者 *.html)

第四種方法:通配符(/*)

HttpServletRequest

創建Servlet實現了Servlet接口

//servlet服務的方法

public void service(ServletRequest arg0, ServletResponse arg1)

throws ServletException, IOException {

// TODO Auto-generated method stub

System.out.println("servlet服務開啟了");

}

?

ServletRequest:封裝了請求的信息,可以從中獲取請求的信息

ServletRequest:

1.可以獲取請求的參數

String(返回類型) getparameter(String name);

使用這個方法,只有獲取單個字符串,若是請求參數有多個值(checkBox),該方法只能獲取到第一個提交的值【最常用】

例:獲取a標簽中的參數

例:獲取單選框中的值

?

String[ ](返回類型) getParameterValues(String name);根據請求的參數的名字,返回請求參數對應的字符串數組【最常用】

例:獲取多選框中的值

HttpServletRequest:繼承了ServletRequest并基于Http協議

提供了對用戶的請求,信息統一封裝的接口,一般用于Servlet容易提供的。里面包含了大量的獲取Http請求的相關方法

2.獲取請求URL

StringBuffer getRequestURL();

3.獲取請求的URI

String getRequestURI();

4.獲取method的方法

String getMethod();

5.獲取servlet請求映射路徑

String getServletPath();

例:

結果

6.設置正文的編碼格式

String getCharsetEncoding(String s);

7.獲取正文的編碼格式

String getCharsetEncoding();

8.設置請求正文的MIME的類型,如果不知道類型,則返回null

String setContentType();

9.獲取請求的正文的MIME的類型

String getContentType();

?

獲取request信息

1.獲取請求正文的長度,若長度未知返回-1

request.getContentLength();

2.獲取URI,URL是URI的自己,結果是:

request.getRequestURI();

3.獲取請求的方式

request.getMethod();

4.獲取所有的請求頭的名字,返回值是枚舉類型

request.getHeaderNames();

5.通過請求頭的名字,獲取值

request.getHeader(name);

6.獲取項目的根路徑:結果為:/FormServlet

request.getContextPath();

?

get與post區別?

區別一:

get重點是在服務器上獲取資源,post重點在于向服務器發送數據

區別二:

get傳輸數據是通過url請求,以字段=value的形式,置于url后,并用“?”連接,多個請求數據間用“&”連接,如http://127.0.0.1:8020/JQueryDemo/HTML1.html?user=%E5%BC%A0%E4%B8%B9&pwd = 123這個過程是可見的。

post傳輸數據是通過http的post機制,將字段與對應的值封存找到請求的實體中,整體發送給服務器,這個過程是對用戶不可見的。

區別三:

get傳輸數據量小,因為受url長度限制,但效率高。post傳輸數據量大,傳輸的數據量不是無限大的,所以上傳文件時,只能用post方法。

區別四:get是不安全的,因為URL是可見的,可能會泄露信息。post較get安全性高

區別五:get方式只能支持ASCII字符,向服務器傳的中文字符,有可能會亂嗎。post支持標準字符集,可以正確傳遞中文字符

解決亂碼格式

1.在JSP頁面里(默認編碼格式為:ISO8859-1)使用中文會亂碼,必須把

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>中的pageEncoding="ISO8859-1"改成pageEncoding="UTF-8";

2.對于不同的請求

(1)doGet:對于解決doPost的方式,doGet不適用

第一種方式:在 Tomcat 中的 conf 文件夾下的 service.xml 中的如下標簽中加入 URIEncoding="UTF-8"

< Connector URIEncoding = "UTF-8" connectionTiomeout="20000" port="8080"? protocal="HTTP/1.1" redirectPort="8443"/>

第二種方法:

request.setCharacterEncoding(“UTF-8”);

通過修改tomcat的server.xml中的代碼:useBodyEncodingForURI=“true”

<Connector port="8088" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443"

useBodyEncodingForURI=“true”/>

還需要加上

response.setContentType(“text/html;charset-UTF-8”);

(2)doPost:

只要回去請求之前調用:request.setCharacterEncoding(“UTF-8”);

在響應頁面之前調用:response.setContentType(“text/html;charset=UTF-8”);

總結

以上是生活随笔為你收集整理的初识 JSP---(Servlet映射 / ServletRequest / get与post区别 / 解决乱码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。