欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談servlet與jsp的關(guān)系

 更新時(shí)間:2017年02月23日 09:10:21   作者:52Hz  
本文主要介紹了servlet與jsp的相關(guān)知識(shí),并總結(jié)出servlet與jsp之間的關(guān)系,具有很好的參考價(jià)值,下面跟著小編一起來看下吧

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

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

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

package com.servlet.study;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorldServlet extends HttpServlet {
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    super.doGet(req, resp);
  }
  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType("text/html;charset=UTF-8");
    req.setCharacterEncoding("UTF-8");
    String userName = req.getParameter("username");
    String passWord = req.getParameter("password");
    PrintWriter out = resp.getWriter();
    out.print("<html>");
    out.print("<head>");
    out.print("<title>Helloworld</title>");
    out.print("</head>");
    out.print("<body>");
    out.print("<hr>");
    out.println("The username is "+userName);
    out.println("The password is "+passWord);
    out.print("</body>");
    out.print("</html>");
  }
}

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

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用戶登錄頁面</title>
</head>
<body>
<h1 align="center">登錄系統(tǒng)</h1><hr>
<form action="helloworld_servlet" method = "post">//表單的action其實(shí)指明了servlet的url                
  <table>
    <tr>
      <td>用戶名</td>
      <td><input type="text" name="username"></td>
    </tr>
    <tr>
      <td>密碼</td>
      <td><input type="password" name="password"></td>
    </tr>
    <tr>
      <td><input type="reset" value="重填"></td>
      <td><input type="submit" value="提交"></td>
    </tr>
  </table>
</form>
</body>
</html>

3.在web.xml中配置servlet:

<servlet>
    <servlet-name>HelloWorldServlet</servlet-name>
    <servlet-class>com.servlet.study.HelloWorldServlet</servlet-class>//實(shí)現(xiàn)類4</servlet>
  <servlet-mapping>//映射
    <servlet-name>HelloWorldServlet</servlet-name>
    <url-pattern>/helloworld_servlet</url-pattern>//“/”是必須的
  </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)求。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • Spring使用@Conditional進(jìn)行條件裝配的實(shí)現(xiàn)

    Spring使用@Conditional進(jìn)行條件裝配的實(shí)現(xiàn)

    在spring中有些bean需要滿足某些環(huán)境條件才創(chuàng)建某個(gè)bean,這個(gè)時(shí)候可以在bean定義上使用@Conditional注解來修飾,所以本文給大家介紹了Spring使用@Conditional進(jìn)行條件裝配的實(shí)現(xiàn),文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Java遞歸遍歷文件目錄代碼實(shí)例

    Java遞歸遍歷文件目錄代碼實(shí)例

    這篇文章主要介紹了Java遞歸遍歷文件目錄代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • IDEA java出現(xiàn)無效的源發(fā)行版14解決方案

    IDEA java出現(xiàn)無效的源發(fā)行版14解決方案

    這篇文章主要介紹了IDEA java出現(xiàn)無效的源發(fā)行版14解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • JVM中四種GC算法案例詳解

    JVM中四種GC算法案例詳解

    這篇文章主要介紹了JVM中四種GC算法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 詳細(xì)解讀AbstractStringBuilder類源碼

    詳細(xì)解讀AbstractStringBuilder類源碼

    這篇文章主要介紹了詳細(xì)解讀AbstractStringBuilder類源碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • Java實(shí)現(xiàn)帶緩沖的輸入輸出流

    Java實(shí)現(xiàn)帶緩沖的輸入輸出流

    本文詳細(xì)講解了Java實(shí)現(xiàn)帶緩沖的輸入輸出流,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Java開發(fā)過程中關(guān)于異常處理的詳解

    Java開發(fā)過程中關(guān)于異常處理的詳解

    異常是程序中的一些錯(cuò)誤,但不是所有錯(cuò)誤都是異常,且錯(cuò)誤有時(shí)候是可以避免的。比如說,你的代碼少一個(gè)分號(hào),那運(yùn)行出來結(jié)果是提示是錯(cuò)誤 java.lang.Error;如果你用System.out.println(11/0),那么你是因?yàn)槟阌?做了除數(shù),會(huì)拋出 java.lang.ArithmeticException 的異常
    2021-10-10
  • SpringBoot 動(dòng)態(tài)定時(shí)器的使用方法

    SpringBoot 動(dòng)態(tài)定時(shí)器的使用方法

    這篇文章主要介紹了SpringBoot 動(dòng)態(tài)定時(shí)器的使用方法,非常不錯(cuò),具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • 記錄一次connection reset 錯(cuò)誤的解決全過程

    記錄一次connection reset 錯(cuò)誤的解決全過程

    這篇文章主要介紹了記錄一次connection reset 錯(cuò)誤的解決全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • MyBatis中的resultMap簡(jiǎn)要概述

    MyBatis中的resultMap簡(jiǎn)要概述

    這篇文章主要介紹了MyBatis中的resultMap簡(jiǎn)要概述的相關(guān)資料,需要的朋友可以參考下
    2016-07-07

最新評(píng)論