粗略总结浏览器发出请求向服务器的过程与代码实现

本文介绍了从浏览器发送请求到服务器处理请求的整体流程,并详细展示了使用Servlet接收与处理请求数据的具体实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没有写博客了, 年前一直在学习中没有时间总结, 年后总结一下网页访问请求, 整体的一个过程

浏览器发出数据请求的过程

    当浏览器(客户端) 发出请求通过域名访问到服务器, 服务器这时得到请求, 启动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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值