JAVAE中servlet的概念及使用示例詳解
servlet的概念
首先我們要搞明白什么是servlet,servlet是一種實現(xiàn)動態(tài)頁面的技術(shù),他是由tomcat提供給程序員的一組API可以幫助程序員開發(fā)一個web程序那么既然我們說到了實現(xiàn)動態(tài)頁面我們首先就要搞清楚什么是靜態(tài)頁面什么是動態(tài)頁面
靜態(tài)頁面和動態(tài)頁面
我們所說的動態(tài)頁面和靜態(tài)頁面其實指的是說這個頁面在不同的條件下它的內(nèi)容會發(fā)生改變,而靜態(tài)頁面則是指不同用戶,在不同地點的不同時間打開這個頁面的時候這個頁面的內(nèi)容并沒有發(fā)生任何的改變。 對應(yīng)的動態(tài)頁面就是指我們打開后內(nèi)容會發(fā)生變化,比如說b站之類的會根據(jù)我們個人的喜好給我們推薦視頻。
servlet的作用
- 允許程序員注冊一個類在tomcat收到某個特定的HTTP請求的時候tomcat會執(zhí)行這個類中的代碼
- 幫助程序員解析HTTP請求把HTTP請求從一個字符串解析成一個HTTPRequest對象
- 幫助程序員制造出特定的HTTP響應(yīng)程序員只需要將自己要返回的內(nèi)容寫入HTTPResponse對象填寫一些屬性字段servlet就會自動的安裝HTTP協(xié)議的方式構(gòu)造出一個HTTP響應(yīng)字段并通過socket接口返回
寫出一個servlet程序
首先我們想要寫出一個servelet程序第一件事情肯定是要創(chuàng)建一個項目這里我們創(chuàng)建一個什么項目呢?答案是一個mavean項目,那么創(chuàng)建好之后我們還要引入servlet的各種接口那么這里的引入和我門平時的引入是有一些區(qū)別的,這里的引入呢是在配置文件中進行導(dǎo)入那么具體該怎么做呢?我們只需要在配置文件中加入這樣一段代碼就可以了
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>
當我們的項目創(chuàng)建好之后我們只需要在pom.xml這個文件中導(dǎo)入依賴就可以了,導(dǎo)入方法就是將上面的代碼導(dǎo)入即可。此外我們導(dǎo)入的時候要注意導(dǎo)入的serlet版本與tomcat版本要一致參照表格如下
目錄的創(chuàng)建
當我們創(chuàng)建好項目之后我們還有一些工作要做那就是創(chuàng)建好我們需要創(chuàng)建的目錄,那么我們需要創(chuàng)建哪些目錄呢?首先就是我們的web目錄結(jié)構(gòu)如下
這里我們的web目錄實在main目錄下并且其結(jié)構(gòu)位webapp->WEB_INF->web.xml,那么這個web.xml中包含了哪些東西呢?我們把這段代碼復(fù)制進去
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> </web-app>
設(shè)置smart tomcat
在這里面主要就是這個context path這個路徑,因為我們的這個路徑是我們在訪問的時候第一級路徑。
編寫helloworld
那么上面配置搞好了之后我們來寫一個helloworld,那么想要寫出代碼我們首先要調(diào)用方法才可以,在這里我們用的方法不是main方法而是下面這兩個
import javax.servlet.Servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/login2 ") public class login extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("hello world"); resp.getWriter().write("hello world"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }
其中我們主要的代碼就是這樣用到的方法也就是這兩個方法那么我們先運行一下,那么我們運行起來之后我們?nèi)绾斡脼g覽器去訪問呢?
那就需要我們輸入url這個url是有規(guī)定的首先我們代碼中必須要加上的一個代碼就是下面的這個
@WebServlet("這里面隨便寫前提是必須以(‘/')開頭模仿上面的代碼")
并且我們上面說的Context path是作為一級目錄使用比如說我們的代碼url如何寫呢?如下
http://127.0.0.1:8080/test_login2/login2
然后我們來看一下最終的效果
很明顯我們成功了確實是非常的不容易啊歷經(jīng)這么多的步驟才寫出來了一個helloworld并且在初次學(xué)習(xí)的時候我們肯定會遇到各種各樣的坑和錯誤那么我們應(yīng)該做的就是耐心去調(diào)整代碼在錯誤中進步
到此這篇關(guān)于JAVAE中servlet的概念及使用的文章就介紹到這了,更多相關(guān)JAVAEE servlet使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot整合Dubbo教程之項目創(chuàng)建和環(huán)境搭建
本篇文章主要介紹了Springboot整合Dubbo教程之項目創(chuàng)建和環(huán)境搭建,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12Spring Boot中slf4j日志依賴關(guān)系示例詳解
在項目開發(fā)中,記錄日志是必做的一件事情。而當我們使用Springboot框架時,記錄日志就變得極其簡單了。下面這篇文章主要給大家介紹了關(guān)于Spring Boot中slf4j日志依賴關(guān)系的相關(guān)資料,需要的朋友可以參考下2018-11-11Java?Stream?流中?Collectors.toMap?的用法詳解
這篇文章主要介紹了Stream?流中?Collectors.toMap?的用法,Collectors.toMap()方法是把List轉(zhuǎn)Map的操作,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01