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

用servlet写一个hello word

哈喽,你好呀.今天要分享的是如何通过servlet在网页上去写一个hello world,还记得我们计算机入门的第一个程序吗,步骤非常简单.但是今天写的这个hello world步骤就有点多啦,但是熟悉之后,也还是很简单的,这里博主总结了6个步骤,快来看看吧~~

 


目录

1.创建Maven项目

2.引入依赖

3.创建目录

4.编写代码

5.借助Smart Tomcat来简化打包和部署程序.

6.验证程序


1.创建Maven项目

Maven是一个构建工具,在这里我们主要要了解它的依赖管理和打包.创建一个项目时选中Maven,然后点击next:

 

 然后在Name这一栏填写要创建项目的名称,这里我写的是Test.Location这一栏是你项目所在的文件位置,可以自定义其位置.

 点击Finish之后,一个Maven项目就创建好了.

如果是第一次使用Maven的话,不一定会像我这么顺利,因为Maven自身会有很多依赖,这些依赖需要通过网络来下载(而我的因为之前用过,所以已经加载好了),由于Maven对应的服务器在国外,所以加载的速度可能会非常慢.idea的下方会有一个读条,表示其加载进度:

 Maven项目创建好之后,我们来看一下它的目录结构:

 


2.引入依赖

之前在创建Maven中提到的依赖,是maven自身为了运行需要的依赖,此处要引入的依赖是写一个Servlet程序所需要的依赖(Srevlet的jar包).我们需要把这个jar包下载到项目中.maven自身支持自动下载并导入依赖的.我们可以从maven的中央仓库(https://mvnrepository.com/)去下载.

直接在这个网站中搜索servlet, 然后点击第一个(Java Servlet API)进入详情页:

点进去之后会发现有好几个版本,在这里我们一定要注意了,版本可不是随便选的,因为servlet还涉及到Tomcat等等,所以我们下载的这个版本最好要与其他软件统一好.否则到某个时候可能会因为这个阴你一手,别问我为什么会知道,照着做就是了.(我用的是java8,Tomcat8.5,所以这里一定要选Servlet3.1  这套搭配是Tomcat官方推荐的) ,我们再点开这个3.1版本的:

 根据上图,我们可以选择手动下载这个jar包,就行之前引入jdbc的驱动一样.但是在这里,我们其实不需要去手动下载引入,因为maven自身是支持自动下载的,所以我们只需要将上图中圈出来的那段内容复制到maven项目中的pom.xml文件中.

 复制的时候需要注意,我们要先手动创建一个dependencies标签,再把复制的dependency标签粘贴到这里面.如果有多个依赖,都可以复制到dependencies里面,从的的标签名我们也可以看出,它是dependency的复数形式,里面可以放多个dependency标签.

有些同学可能复制过来之后有些地方会标红,不要害怕,首次使用标红就对了,说明你的依赖还没下载到本地,只要你复制过来,一般它就会自动开始下载,如果没有自动下载,可以手动点一下刷新,来触发一下重新下载,然后只需要等一会就行了.(刷新按钮在ieda右侧的maven里面点击这个Maven,会出现以下页面:

刷新按钮就在这啦)

如果需要其他的第三方库,也可以使用同样的方法来进行下载了(也就是引入依赖).


3.创建目录

虽然我们创建maven时已经自动创建好了一些目录,但是我们还需要去创建一些我们自己的目录.这是固定操作,不要问为什么.在main目录里面创建一个webapp,然后在webapp目录下创建一个WEB-INF目录,接着在WEB-INF下创建一个web.xml文件:

创建好之后目录结构就是这个样子了,要严格按照上面的要求来,目录名也要与上图相同.搞错了就芭比Q没得玩了.为什么要这么安排呢,因为Tomcat就是按照这样的目录结构来识别的.这属于Tomcat做出的要求,咱们按照要求就行了. 

创建好web.xml之后,我们要将以下这些写入web.xml里面,注意别写错了,这里建议复制粘贴:

<!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>

 有人就会问了,这段代码什么意思?我只能告诉你,tomcat加载一个你写的程序,就会先读取这个web.xml里的内容.这个不用太过关注,不重要,照着写就是了.后续也不会去修改这个文件.有些同学可能从我这粘贴过去会标红,其实也不用害怕,这没什么,标红就标红吧,在这里并不是报错,不影响你的程序(看到标红而害怕的同学估计是被java的bug给整怕了).


4.编写代码

前面三步就是准备工作,从这步起,就开始编写代码了.

 我们在java中创建一个java类,让它继承HttpServlet类:

 注意:继承的这个HttpServlet类就是来自于我们刚刚引入的那个servlet依赖,如果这里标红,就去检查一下你的Servlet是否引入正确,如果引入正确试着刷新一下.

这个类创建好之后,我们就要在里面写能实现hello world的代码了.首先我们要重写doGet方法,通过重写让doGet执行到我们自己编写的代码.doGet做的工作,就是Tomcat收到请求之后,到返回响应之前做的工作.不知道你们知不知道在网络编程那块,大致有三步:1.读取请求并解析.2.根据请求计算响应.3.把响应返回给客户端.其中1和3都是有由tomcat自动完成的,这里的doGet完成的就是第二步.这里我们就要区别于之前写的代码了.doGet写完之后,不需要我们自己去调用,是Tomcat自动识别调用的(通过GET请求去触发):

 

 

 其中doGet参数中的HttpServletRequest就是Tomcat根据收到的HTTP请求生成的对象,doGet里面根据当前的业务逻辑,依据HttpServletRequest生成一个HttpServletResponse.Tomcat再把HttpServletResponse对象构造成HTTP响应报文,返回给客户端.

需要知道的是:doGet的第二个参数,是Tomcat先生成的一个空的对象,然后在doGet里面根据业务逻辑,给这个空对象填充数据..doGet执行完了,Tomcat再把HttpServletResponse对象构造成一个HTTP响应.

注意:我们的类的上面还有一个注解(@WebServlet("/hello")),这个是什么呢?其实就是约定HTTP请求的URL是什么样的path才会调用到当前的这个Servlet类.


5.借助Smart Tomcat来简化打包和部署程序.

写到这里,我们的业务代码就完成了,可是怎么执行呢.我们接下来就需要对其进行打包和部署了,部署完成之后就可以去验证程序了.但是在这里我是借助了IDEA中一个插件,Smart Tomcat,来简化打包和部署的.

安装Smart Tomcat插件:

根据上图进行安装(我已经安装好了,没安装的会有一个绿色的按钮).

安装完成之后,根据以下步骤,我们就可以在tomcat里面去运行这个程序了.首先点击Add Configuration,然后进入这个页面:

 

点击左上角的"+",选中Smart Tomcat,然后点击ok即可.

此时,我们再点击这里的运行(绿色三角),即可完成编译打包部署,并运行tomcat了.

6.验证程序

此时我们在自己的电脑游览器上输入url:127.0.0.1:8080/Test/hello.一个回车就可以看到我们的hello world打印在页面上啦.


 

好啦.到这里就结束啦,是不是很简单呢,博主现在也是在学习阶段,如果有写的不对或建议或不懂的地方都可以评论或私聊博主,咱们一起进步呀~~

 

相关文章:

  • 管理平台/沈阳seo
  • 没有网站可以做cpa广告么/网站app免费生成软件
  • 广州网站建设公司哪家好/最近大事件新闻
  • 网站开发公司是互联网公司/怎样才能注册自己的网站
  • 视频二维码生成器/西安seo网站建设
  • 做外贸是自建网站好还是b2b好/四川seo关键词工具
  • 【以太网硬件十五】网络变压器是什么?
  • React 路由v6 - 超全详解
  • React 入门:开发环境搭建
  • 2.MongoDB系列之创建更新删除文档
  • java基于微信小程序的课堂点名签到请假系统 uniapp 小程序
  • JDBC最终章—— Druid数据库连接池及使用案例
  • Java---包和final
  • 【力扣刷题】Day27——DP专题
  • 总体设计启发性规则7条
  • jsx进阶篇
  • 高斯消元——解线性方程组+球形空间产生器+开关问题
  • Node.js查询MySQL并返回结果集给客户端