java複習筆記—servlet(1)一個簡單的專案
阿新 • • 發佈:2018-12-19
1.什麼是servlet?
Servlet是sun公司提供的一門用於開發動態web資源的技術。Servlet(Servlet Applet),全稱Java Servlert .是用Java編寫的伺服器端程式。其主要功能在與互動式的瀏覽和修改資料,生成動態Web內容。狹義的servlet是指Java語言實現的一個介面,廣義的Servlet是指任何實現了這個Servlet的類,一般情況下,人們將Servlet理解為後者。比如HttpServlet類繼承自Servlet類,可以利用繼承Http Servlet 來實現Http請求,當不是Http請求的時候,也可以定義其他形式的Servlet。
Servlet 運行於支援Java的伺服器中,從現實上講,servlet 可以響應任何型別的請求,但是絕大多數情況下Servlet只用於來擴充套件基於THHP協議的Web伺服器。
2.開發一個簡單的servlet專案
第一,首先建立一個繼承HttpServlet的類。
package servlet; 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 HelloServlet extends HttpServlet{ @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); //獲取地址 String uri = request.getRequestURI(); System.out.println(uri); //路徑 String path = uri.substring(uri.lastIndexOf("/"), uri.lastIndexOf(".")); //工程名 String projectName = uri.substring(uri.lastIndexOf("/")); if("/hello".equals(path)) { out.print("<div><h1>練習</h1><hr>練習</div>"); }else if("/test".equals(path)) { System.out.println("重定向:http://localhost:8088/DemoService3/jsp/hello.jsp"); //重定向 response.sendRedirect("jsp/hello.jsp"); }else if("/test2".equals(path)) { //轉發 //獲取請求轉發器物件,該轉發器的指向通過getRequestDisPatcher()的引數設定,呼叫forward()方法,轉發請求 request.setAttribute("name", "張三"); request.getRequestDispatcher("jsp/hello.jsp").forward(request, response); } out.close(); } }
第二步:然後再WEB-INF資料夾下建立一個web.xml檔案,記錄網站的配置資訊。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name>DemoService3</display-name> <welcome-file-list> <welcome-file></welcome-file> </welcome-file-list> <servlet> <servlet-name>servlet</servlet-name> <servlet-class>servlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
第三步:寫一個前端介面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<div>
<h1>你好,世界!</h1>
<hr>
<%=(String)request.getAttribute("name") %>,你好
</div>
</body>
</html>
然後可以執行伺服器,進入地址:http://localhost:8088/DemoService3/test.do
參考:https://blog.csdn.net/honghailiang888/article/details/50585475