教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

JAVA培訓之jsp與Servlet結(jié)合案例

更新時間:2016年08月13日18時37分 來源:傳智播客JAVA培訓學院 瀏覽次數(shù):

jsp入門中,我們了解了jsp與Servlet的分工,jsp作為請求發(fā)起頁面和請求結(jié)束頁面,而Servlet就是做請求處理。下面通過一個案例的學習,掌握jsp與Servlet的應(yīng)用。具體如下所示:
該案例實現(xiàn)了一個加法運算,具體功能是:在頁面中輸入兩個數(shù),然后點擊頁面中的“提交”按鈕,請求Servlet,Servlet對數(shù)據(jù)進行處理,并把處理結(jié)果存放在request域中,最后再請求轉(zhuǎn)發(fā)到另一個頁面,在另一個頁面中顯示處理結(jié)果。
以上是本案例的功能分析,下面我們通過一站圖來跟清楚的理解該需求,如圖1-1所示:

圖1-1 案例流程圖
下面我們來完成該案例,詳細請參考jsp與Servlet案例詳解,點擊此處 下載案例源代碼,具體步驟如下所示:
(1)創(chuàng)建一個web應(yīng)用,Example16,在該應(yīng)用的WebRoot目錄下新建一個目錄jsps,并在該目錄下創(chuàng)建一個jsp文件,form.jsp,主要代碼如例1-1所示:
例1-1  form.jsp
  <body>
<form action="/Example16/SumServlet" method="post">
    整數(shù)1:<input type="text" name="num1"/><br/>
    整數(shù)2:<input type="text" name="num2"/><br/>
    <input type="submit" value="提交"/>
</form>
  </body>
(2)在jsps目錄中再次新建一個jsp文件,result.jsp,它的主要代碼如例1-2所示:
例1-2 result.jsp
<body>
<%
   //從request域中獲取數(shù)據(jù)
   Integer sum =(Integer)request.getAttribute("sum");
 %>
 <%= sum %><!--向瀏覽器端輸出sum的值-->
</body>
(3)在該應(yīng)用下新建一個Servlet類,SumServlet ,主要代碼如例1-3所示:
例1-3 SumServlet.java
public class SumServlet extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
      //1.獲取請求參數(shù)
       String s1=request.getParameter("num1");
       String s2=request.getParameter("num2");
       //2.將請求參數(shù)的類型轉(zhuǎn)換成int類型
       Integer num1=Integer.parseInt(s1);
       Integer num2=Integer.parseInt(s2);
       //3.將兩個數(shù)加在一起
       int sum=num1+num2;
       //4.將求和的結(jié)果保存在request域中
       request.setAttribute("sum", sum);
       //5.請求轉(zhuǎn)發(fā)到result.jsp
       request.getRequestDispatcher("/jsps/result.jsp").forward(request, response);
    }
}
例1-3中,在進行請求轉(zhuǎn)發(fā)時,轉(zhuǎn)發(fā)的路徑是“/jsps/result.jsp”。之前我們練習請求轉(zhuǎn)發(fā)時都是轉(zhuǎn)發(fā)給Servlet,轉(zhuǎn)發(fā)路徑也就是Servlet的訪問路徑;現(xiàn)在轉(zhuǎn)發(fā)給jsp文件,轉(zhuǎn)發(fā)的路徑是該jsp頁面在WebRoot下的路徑,例如result.jsp頁面在WebRoot目錄下的jsps目錄中,那么轉(zhuǎn)發(fā)路徑就是“/jsps/result.jsp”,如果result.jsp在WebRoot的根目錄下,那么轉(zhuǎn)發(fā)路徑就是“/result.jsp”。
(4)SumServlet在web.xml文件中的訪問路徑配置為:“/SumServlet”。
(5)將Example16發(fā)布到Tomcat服務(wù)器中,然后啟動服務(wù)器,在瀏覽器地址欄上輸入:http://localhost:8080/Example16/jsps/form.jsp,瀏覽器顯示結(jié)果如圖1-2所示:

圖1-2 瀏覽器顯示結(jié)果
(6)在圖1-2中,輸入:整數(shù)1:123,整數(shù)2:456,然后點擊“提交”,瀏覽器顯示結(jié)果如圖1-3所示:

圖1-3 運行結(jié)果
由圖1-3所示可知,在result.jsp頁面中,將sum屬性從request域中取出。

本文版權(quán)歸傳智播客Java培訓學院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Java培訓學院
首發(fā):http://8y3kgpwe.cn/javaee
0 分享到:
和我們在線交談!