IDEA創(chuàng)建Servlet程序的兩種實(shí)現(xiàn)方法
1 Servlet 是什么?
Java Servlet 是運(yùn)行在 Web 服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來(lái)自 Web 瀏覽器或其他 HTTP 客戶端的請(qǐng)求和 HTTP 服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序之間的中間層。
2 部署Tomcat并創(chuàng)建一個(gè)Servlet程序
2.1 創(chuàng)建一個(gè)普通的java程序
頁(yè)面左上角,點(diǎn)擊文件 -> 項(xiàng)目 -> 新建項(xiàng)目:
2.2 添加框架支持
為新建的名為Servlet_test的項(xiàng)目添加框架支持(Add Framework Support)
在Java EE下找到Web應(yīng)用程序(Web Application)并勾選。
【Java EE是sun公司推出的企業(yè)級(jí)應(yīng)用程序】
狹義的 Java EE 是 Sun 公司為企業(yè)級(jí)應(yīng)用推出的標(biāo)準(zhǔn)平臺(tái),用來(lái)開(kāi)發(fā)B/S架構(gòu)軟件,可以說(shuō)是一個(gè)框架,也可以說(shuō)是一種規(guī)范。廣義的 Java EE 包含各種框架,其中最重要的就是 Spring 全家桶。Spring 誕生之初是為了改進(jìn) Java EE 開(kāi)發(fā)的體驗(yàn),后來(lái)逐漸成為了 Java Web 開(kāi)發(fā)的實(shí)際標(biāo)準(zhǔn)。
可以看到,在左側(cè)項(xiàng)目欄增加了一個(gè)web文件夾
2.3 配置項(xiàng)目
①在WEB-INF文件夾下創(chuàng)建兩個(gè)文件夾:lib和classes,并在lib文件夾下添加Servlet-api.jar
在創(chuàng)建好Servlet程序后,會(huì)調(diào)用servlet-api.jar這個(gè)包,servlet要用到HttpServletRequest和HttpServletResponse等對(duì)象,這些對(duì)象都是要靠這個(gè)jar包使用的。如果安裝了Tomcat,這個(gè)jar包一般在tomcat安裝目錄\lib 文件夾下面有,當(dāng)你把web項(xiàng)目部署到tomcat,會(huì)自動(dòng)加載這個(gè)jar包來(lái)識(shí)別Serlvet一些對(duì)象。
這里我們?cè)谧约旱碾娔X上找到安裝的Tomcat文件夾lib目錄下的servlet-api.jar,并復(fù)制粘貼在java項(xiàng)目中的lib目錄下:
2.4 重構(gòu)項(xiàng)目
在最上方欄目中點(diǎn)擊 文件 -> 項(xiàng)目結(jié)構(gòu)(Project Structure)
更改模塊(Modules)內(nèi)容如下:
最后點(diǎn)擊確定。
2.5 創(chuàng)建并編寫(xiě)一個(gè)Servlet程序
我們?cè)趧?chuàng)建的Servlet_test項(xiàng)目 -> src文件夾 -> main文件夾 -> java目錄下,新建一個(gè)Servlet項(xiàng)目,并命名為FirstServlet:
下面, 編寫(xiě)一個(gè)Servlet程序:
import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.io.PrintWriter; @WebServlet(name = "FirstServlet", value = "/FirstServlet") public class FirstServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html"); PrintWriter out=response.getWriter(); out.print("<html>"); out.print("<body style=\"background-color:gray\">"); out.print("<h2 style=\"background-color:red\">background color</h2>"); out.print("<p style=\"background-color:yellow\">Hello World!</p>"); out.print("</body>"); out.print("</html>"); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
再在WEB-INF下的web.xml文件中添加映射:
在Sevlet程序中我們定義了一個(gè)FirstServlet類,那么在<servlet-class>中,我們的類名要和其保持一致。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!-- 第一個(gè)Servlet程序 --> <servlet> <servlet-name>helloworldservlet</servlet-name> <servlet-class>FirstServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloworldservlet</servlet-name> <url-pattern>/fs</url-pattern> </servlet-mapping> </web-app>
2.6 配置Tomcat服務(wù)器
點(diǎn)擊工件后,如下圖,添加了一個(gè)對(duì)應(yīng)的工件,部署完成,點(diǎn)擊確定。
【注意,這里下方的“應(yīng)用程序上下文”就是后續(xù)網(wǎng)頁(yè)訪問(wèn)路徑:http://localhost:8080/Servlet_test_war_exploded,也可以更改為別的名字】
服務(wù)器部分可以根據(jù)自己的需要進(jìn)行修改,這里URL就是運(yùn)行程序后的網(wǎng)頁(yè)地址?!居绣e(cuò)誤,稍后說(shuō)明】
視頻教程推薦尚硅谷:115.尚硅谷_Tomcat-IDEA整合Tomcat服務(wù)器
2.7 運(yùn)行程序
最后我們來(lái)運(yùn)行一下這個(gè)Servlet程序,運(yùn)行結(jié)束,自動(dòng)跳轉(zhuǎn)出一個(gè)網(wǎng)頁(yè),但顯示的卻是如下界面:
顯然,這是有誤的,我們的Servlet程序中應(yīng)該會(huì)輸出一個(gè)Hello World!,并有簡(jiǎn)單的css頁(yè)面美化的設(shè)計(jì),出現(xiàn)上述原因,我們可以回到2.6節(jié)最后一張圖那個(gè)Tomcat服務(wù)器配置,根據(jù)我們的web.xml配置文件,在URL地址后添加 /fs (這個(gè)fs名字可以是任意的),指定訪問(wèn)的絕對(duì)地址。
【url-pattern這個(gè)配置項(xiàng),通過(guò)URL訪問(wèn)到我們的servlet里,servlet會(huì)對(duì)http請(qǐng)求和相應(yīng)進(jìn)行處理】
至此,我們的第一個(gè)Servlet程序就完成了!
第二種創(chuàng)建方法
再補(bǔ)充一個(gè)更為簡(jiǎn)單的方法:
新建項(xiàng)目,選擇Java Enterprise(Java EE),模塊選擇Web應(yīng)用程序,并添加Tomcat服務(wù)器,相關(guān)選項(xiàng)如下:
點(diǎn)擊下一步,相關(guān)規(guī)范下自動(dòng)勾選上了Servlet,然后點(diǎn)擊創(chuàng)建
創(chuàng)建成功:
到此這篇關(guān)于IDEA創(chuàng)建Servlet程序的兩種實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)IDEA創(chuàng)建Servlet程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Windows系統(tǒng)下Java連接SQL Server的方法簡(jiǎn)介
這篇文章主要介紹了Windows系統(tǒng)下Java連接SQL Server的方法,分別是JDBC和JTDS的相關(guān)使用,需要的朋友可以參考下2015-09-09springboot 配置文件配置項(xiàng)前綴為0的數(shù)字特殊處理方式
這篇文章主要介紹了springboot 配置文件配置項(xiàng)前綴為0的數(shù)字特殊處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02SpringMVC下實(shí)現(xiàn)Excel文件上傳下載
這篇文章主要為大家詳細(xì)介紹了SpringMVC下實(shí)現(xiàn)Excel文件上傳下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03基于jni調(diào)用時(shí),jvm報(bào)錯(cuò)問(wèn)題的深入分析
本篇文章是對(duì)jni調(diào)用時(shí),jvm的報(bào)錯(cuò)問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05