溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Servlet學(xué)習(xí)教程(三)---- 一個(gè)簡(jiǎn)單的Servlet例子

發(fā)布時(shí)間:2020-07-12 05:49:27 來(lái)源:網(wǎng)絡(luò) 閱讀:1145 作者:zangyanan2016 欄目:開(kāi)發(fā)技術(shù)

  我們用個(gè)最簡(jiǎn)單的Servlet例子來(lái)解說(shuō)一下Servlet簡(jiǎn)單配置以及Servlet類(lèi)實(shí)現(xiàn)類(lèi)的寫(xiě)法。

     第一,我們新建一個(gè)Dynamic Web Project,起名ServletServlet學(xué)習(xí)教程(三)---- 一個(gè)簡(jiǎn)單的Servlet例子

 點(diǎn)擊NEXT,設(shè)置Default output folder 為Servlet/WebContent/WEB-INF/classes

第二,創(chuàng)建一個(gè)包,包名為Servlet,然后創(chuàng)建一個(gè)類(lèi)名為WelcomeServlet類(lèi)。(Servlet類(lèi)當(dāng)然缺少不了Servlet容器,請(qǐng)注意你的開(kāi)發(fā)軟件是否已經(jīng)集成Servlet容器,比如Tomcat)

注意:將tomcat類(lèi)庫(kù)添加入Servlet這個(gè)項(xiàng)目中

1、右鍵點(diǎn)擊你需要添加jar包的項(xiàng)目.
2、選擇“Properties”.
3、然后選擇對(duì)話(huà)框中的“Java Build Path”.
4、選擇“Libraries”選項(xiàng)卡,然后點(diǎn)擊右邊的“Add Library “.
5、選擇"選Server Runtime"
6、選擇 自己已經(jīng)添加好的 tomcat服務(wù)器。
5、點(diǎn)擊“finish”.

第三,編寫(xiě)實(shí)現(xiàn)業(yè)務(wù)邏輯的Servlet類(lèi),即WelcomeServlet。

package Servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//在實(shí)際中99.9999%的servlet類(lèi)都是繼承HttpServlet
public class WelcomeServlet extends HttpServlet{
      
      //實(shí)際中99.9%都是覆蓋doGet()或者doPost()方法,Servlet從此方法中獲取請(qǐng)求和響應(yīng)對(duì)象的引用。
	@Override
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//獲取頁(yè)面input框name名為username的值
		String name=req.getParameter("username");
	        //在Servlet從從容器獲取的響應(yīng)對(duì)象中,可以獲取PrintWriter,使用PrintWriter可以將HTML文本輸出到響應(yīng)對(duì)象,也可以是圖片。
		PrintWriter writer=resp.getWriter();
		Date date=new Date();
		writer.println("Welcome to Servlet,"+name+"!,Now time is "+date);
	}
	
}

小訣竅:很多人不記得doGet()或doPost()方法參數(shù),這時(shí)候我們只需要在類(lèi)中先打出doGet或者doPost,然后Alt+/,就可以自動(dòng)聯(lián)想出這個(gè)方法的整體。

第四,編寫(xiě)我們的web項(xiàng)目必不可少的web.xml。其中<servlet-name> 我們稱(chēng)為部署名,用來(lái)將<servlet>與<servlet-mapping>綁定在一起。<servlet-class> 代表我們需要執(zhí)行業(yè)務(wù)邏輯的servlet類(lèi)的完全限定名,即包名+類(lèi)名。<url-pattern> 客戶(hù)看到的servlet名稱(chēng)或者是虛構(gòu)的代表一個(gè)servlet。

<servlet>標(biāo)簽實(shí)際作用是將內(nèi)部名映射到實(shí)際類(lèi),<servlet-mapping>作用就是請(qǐng)求URL到來(lái)時(shí),轉(zhuǎn)發(fā)給哪個(gè)<servlet>。

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="servlet" version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	
<servlet>
<servlet-name>WelcomeServlet</servlet-name>
<servlet-class>Servlet.WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WelcomeServlet</servlet-name>
<url-pattern>/welcome</url-pattern>
</servlet-mapping>
</web-app>

第五,一個(gè)簡(jiǎn)單的HTML頁(yè)面。將頁(yè)面放在WebContent下面。

<html>
<head>
<title>Insert title here</title>
</head>
<body>
<form action="/Servlet/welcome">
Name:<input type="text" name="username">
<input type="submit">
</form>
</body>
</html>

最后,將項(xiàng)目放入tomcat,啟動(dòng)訪(fǎng)問(wèn)http://localhost:8080/Servlet/input.html,然后輸出英文名稱(chēng)提交。

注意:我們這里只是簡(jiǎn)單的配置,缺少亂碼處理、錯(cuò)誤頁(yè)面、安全處理、初始化配置等等。







向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI