IT评测·应用市场-qidao123.com

标题: Servlet p1 Servlet的实现 [打印本页]

作者: 天空闲话    时间: 2023-6-12 22:43
标题: Servlet p1 Servlet的实现
学习课程: 【这可能是B站讲的最好的Servlet教程,5小时打通Servlet全套教程丨2022最新版,轻松掌握servlet基础+案例实操】 https://www.bilibili.com/video/BV1Kr4y1V7ZE/?share_source=copy_web&vd_source=2c07d62293f5003c919b2df9b2e0549e
Servlet的实现

基本介绍

​        Servlet是Server与Applet的缩写,是服务端小程序的总思。使用Java语言编写的服务器端程序,可以像生成动态的WEB页,Servlet主要运行在服务器端,并由服务器调用执行,是一种按照Servlet标准来开发的类。是SUN公司提供的一门用于开发动态Web资源的技术。(言外之意:要实现web开发,需要实现Servlet标准)
​        它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
​        Servlet本质上也是Java类,但要遵循Servlet规范进行编写,没有main()方法,它的创建、使用、销毁都由Servlet容器进行管理(如Tomcat)。(言外之意:写自己的类,不用写main方法,别人自动调用)
​        Servlet是和HTTP协议是紧密联系的,其可以处理HTTP协议相关的所有内容。这也是Servlet应用广泛的原因之一。
提供了Servlet功能的服务器,叫做Servlet容器,其常见容器有很多,如Tomcat,Jetty,WebLogic,Server,WebSphere,JBoss等等。
Servlet架构:

实现Servlet规范

​        实现 Servlet 规范,即继承 HttpServlet 类,需要导入相应的包,(在此之前需要导入对应的servlet的jar包)。该类中已经完成了通信的规则,我们只需要进行业务的实现即可。
  1. import javax.servlet.http.HttpServlet;
  2. public class servlet01 extends HttpServlet{
  3. }
复制代码
重写service方法和设置注解

  1. package com.xxxx.servlet;
  2. import javax.servlet.ServletException;
  3. import javax.servlet.annotation.WebServlet;
  4. import javax.servlet.http.HttpServlet;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import java.io.IOException;
  8. //@WebServlet("/ser01")
  9. //@WebServlet(name = "Servlet01", value = "/ser01")//name就是一个名字可写可不写,value后面可以接数组,数组中的地址都可以访问到该页面
  10. //@WebServlet(name = "Servlet01", value = {"/ser01", "/ser001"})
  11. @WebServlet("/ser01")//路径中的 "/" 一定不能忘
  12. public class Servlet01 extends HttpServlet {
  13.     @Override
  14.     protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  15.         System.out.println("Hello Servlet!");
  16.         resp.getWriter().write("Hello Servlet!");
  17.     }
  18. }
复制代码
实现Servlet的方式

以上三种方式通常使用HttpServlet,方法也更全面;
继承GenericServlet类:
  1. package com.xxxx.servlet;
  2. import javax.servlet.GenericServlet;
  3. import javax.servlet.ServletException;
  4. import javax.servlet.ServletRequest;
  5. import javax.servlet.ServletResponse;
  6. import javax.servlet.annotation.WebServlet;
  7. import java.io.IOException;
  8. @WebServlet("/ser02")
  9. public class servlet02 extends GenericServlet {
  10.     @Override
  11.     public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
  12.         System.out.println("继承GenericServlet类...");//GenericServlet是HttpServlet的父类
  13.     }
  14. }
复制代码
实现Servlet接口:
  1. package com.xxxx.servlet;
  2. import javax.servlet.*;
  3. import javax.servlet.annotation.WebServlet;
  4. import java.io.IOException;
  5. @WebServlet("/ser03")
  6. public class servlet03 implements Servlet {
  7.     @Override
  8.     public void init(ServletConfig servletConfig) throws ServletException {
  9.     }
  10.     @Override
  11.     public ServletConfig getServletConfig() {
  12.         return null;
  13.     }
  14.     @Override
  15.     public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
  16.         System.out.println("实现Servlet接口");//GenericServlet实现了该接口
  17.     }
  18.     @Override
  19.     public String getServletInfo() {
  20.         return null;
  21.     }
  22.     @Override
  23.     public void destroy() {
  24.     }
  25. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4