1. 程式人生 > 程式設計 >詳解servlet呼叫的幾種簡單方式總結

詳解servlet呼叫的幾種簡單方式總結

servlet呼叫的幾種簡單方式

這裡總結的是我在學習web開發的過程中需要用到的幾種比較常見的用於轉發和呼叫servlet的方式,這些方式的使用率非常高。在網上總結了相關的方法,大多對於初學者不是特別的友好,自己總結了一下。

1.servlet直接轉發到另一個servlet

我們在進行jsp頁面點選按鈕進行登入的時候,首先需要登入到進行登入檢查的servlet,但是在下個jsp頁面,我們需要那個頁面通過servlet進行轉發,所以需要從servlet直接跳轉到另一個servlet,其實寫法很簡單,只要保證對映地址正確即可.

response.sendRedirect("xxxxx");

xxxx: 是你需要轉發的servlet的對映地址

2.使用a標籤跳轉到servlet的兩種情況

1.第一種情況

每一個功能對應一個servlet的時候,這時我們用標籤直接呼叫servlet的時候,語法如下:

<a href="product?&cid=${cid}&page=${status.index}" rel="external nofollow" >${status.index}</a>

其中product是對應的servlet的對映地址,用?問好隔開,& + 引數名+ = + 引數值,引數值可以用el表示式去表示。

2.第二種情況

當我們把多個servlet進行合併的時候,對應的每一個servlet肯定都會有相應的描述的方法,這種情況下使用a標籤進行servlet的呼叫語法如下:

<a href="product?method=productList&cid=${cid}&page=${status.index}" rel="external nofollow" >${status.index}</a>

其中product是對應的servlet的對映地址,中間使用?問好隔開,method+ = 方法 即 productList,後面的引數和引數名稱和第一種情況的表示方式一樣。

在這裡插入圖片描述

3.最簡單的一種用表單呼叫

直接在表單的action中新增servlet的對映地址,同時表明該提交servlet的方法是get還是post,兩種區別還是比較大的。

<form action="servlet" method="get">
  <input type="submit" value="test"> 
 </form>

4.通過指令碼編寫函式的方式呼叫servlet

首先我們先些一個按鈕,即button,這裡要特別主題該按鈕需要放在表單裡面才會有效果,即相當於一個提交的效果。

//這裡為按鈕添加了onclick的時間,並連結到一個函式上
<input type="button" value="button" "test();">

//這裡是函式部分,用於跳轉到需要使用的servlet上
function test()
{
 var f=document.forms[0];
 f.action="servlet"; //這裡填寫的是servlet的對映地址
 f.submit();
}

這裡的本質是把button按鈕賦予了submit的功能。

5. 通過ajax請求servlet

因為ajax的優點不僅在於可以在不轉發servlet的情況下進行頁面的更新

通過ajax實現請求:

function Test(id) { 
    $.ajax({ 
     type:"get",url:"${pageContext.request.contextPath }/Servlet",data:{"id":id} 
    }); 
   } 

這裡的路徑URL有固定的格式,後面跟的servlet是需要呼叫的servlet的對映地址

再舉一個例子,也掌握一下ajax的具體用法

//以下是js中的ajax
 <script type="text/javascript">
 function ajaxFun(){
 $.ajax({
   type: "POST",//傳資料的方式
   url: "TestServlet",//servlet地址
   data: $('#form').serialize(),//傳輸的是form表單裡面的資料
   success: function(result){   //傳資料成功之後的操作 result是servlet傳回來的資料 這個函式對result進行處理,讓它顯示在 輸入框中,也就是回撥一個函式,但是概念不同
   $("#result").val(result);   //根據id找到輸入框 並且將result的值傳進去
   }
  });
 }
 </script>
 
 //下面是html的程式碼和表單
 <div align="center"><form id="form">
 first:<input type="text" name="first" id="first">
 second:<input type="text" name="second" id="second">
 
 //這裡給按鈕添加了點選的事件
 <button type="button" "ajaxFun()">button</button> //提交按鈕
 </form>
 	// 用來顯示result的文字框
 	<input type="text" id="result">
 </div>

//上面的請求需要返回result 那麼這個值由servlet去返回 部分程式碼如下
String first = request.getParameter("first");  //從頁面獲取資料first
String second = request.getParameter("second");  //從頁面獲取資料second 
String result=first+second;
System.out.println(result); //用於測試列印是否有資料;
out.println(result); //將資料傳到前端,這步非常重要

到此這篇關於詳解servlet呼叫的幾種簡單方式總結的文章就介紹到這了,更多相關servlet呼叫內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!