写点什么

初识 Servlet

  • 2021 年 11 月 11 日
  • 本文字数:1683 字

    阅读完需:约 6 分钟

Servlet(Server Applet),全称 Java Servlet,未有中文译文。是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。Servlet 运行于支持 Java 的应用服务器中。从实现上讲,Servlet 可以响应任何类型的请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的 Web 服务器。

2.Servlet,WebApp,Tomcat 之间的关系

抽象描述:


  • Tomcat:他就是一个淘宝的平台

  • WebAPP:就是一个一个的店铺(网站,手机 APP 的应用)

  • Servlet:为 WebAPP 服务,平台给店家


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


的一些工具


在这之前需要了解 maven 的相关知识和 tomcat 的相关知识,maven 是一个构建工具,相当一个应用商店,对 jar 包做相应的打包,发布管理和依赖管理


有关 maven 的相关知识



maven 项目目录说明

maven 生命周期


有关 Tomcat 的相关知识



什么是 tomcat

Tomcat 服务器是一个开源的轻量级 Web 应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试 Servlet、JSP 程序的首选。

tomcat 如何安装

首先进入Tomcat官网下载 tomcat


注意:在解压的时候路径不能有中文,否则会出现错误


tomcat 目录说明


如果 tomcat 运行失败?


1.查看本机的 Java 环境是否安装成功


2.Tomcat 目录有多余,把多余的文件放到其他位置


3.端口如果被占用,Tomcat 默认的端口有两个(8080/8005)。


Tomcat 在操作系统和网络协议栈中的位置



Tomcat 实现的主要是 HTTP 协议,也就是应用层,同时在操作系统的视角里,是属于用户态程序。我们自己的实现是在 Tomcat 基础上运行的。


创建一个 servlet




servlet 其实就是一组 Java 类和一组 API,其实也就是添加一个 servletjar 包


首先在找到在中央仓库里面扎到servlet


至于选择哪个版本,这个取决于 Tomcat,此时打开Tomcat官网


此时会找到 Tomcat8.5 对应的 servlet 版本为 3.1



此时下载 servlet 的版本 3.1,然后将 jar 包添加到 pom.xml 里面


配置 web.xml

这里无需记忆 servlet 具体的 xml 是什么内容,只需要对固定的 xml 记录起来,然后使用的时候稍作修改即可


<?xml version="1.0" encoding="UTF-8"?>


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee


http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"


version="3.1"


metadata-complete="true">


</web-app>

创建一个 servlet 测试类

写具体的 servlet 项目


  • 编写后端类 必须继承 HTTPServlet


import javax.servlet.ServletException;


import javax.servlet.http.HttpServlet;


import javax.servlet.http.HttpServletRequest;


import javax.servlet.http.HttpServletResponse;


import java.io.IOException;


import java.io.PrintWriter;


//首先,创建的 servlet 都必须实现 HttpServlet


public class helloServlet extends HttpServlet {


//然后重写 doGet 和 doPost 请求


@Override


protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {


//设置相应 response header 编码格式


resp.setCharacterEncoding("utf-8");


//设置响应类型,这里表示将会响应一个 html 页面


resp.setContentType("text/html");


//进行 body 的输出


//首先需要一个输出流


PrintWriter writer = resp.getWriter();


writer.println("<h1>你好,servlet</h1>");


}


@Override


protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {


this.doGet(req,resp);


}


}


  • 配置文件(一个后端类对应一个配置文件)配置 url 和后端类的关联关系


进行打包发布

如何进行发布


1.打开右边的 maven,然后点击 package



2.找到生成的 war 包,然后部署到 Tomcat 的 webApp 下



3.然后访问 Tomcat 下的 hello 页面(前提必须是启动了 Tomcat)


当我们打开 tomcat 的时候就会发现我们的 java31.war 就已经部署在 Tomcat 下了



访问 hello 页面(访问的时候一定要加上这个 jar 包的名称)

评论

发布
暂无评论
初识Servlet