我的第一个Servlet程序,并理解浏览器和代码如何关联在一起
创始人
2024-02-22 08:43:40
0

目录

Servlet

第一个Servlet程序

1.创建项目

maven是什么

如何创建maven项目

2.引入Servlet依赖

找到库中maven代码

3.创建目录结构

4.编写代码

理解注解@Webserlet

5.打包程序

生成war包

6.部署程序

7.验证程序

二.理解浏览器发的请求是怎么和自己写的代码建立联系的

1.匹配Context path的第一级路径

2.匹配Servlet Path第二级路径

3.匹配http方法


1.静态页面 vs动态页面

静态页面 直接拷贝到webapps就行

动态页面:基于servlet api进行代码实现了

Servlet

Servlet 是一组 Tomcat 提供的 API, 让程序猿自己写的代码能很好的和 Tomcat 配合起来, 从
而更简单的实现一个 web app.
 

第一个Servlet程序

写一个Servlet的 hello world(和jdbc差不多,都是固定的套路)

7个步骤:

1.创建项目

需要创建的是一个meven项目

maven是什么

 maven实际上就是一个构造工具

包括不限于,编译,打包,部署功能....

实际上程序都有很多模块,模块之前都有相互依赖关系,你想编译运行a,就得先b,想b就c,一个一个写就比较麻烦

构建工具就是解决这个问题,使我们在开发比较复杂的项目的时候,也是可以比较方便进行打包

和编译工作的

如何创建maven项目

咱们使用mavem主要就是借助 maven 进行编译,打包,管理依赖

2.引入Servlet依赖

Servlet 不是 java 标准库自带的,要想使用, 就需要额外的下载安装,并引入到项目中,maven的一个核心功能,就是能够自动的管理依赖,就会把咱们使用的库里依赖的东西,自动从中央仓库里下载下来

找到库中maven代码

 中央仓库地址https://mvnrepository.com​​​​​​​​​​​

 搜索Servlet并选择maven

复制下列代码引入到idea中,并加入depencies

复制完成后,代码爆红,这时候要点击maven自动下载依赖

(maven的一个核心功能,就是能够自动的管理依赖)

 

3.创建目录结构

虽然maven已经帮我们创建出一些目录了,但是还不够,咱们需要搞的是一个符合tomcat要求的目录

 注意这里的位置,名字层次都必须严格一致,在web.xml写如下代码

然后 web.xml上写点东西(直接复制粘贴这段代码)


Archetype Created Web Application

4.编写代码

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.doGet(req, resp);System.out.println("hello");resp.getWriter().write("hello");}
}

doget表示Tomcat在收到某些get请求时,调用doget方法(根据请求计算响应),俩个参数分别是请求和响应,响应是输出型参数,再进一步tomcat就把resp通过doget生成的对象,转换成一个http请求报文(把响应结果返回给客户端)

理解注解@Webserlet

 

5.打包程序

把写好的代码通过Servlet打包 + 部署,在Tomcat上运行(Servlet比作火车车节,箱,Tomcat就是火车头带动跑,需要格式一致)

生成war包

在pom.xml中输入下列代码

 warservletHelloWorldorg.apache.maven.pluginsmaven-war-plugin3.3.1

6.部署程序

把war包 拷贝到tomcat的webapp中

 红色就是拷贝过来的程序,在经过tmocat部署生成servletHelloWorld文件

7.验证程序

通过浏览器构造一个HTTP请求来验证

 

二.理解浏览器发的请求是怎么和自己写的代码建立联系的

1.匹配Context path的第一级路径

 

获取到 url 中的第一级路径,servletHelloWorld,也就是我们new project内容,确定一个webapp

2.匹配Servlet Path第二级路径

TomCat找到servletHelloWorld 目录之后,就会加载里面的类,尤其是重点去识别 @WebServlet注解修饰的类

就会取出 url的第二级路径 /hello 这个也叫做Servlet path

然后就在@WebServlet 注解中,找到名字为/hello的类,找到类之后,创建实例(只会创造一次,如果之前创建过了,就会复用上次的实例

3.匹配http方法

再解析出Http请求方法get,取出get之后,就可以根据http方法来调用对应的servlet中的方法

get请求使用doget方法

post请求使用 dopost方法

put请求调用doput方法

delete使用dodelete方法

......

同时Tomcat还会构造出HttpServletRequest对象和HttpServletResponse对象

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...