粗略總結瀏覽器發出請求向伺服器的過程與程式碼實現
阿新 • • 發佈:2019-01-30
好久沒有寫部落格了, 年前一直在學習中沒有時間總結, 年後總結一下網頁訪問請求, 整體的一個過程
瀏覽器發出資料請求的過程
當瀏覽器(客戶端) 發出請求通過域名訪問到伺服器, 伺服器這時得到請求, 啟動Tomcat服務, (我們想要讓伺服器執行自己的程式碼, 將自己的程式碼會放在tomcat上執行), 這樣執行我們的程式程式碼, 解析資料, 用jdbc與資料庫相聯絡, 匹配資料, 資料庫返回結果集 error | success 將這兩種不同的頁面返回給瀏覽器.
程式碼展示:
Java部分
建立一個Dynamic Web Project(動態web工程)
配置tomcat伺服器
Java部分是severlet接受請求資料的部分
public class TestServlet extends HttpServlet{ /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub String name = req.getParameter("name"); String password = req.getParameter("password"); String age = req.getParameter("age"); String[] likes = req.getParameterValues("likes"); System.out.println("aaa"); System.out.println("name: " + name); System.out.println("password: " + password); System.out.println("age: " + age); for (String string : likes) { System.out.println(string); } resp.sendRedirect("test.jsp"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doPost(req, resp); }
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_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>ServeletRequest</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>index</servlet-name> <servlet-class>com.lanou.action.TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>index</servlet-name> <url-pattern>/test</url-pattern> </servlet-mapping> </web-app>
HTML部分
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="test.jsp">
使用者名稱: <input type="text" name="name"><br/>
密碼: <input type="password" name="password"><br/>
年齡: <input type="text" name="age"><br/>
愛好: <input type="checkbox" value="lol" name="likes">LOL
<input type="checkbox" value="wow" name="likes">MOM
<input type="checkbox" value="dnf" name="likes">DNF
<input type="submit" value="註冊">
</form>
</body>
</html>
JSP部分
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("name");
String password = request.getParameter("password");
String age = request.getParameter("age");
String[] likes = request.getParameterValues("likes");
%>
<%= name %>
<%= password %>
<%= age %>
<% for(int i = 0; i < likes.length; i++){
out.println(likes[i]);
}
%>
</body>
</html>