Java Web基础学习(2)——Servlet

本文介绍了软件结构的发展,重点讲解了Tomcat服务器和Servlet的关系及应用。通过创建FirstServlet展示Servlet的基本使用,包括生命周期方法、参数接收与响应。讨论了GET和POST请求的区别,并展示了如何通过注解简化Servlet配置。最后,探讨了启动时加载Servlet的两种方法。

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

1、软件结构发展史

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、Tomcat与Servlet

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、第一个Servlet

FirstServlet.java:

package com.imooc.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 FirstServlet extends HttpServlet{
	//构造方法
	public FirstServlet() {
		System.out.println("正在创建FirstServlet对象");
	}
	
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//接收请求发来的参数
		String name = request.getParameter("name");
		String html = "<h1 style='color:red'>hi"+name+"!</h1><hr/>";
		System.out.println("返回给浏览器的响应·数据为:" + html);
		PrintWriter out = response.getWriter();
		out.println(html);//将html发送回浏览器
	}
	//初始化方法
	@Override
	public void init() throws ServletException {
		System.out.println("正在初始化FirstServlet对象");
	}
	//销毁方法
	@Override
	public void destroy() {
		System.out.println("正在销毁FirstServlet对象");
	}
}

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>FirstServlet</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 -->
  	<!--  servlet的别名 -->
  	<servlet-name>first</servlet-name>
  	<servlet-class>com.imooc.servlet.FirstServlet</servlet-class>
  </servlet>
  <!-- 将Servlet与URL绑定 -->
  <servlet-mapping>
  	<servlet-name>first</servlet-name>
  	<url-pattern>/hi</url-pattern>
  </servlet-mapping>
 </web-app>

在这里插入图片描述

4、Java Web标准工程结构

在这里插入图片描述

5、Servlet开发与基本配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、请求参数的发送与接收

在这里插入图片描述
在这里插入图片描述

7、Get与Post请求

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8、Servlet生命周期

在这里插入图片描述
代码演示过程:

package com.imooc.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 FirstServlet extends HttpServlet{
	//构造方法
	public FirstServlet() {
		System.out.println("正在创建FirstServlet对象");
	}
	
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//接收请求发来的参数
		String name = request.getParameter("name");
		String html = "<h1 style='color:red'>hi"+name+"!</h1><hr/>";
		System.out.println("返回给浏览器的响应·数据为:" + html);
		PrintWriter out = response.getWriter();
		out.println(html);//将html发送回浏览器
	}
	//初始化方法
	@Override
	public void init() throws ServletException {
		System.out.println("正在初始化FirstServlet对象");
	}
	//销毁方法
	@Override
	public void destroy() {
		System.out.println("正在销毁FirstServlet对象");
	}
}

9、注解简化配置

在这里插入图片描述
代码实例:

package com.imooc.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/anno")
public class AnnotationServlet extends HttpServlet{

	@Override
	protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
		arg1.getWriter().println("hahahaha");
	}
	
}

10、启动时加载Servlet

在这里插入图片描述
①第一种方式:web.xml文件:

 <servlet>
  		<servlet-name>create</servlet-name>
 		<servlet-class>com.imooc.servlet.CreateServlet</servlet-class>
 		<load-on-startup>0</load-on-startup>
  </servlet>

②第二种方式:使用注解
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值