日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【JAVA SERVLET 开发系列之二】创建WEBAPP详细步骤,通过SERVLET实现HTTP简单交互

發(fā)布時間:2024/1/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【JAVA SERVLET 开发系列之二】创建WEBAPP详细步骤,通过SERVLET实现HTTP简单交互 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本站文章均為?李華明Himi?原創(chuàng),轉(zhuǎn)載務(wù)必在明顯處注明:?
轉(zhuǎn)載自【黑米GameDev街區(qū)】 原文鏈接:?http://www.himigame.com/java-servlet/853.html

創(chuàng)建一個webApp詳細(xì)步驟如下:

? ? ? 1. ??在我們的tomcat目錄下的webapps 下創(chuàng)建一個自定義目錄,作為我們webapp的整個項目目錄;這里Himi命名為MyWebApp;

?

? ? ? 2.然后在 MyWebApp下繼續(xù)創(chuàng)建一個“WEB-INF”文件夾(必須有),在WEB-INF下創(chuàng)建一個名字為”web.xml”文件(必須有),并且在WEB-INF繼續(xù)放置一個名為“l(fā)ib”文件夾(必須有) ,lib下主要用于放置第三方j(luò)ar包,tomcat自動為我們加載;最后仍舊在WEB-INF中創(chuàng)建一個名為“classes”文件夾(必須有),整個classes文件夾主要用于放置我們編譯好的servlet文件;

目錄如下圖:

? ?

? ? ? 3.?第二步中新建的web.xml只需要寫入如下內(nèi)容即可:

1 2 3 4 5 6 7 8 9 10 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" ??xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ??xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ??????????????????????http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" ??version="3.0" ??metadata-complete="true"> </web-app>

?

? ? ? ?4.?設(shè)置tomcat自動為我們監(jiān)控目錄是否有變化,有變化就自動為我們重新加載,設(shè)置方法:

在tomcat目錄下,conf/context.xml 打開后將?<Context> 標(biāo)簽加入一個屬性,如下:

1 ???? &lt;Context reloadable="true"&gt;

?

? ? ? ? ?5.編寫我們第一個Servlet:

IDE 新建一個 Java Project,然后在此項目中加入servlet jar包,此jar包為:

xxx(你的tomcat目錄)/lib/servlet-api.jar

?

? ? ? ? ?6.?新建一個類,繼承HttpServlet 并且重寫doGet,?doPost兩個函數(shù),如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @author Himi */ public class HelloServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doGet(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doPost(req, resp); } }

OK, doGet和doPost 都有兩個參數(shù):

1).?HttpServletRequest ? ?表示客戶端傳過來的一個請求,然后被Tomcat包裝成對象;

2).?HttpServletResponse ? 表示對客戶端的一個應(yīng)答,將數(shù)據(jù)發(fā)送給客戶端;

這里假設(shè)我們客戶端使用get方式訪問服務(wù)器,那么我們稍微修改下get函數(shù)如下:

1 2 3 4 5 6 7 8 9 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter pw??= resp.getWriter();//得到一個輸出流 //寫給Client端一個簡單網(wǎng)頁信息 pw.println("&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Server:Hello Client~&lt;/body&gt;&lt;/html&gt;"); pw.flush(); pw.close(); }

?

? ? ? ? 7.?這里我們雖然編寫了一個Servlet,但是無法使用必須通過Tomcat使用,所以我們將剛剛編寫的Servlet類找到其對應(yīng)編譯后的.class文件,然后放置我們在tomcat目錄下自定義的MyWebApp/WEB-INF/classes文件夾下;

?

? ? ? ? ?8.修改web.xml讓tomcat知道當(dāng)客戶端訪問server時候知道什么時候調(diào)用使用我們的servlet,將web.xml內(nèi)容修改如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 &lt;?xml version="1.0" encoding="ISO-8859-1"?&gt; &lt;web-app xmlns="http://java.sun.com/xml/ns/javaee" ??xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ??xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ??????????????????????http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" ??version="3.0" ??metadata-complete="true"&gt; ????&lt;servlet&gt; ????????&lt;servlet-name&gt;servlethimi&lt;/servlet-name&gt; ????????&lt;servlet-class&gt;HelloServlet&lt;/servlet-class&gt; ????&lt;/servlet&gt; ????&lt;servlet-mapping&gt; ????????&lt;servlet-name&gt;servlethimi&lt;/servlet-name&gt; ????????&lt;url-pattern&gt;/himi&lt;/url-pattern&gt; ????&lt;/servlet-mapping&gt; ????&lt;servlet-mapping&gt; ????????&lt;servlet-name&gt;servlethimi&lt;/servlet-name&gt; ????????&lt;url-pattern&gt;/xiaominghimi&lt;/url-pattern&gt; ????&lt;/servlet-mapping&gt; &lt;/web-app&gt;

這里大概解釋一下:

1) ?<servlet-name> 標(biāo)簽是給你的servlet起個名字,整個名字是給tomcat來看的;

2)?<servlet-class> 對應(yīng)你編譯后的servlet的類名;

3)?<url-pattern> 整個標(biāo)簽主要是告訴tomcat,Client端訪問我這個servlet而使用的字段是什么;

這里注意兩點:

a) ?<url-pattern>標(biāo)簽內(nèi)容要以”/”開頭;

b) 每個servlet可以對應(yīng)很多個訪問字段,比如這里我有兩個?<servlet-mapping>對應(yīng)兩個訪問字段”/himi”,”/xiaominghimi”

到此我們第一個簡單的WebApp就完成了,然后我們測試一下;

首先啟動tomcat ?,打開終端 startup.sh

然后打開你的safari 在地址欄敲入:

http://localhost:8080/MyWebApp/xiaominghimi

或者:

http://localhost:8080/MyWebApp/himi

都可以正常得到如下內(nèi)容:

?

整個網(wǎng)頁的源碼如下:

1 &lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Server:Hello Client~&lt;/body&gt;&lt;/html&gt;

OK,數(shù)據(jù)獲取正常;


總結(jié)

以上是生活随笔為你收集整理的【JAVA SERVLET 开发系列之二】创建WEBAPP详细步骤,通过SERVLET实现HTTP简单交互的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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