開心生活站

位置:首頁 > 綜合知識 > 

severlet怎麼寫,severlet編程問題

1.severlet編程問題

1. servlet寫xml文件是爲了配置你的servlet,定位到你的路徑以後才能夠使用,這種要通過配置的xml叫做servlet2.0,現在有可以不用配置xml的servlet稱之爲servlet3.0,在servlet的class加上註解(annotation)@WebServlet("你的自定義名稱,可以不用類名")就可以不通過配置xml直接使用

severlet怎麼寫 severlet編程問題

2. 將servlet後臺數據傳給前端有幾種方式,第一種前端通過ajax與後臺進行數據交互,此時後臺可以用response.getWriter.println("你的數據");傳給前端(如果是查詢數據一般封裝成json傳遞),前端則通過ajax的回調函數來接收,另一種就是你所說的el表達式,是後臺通過request.setAttribute()//session.setAttribute()來傳遞數據,前端可以通過el表達式,或者用jsp的request,getAttribute()/session.getAttribute()來接收數據,不過一般這種傳參方式是通過後臺轉發頁面的時候才能將參數帶過去(request.getRequestDispatcher("你的路徑加頁面名").forward(request, response); )

2.想了解severlet具體知識,還有裏面的dopost doget方法

一般來說我們是用不到doGet方法的,doGet方法提交表單的時候會在url後邊顯示提交的內容,所以不安全。

而且doGet方法只能提交256個字符(1024字節),而doPost沒有限制,因爲get方式數據的傳輸載體是URL(提交方式能form,也能任意的URL鏈接),而POST是HTTP頭鍵值對(只能以form方式提交)。通常我們使用的都是doPost方法,你只要在servlet中讓這兩個方法互相調用就行了,例如在doGet方法中這樣寫 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } 再把業務邏輯直接寫在doPost方法中。

servlet碰到doGet方法調用直接就會去調用doPost因爲他們的參數都一樣。而且doGet方法處理中文問題很困難,要寫過濾器之類的。

以上from 百度知道 @權寶兒 在網上搜集了一些資料,把兩方法的區別整理如下:get和post是http協議的兩種方法,另外還有head, delete等 這兩種方法有本質的區別,get只有一個流,參數附加在url後,大小個數有嚴格限制且只能是字符串。post的參數是通過另外的流傳遞的,不通過url,所以可以很大,也可以傳遞二進制數據,如文件的上傳。

在servlet開發中,以doGet()和doPost()分別處理get和post方法。首先判斷請求時是get還是post,如果是get就調用doGet(), 如果是post就調用doPost()。

都會執行這個方法。1.doGet GET調用用於獲取服務器信息,並將其做爲響應返回給客戶端。

當經由Web瀏覽器或通過HTML、JSP直接訪問Servlet的URL時,一般用GET調用。GET調用在URL裏顯示正傳送給SERVLET的數據,這在系統的安全方面可能帶來一些問題,比如用戶登錄,表單裏的用戶名和密碼需要發送到服務器端,若使用Get調用,就會在瀏覽器的URL中顯示用戶名和密碼。

例:jsp頁代碼: servlet代碼:public class doGet_servlet extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { request.setCaracterEncoding(“gb2312”);//漢字轉碼 PrintWriter out = response.getWriter(); out.println("The Parameter are :"+request.getParameter("name1")); } } 這樣提交表單後,參數會自動添加到瀏覽器地址欄中,帶來安全性問題。2.doPost 它用於客戶端把數據傳送到服務器端,也會有副作用。

但好處是可以隱藏傳送給服務器的任何數據。Post適合發送大量的數據。

例:jsp頁代碼: servlet代碼:public class doPostt_servlet extends HttpServlet { public void doPost(HttpServletRequest request,HttpServletResponse esponse) throws IOException,ServletException { request.setCaracterEncoding(“gb2312”);//漢字轉碼 PrintWriter out = response.getWriter(); out.println("The Parameter are :"+request.getParameter("name2")); } }3.可以把方法寫在doGet()方法中,在doPost()方法中調用執行,這樣,無論你提交的是post還是get方法都可以執行 例如:jsp頁代碼: servlet代碼:public class servlet extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { request.setCaracterEncoding(“gb2312”);//漢字轉碼 PrintWriter out = response.getWriter(); out.println("The Parameter are :"+request.getParameter("name1")); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { this.goGet(request,response);//調用doGet()方法 } } 另外,HttpServlet處理客戶端請求方式還有doPut、doDelete、doTrace、doHead、doOptions,但使用的比較少。

3.severlet編程問題

servlet寫xml文件是爲了配置你的servlet,定位到你的路徑以後才能夠使用,這種要通過配置的xml叫做servlet2.0,現在有可以不用配置xml的servlet稱之爲servlet3.0,在servlet的class加上註解(annotation)@WebServlet("你的自定義名稱,可以不用類名")就可以不通過配置xml直接使用將servlet後臺數據傳給前端有幾種方式,第一種前端通過ajax與後臺進行數據交互,此時後臺可以用response.getWriter.println("你的數據");傳給前端(如果是查詢數據一般封裝成json傳遞),前端則通過ajax的回調函數來接收,另一種就是你所說的el表達式,是後臺通過request.setAttribute()//session.setAttribute()來傳遞數據,前端可以通過el表達式,或者用jsp的request,getAttribute()/session.getAttribute()來接收數據,不過一般這種傳參方式是通過後臺轉發頁面的時候才能將參數帶過去(request.getRequestDispatcher("你的路徑加頁面名").forward(request, response); )。

4.my last winter holiday作文怎麼寫

my last winter holiday

On my last holiday,I went to the beach with my parents.We had a good time.And then,I bought some presents to my friends.They were very surprise and happy.And I went to the library.I borrowed some books from the library.In the evening,I ate dinner,it was very delicious.

After that,I did the dishes.

It was a very exciting holiday!

5.severlet 怎麼響應ajax

當程序需要爲某個客戶端的請求創建一個session的時候,服務器首先檢查這個客戶端的請求裏是否已包含了一個session標識 - 稱爲 session id,如果已包含一個session id則說明以前已經爲此客戶端創建過session,服務器就按照session id把這個 session檢索出來使用(如果檢索不到,可能會新建一個),如果客戶端請求不包含session id,則爲此客戶端創建一個session並且生成一個與此session相關聯的session id,session id的值應該是一個既不會重複,又不容易被找到規律以仿造的字符串,這個 session id將被在本次響應中返回給客戶端保存。

當一開始和服務器會話,服務器就會爲你產生一個session。

標籤:severlet 編程