当前位置: 首页 > news >正文

使用tomcat里的API - servlet 写动态网页

一、创建一个新的Maven空项目 

首次创建maven项目的时候,会自动从maven网站上下载一些依赖组件(这个过程需要保证网络稳定,否则后续打包一些操作会出现一些问题)

ps:校园网可能会屏蔽一些网站,可能会导致maven的依赖下载失败(可以切换到手机热点试试)

可以看到这里的目录

二、引入依赖

servlet是tomcat提供的api,不是jdk提供的,属于第三方库

(不是jdk自带的,需要手动安装引入)

通常一个项目依赖的内容非常多,手动管理就很麻烦,而maven就可以很方便的解决这个问题

1)打开maven中央仓库,找到需要servlet的jar包

https://mvnrepository.com/

选择3.1.0这个版本(因为我的tomcat是8这个版本,刚好和这个servlet匹配) 

复制代码粘贴到

这个dependecies标签,可以包含很多个依赖,其中我们粘贴进去的dependency标签就是其中一个依赖 复制完之后刷新(右上方会有一个蓝色的m按钮,点一下就可以安装了)

安装成功是这样(安装好之后,后面使用就不用再安装了)

安装失败,会标红(亲测,校园网不太行,第一次失败了,后来用热点才弄好的)

可以看一些这个下载的包在哪

再根据这个信息

找到了这个jar包

 三、创建目录(创建一个tomcat结构的目录)

maven项目是普适的,使用于各种场景,不仅仅是tomcat

而我写的代码最总要放到tomcat上,就必须遵循tomcat的要求

创建一个tomcat结构的目录

其中这个web.xml不能空着,里面必须有东西,不然tomcat无法识别,

这里用一个模板复制粘贴进去即可。

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app><display-name>Archetype Created Web Application</display-name>
</web-app>

IDEA只对Java语言精准报错,对其他语言的报错只能作为参考(不一定准,可以不用管)

实在看不惯这个标红,可以alt+enter键 选择 ignore这个报错也可以


 以上几个步骤都是固定式操作,需要多操作几次才能熟悉

预备工作做完之后,接下来才是真正编写代码

四、编写代码

在Java目录中创建一个类,继承HttpServlet这个父类(该类就是前面安装的jar包里的类,不是jdk自带的)

main文件夹下的java里创建类

不是在test下

后面写的时候发现问题了(在这里创建没用的,tomcat网页上查看不到hello world)

重写父类的doget方法

doGet是处理HTTP GET请求的方法

重写,是为了给原有的代码实现自定义的功能

当tomcat收到一个GET请求的时候,有可能会执行到子类这个方法中,这个方法的两个参数分别是

HTTP请求 ,HTTP响应

根据服务器的主要逻辑,大概是三个步骤

1.读取请求并解析

        HTTP 请求本身是个字符串,此处就是解析HTTP请求字符串,构造成HttpServletRequest对象(tomcat自动完成)

2.根据请求计算响应(doGet要做的事情,我们要编写的地方)

3.返回响应给客户端

(tomcat会自动,把响应对象组织成HTTP格式的字符串)

 doGet方法创建了这个HttpServletResponse resp对象,但目前只是个空壳,需要我们进行计算

这个对象里的各种属性还需要进行设置

五、打包代码

1)在 pom.xml 里写入代码

packaging标签里设置打包的类型,默认打包 jar包。

build标签以及里面的finalname标签,设置包的名字。

(java中通用的打包方式,任何程序都可以打包成 jar 包,jar包里最重要的文件就是 .class文件)

tomcat要求的是 war包

(tomcat专属的压缩包 是 war 包,里面不仅有 .class文件,还有一些tomcat要求的配置文件web.xml等,还有一些代码html,css,js)

2)打包

如果看到build success 就说明打包成功了

可以再左边的目录里,看到target文件,里面出现了java109的war包

失败会显示一些报错原因:

1)可能是网络不顺畅。导致首次打包过程中,下载的一些第三方的jar包,maven下载出现问题。

(首次打包,容易出现问题。这些依赖下载好之后,后续就不用再下载了)

2)配置文件编写错误。例如 pom.xml。

六、部署程序

右键java109这个jar包,在open in 这里,点击explorer

复制目录中的 java109.jar文件,到tomcat的webapps中

启动 tomcat

在tomcat的文件里面, bin下找到startup.bat(windows点bat,linux点sh)启动

启动成功

七、验证程序

通过浏览器,访问tomcat,获取到我们写的代码中的hello world

由于安装了smart tomcat插件,所以路径稍微有点变化

原本访问的是 http://127.0.0.1:8080/109java/hello

后面装了插件,路径是 http://127.0.0.1:8080/hello_servlet/hello

109java对应的路径是,之前导入的这个109java.jar包

hello对应的是

最后成功访问

在tomcat的日志中也能看到,获取到的get请求

 八、如果修改了代码

加入代码中有些地方需要修改,修改后,刷新是看不到变化的

需要重新打包,重新部署

 

 

重新启动tomcat之后,内容就刷新了

 

http://www.lryc.cn/news/333787.html

相关文章:

  • 从0到1搭建文档库——sphinx + git + read the docs
  • EasyExcel 校验后导入
  • 【星计划★C语言】c语言初相识:探索编程之路
  • 搜维尔科技:借助 ARVR 的力量缩小现代制造业的技能差距
  • 数据结构之栈和队列
  • centos安装使用elasticsearch
  • 4.7学习总结
  • 自定义gitlog格式
  • Redission--分布式锁
  • 非关系型数据库(缓存数据库)redis的集群
  • MySQL:表的约束(上)
  • 树莓派5使用体验
  • 代码随想录算法训练营第42天| 背包问题、416. 分割等和子集
  • Node.js安装及环境配置指南
  • 【Java基础】面试题汇总
  • 数据库事务的超级详细讲解,包括事务特性、事务隔离级别、MVCC(多版本并发控制)
  • 鸿蒙Lottie动画-实现控制动画的播放、暂停、倍速播放、播放顺序
  • C++面试100问与自动驾驶100问
  • 加速 Redis 操作:掌握管道技术提升性能与效率
  • 深入浅出 -- 系统架构之分布式系统底层的一致性
  • idea Springboot 电影推荐系统LayUI框架开发协同过滤算法web结构java编程计算机网页
  • xss【2】
  • 时序分解 | Matlab实现GSWOA-VMD改进鲸鱼优化算法优化变分模态分解时间序列信号分解
  • css- 4
  • 22.括号生成
  • JAVA八股--redis
  • [图像处理] MFC载入图片并绘制ROI矩形
  • Godot 4 教程《勇者传说》依赖注入 学习笔记(0):环境配置
  • 强行让Java和Go对比一波[持续更新]
  • 理解七层网络协议