1. 程式人生 > >java複習筆記—servlet(1)一個簡單的專案

java複習筆記—servlet(1)一個簡單的專案

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

           https://blog.csdn.net/qq_39688352/article/details/76794973