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

全國(guó)咨詢/投訴熱線:400-618-4000

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

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

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

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

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

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

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://www.xamj520.com/javaee
0 分享到:
和我們?cè)诰€交談!