Servlet簡介
Servlet是什麼
Java Servlet 是運行在 Web 服務器或應用服務器上的程序,它是作爲來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務器上的數據庫或應用程序之間的中間層。
使用 Servlet,您可以收集來自網頁表單的用戶輸入,呈現來自數據庫或者其他源的記錄,還可以動態創建網頁。
Servlet的優勢
- 性能明顯更好
- Servlet 在 Web 服務器的地址空間內執行。這樣它就沒有必要再創建一個單獨的進程來處理每個客戶端請求
- Servlet 是獨立於平臺的,兼容性強,因爲它們是用 Java 編寫的。
- 服務器上的 Java 安全管理器執行了一系列限制,以保護服務器計算機上的資源。因此,Servlet 是可信的。
- Java 類庫的全部功能對 Servlet 來說都是可用的。它可以通過 sockets 和 RMI 機制與 applets、數據庫或其他軟件進行交互。
Servlet小應用之實現網絡請求
注意,如果你是使用Eclipse進行Java Web開發,需要手動導入Servlet包,該包其實已存在tomcat運行包中,所以添加tomcat的runtime依賴即可。步驟如下:
項目上單擊右鍵 –> Properties –>Java Build Path –> Libraries –>Add Library –> Apply即可,如圖:
之後就是在src下新建包,在包下新建類,進入類文件,類TestSevlet繼承自HttpServlet
package com.xiaoxian.demo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestSevlet extends HttpServlet {
/**
* 做get請求
* @param req 請求體
* @param resp 響應體
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//獲取客戶端傳遞的參數
String userName = req.getParameter("userName");
//設置響應頭
resp.setContentType("text/html;charset=utf-8");
//io流,向響應體寫入信息
PrintWriter writer = resp.getWriter();
writer.write("<h1>哈哈哈</h1>");
writer.flush();
writer.write("<a>" + userName + "</a>");
writer.close();
}
}
在web.xml文件中註冊Servlet信息
<servlet>
<servlet-name>demo</servlet-name>
<servlet-class>com.xiaoxian.demo.TestSevlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo</servlet-name>
<url-pattern>/testsevlet</url-pattern>
</servlet-mapping>
運行效果
把項目添加到tomcat容器中後,啓動tomcat。
在瀏覽器中輸入網址:http://localhost:8080/servletDemo/testsevlet?userName=haha
就可以看到如下頁面顯示效果: