1.什麼是Servlet
Java Servlet 是運行在 Web 服務器或應用服務器上的程序,它是作爲來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務器上的數據庫或應用程序之間的中間層。
使用 Servlet,您可以收集來自網頁表單的用戶輸入,呈現來自數據庫或者其他源的記錄,還可以動態創建網頁。
HttpServlet類
HttpServlet繼承於GenericServlet
處理HTTP協議的請求和響應,使用doXxx()接收用戶請求
doGet():用戶使用get方式提交請求時調用
doPost():用戶使用post方式提交請求時調用
2.Serlvet配置
從Servlet3.0開始,配置Servlet支持註解方式,但還是保留了web.xml方式.
在web.xml文件中配置
<?xml version="1.0" encoding="UTF-8"?>
<!--suppress ServletWithoutMappingInspection -->
<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">
<servlet>
<servlet-name>HelloServletWorld</servlet-name>
<servlet-class>net.ysy.servlet.HelloServletWorld</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>ysy</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloServletWorld</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
一、演示案列:利用Servlet生成動態頁面
1.創建Web項目HelloServletWorld
2.在web目錄裏創建首頁文件index,hmtl
3.在src目錄創建net.ysy.servlet包
4.基於Servlet模板創建HelloServletWorld類
5.配置@WebServlet註釋符
上面的註解符@WebServlet的配置,相當於在web.xml裏做了如下配置:
6.添加init()方法,並編寫測試代碼
7.添加destory(),並編寫測試代碼
8.編寫doGet()方法代碼
9.編寫doPost()方法
運行代碼
訪問http://localhost:8080/HelloServletWorld/hello時,首先調用init()方法:
停止服務,調用destory()方法:
二、採用JSP+Servlet實現登錄功能
1.創建Web項目LoginDemo02
2.創建web目錄裏創建登錄頁面login.jsp
3.將登陸頁設置爲首頁
4.在src裏創建包net.ysy.servlet,在裏面創建登錄處理程序LoginServelt
簡化形式如下:
LoginServlet可以處理Post或Get方式請求,爲了不重複寫代碼,我們這樣處理:
如果客戶端是以Get方式提交請求的,那麼直接調用doPost處理方法來處理提交數據.
我們編寫doPost()方法代碼:
這裏設置編碼跳轉,不然會亂碼.
5.創建success.jsp和failure.jsp.