日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

浅谈servlet与jsp的关系

發(fā)布時(shí)間:2023/12/2 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈servlet与jsp的关系 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

????? servlet是用java語(yǔ)言編寫的,是一個(gè)java類。主要功能是用來(lái)接受、處理客戶端的請(qǐng)求,并把處理結(jié)果返回到客戶端顯示。Jsp是servlet發(fā)展后期的產(chǎn)物。在沒(méi)有jsp之前,servlet利用輸出流動(dòng)態(tài)生成整個(gè)HTML頁(yè)面,輸出內(nèi)容包括每一個(gè)HTML標(biāo)簽和每個(gè)在HTML頁(yè)面中出現(xiàn)的內(nèi)容。HTML文件包含大量標(biāo)簽和大量靜態(tài)文本及格式等,以及所有的表現(xiàn)邏輯,包括布局、色彩及圖像等。這些內(nèi)容都必須耦合在java代碼中,這樣就導(dǎo)致servlet開(kāi)發(fā)效率低下,令人不勝其煩。jsp出現(xiàn)后彌補(bǔ)了不足,因?yàn)閖sp文件是通過(guò)在標(biāo)準(zhǔn)的HTML頁(yè)面中插入java代碼形成的。其靜態(tài)的部分無(wú)需java程序控制,只有那些需要從數(shù)據(jù)庫(kù)讀取并根據(jù)程序動(dòng)態(tài)生成信息時(shí),才使用java腳本控制。所以jsp技術(shù)出現(xiàn)后,主要用jsp文件來(lái)動(dòng)態(tài)生成HTML文件,然后返回客戶端顯示。現(xiàn)在的servlet,當(dāng)需要將整個(gè)頁(yè)面作為結(jié)果返回時(shí),不再由其自己去處理,而是調(diào)用jsp文件。

???? 下面開(kāi)發(fā)部署一個(gè)簡(jiǎn)單的servlet程序來(lái)展示:

???? 1.創(chuàng)建處理請(qǐng)求的servlet文件:

1 package com.servlet.study; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 public class HelloWorldServlet extends HttpServlet { 12 @Override 13 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 14 super.doGet(req, resp); 15 } 16 @Override 17 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 18 resp.setContentType("text/html;charset=UTF-8"); 19 req.setCharacterEncoding("UTF-8"); 20 String userName = req.getParameter("username"); 21 String passWord = req.getParameter("password"); 22 PrintWriter out = resp.getWriter(); 23 out.print("<html>"); 24 out.print("<head>"); 25 out.print("<title>Helloworld</title>"); 26 out.print("</head>"); 27 out.print("<body>"); 28 out.print("<hr>"); 29 out.println("The username is " userName); 30 out.println("The password is " passWord); 31 out.print("</body>"); 32 out.print("</html>"); 33 } 34 }

???? 2.創(chuàng)建HTML文件:

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>用戶登錄頁(yè)面</title> 6 </head> 7 <body> 8 <h1 align="center">登錄系統(tǒng)</h1><hr> 9 <form action="helloworld_servlet" method = "post">//表單的action其實(shí)指明了servlet的url 10 <table> 11 <tr> 12 <td>用戶名</td> 13 <td><input type="text" name="username"></td> 14 </tr> 15 <tr> 16 <td>密碼</td> 17 <td><input type="password" name="password"></td> 18 </tr> 19 <tr> 20 <td><input type="reset" value="重填"></td> 21 <td><input type="submit" value="提交"></td> 22 </tr> 23 </table> 24 </form> 25 </body> 26 </html>

???? 3.在web.xml中配置servlet:

1 <servlet> 2 <servlet-name>HelloWorldServlet</servlet-name> 3 <servlet-class>com.servlet.study.HelloWorldServlet</servlet-class>//實(shí)現(xiàn)類 4</servlet> 5 <servlet-mapping>//映射 6 <servlet-name>HelloWorldServlet</servlet-name> 7 <url-pattern>/helloworld_servlet</url-pattern>//“/”是必須的 8 </servlet-mapping>

???? 注:]servlet類必須繼承HttpServlet類,而且得重寫doGet、doPost方法,并創(chuàng)建out對(duì)象。doGet方法是HttpServlet類中處理get請(qǐng)求的方法,doPost處理post請(qǐng)求。在表單中聲明method,并在servlet類中編寫相對(duì)應(yīng)方法即可,本例特為post請(qǐng)求。


更多專業(yè)前端知識(shí),請(qǐng)上 【猿2048】www.mk2048.com

總結(jié)

以上是生活随笔為你收集整理的浅谈servlet与jsp的关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。