哈喽,你好呀.今天要分享的是如何通过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打印在页面上啦.


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

用servlet写一个hello word相关推荐

  1. 使用Servlet写一个hello world

    使用Servlet写一个hello world 使用Servlet创建一个hello world程序需要完成的细节蛮多的,大致分为7步 1:创建项目 首先创建一个Maven Maven是Java世界中 ...

  2. 写一个VBA word宏,能够实现多个word文档替换文字的功能

    下面是一个示例代码,可以实现在多个 Word 文档中替换文字的功能: Sub ReplaceTextInMultipleDocs()Dim strOldText As String Dim strNe ...

  3. 写一个可以一键统一调整word文档格式的程序

    要写一个可以一键统一调整 Word 文档格式的程序,可以使用 Microsoft Office Word 的 VBA 功能来实现. 步骤如下: 打开 Word 文档,在菜单栏中点击"开发人员 ...

  4. 媳妇儿让我给她找一个PDF转word免费工具,找了半天我决定给她写一个出来^-^

    之前我媳妇儿让我给她找一个PDF转WORD的免费工具,在网上找了半天发现要不就是收费,要不就是转化的格式混乱.既然网上不能找到好用的免费工具那就直接来写一个吧.人生苦短,我用python. 万能的py ...

  5. word中添加java代码怎么写_Java如何在word文档中写一个段落?

    在Java编程中,如何在word文档中写一个段落? 注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包.这里下载最新版本 ...

  6. python是一门面向什么的语言用词语填空_使用pygame写一个古诗词填空通关游戏

    之前写的诗词填空的游戏支持python2,现在对程序进行了修改,兼容支持python2和python3,附下效果图. 下面是两个主程序 idiom_lib.py代码: # -*- coding=utf ...

  7. Spring Security 实战干货:从零手写一个验证码登录

    1. 前言 前面关于Spring Security胖哥又写了两篇文章,分别图文并茂地介绍了UsernamePasswordAuthenticationFilter和 AuthenticationMan ...

  8. 如何5分钟秒懂Java之基础入门篇 第一个hello word

    本来其实想讲一下这个Java基础入门系列_JDK的安装,后来想想还是算了.毕竟这就是相当于一个给电脑装一个APP,类似这么个流程. 还想说一个这个JDK一个必须要知道的知识点,那就是JDK的bin目录 ...

  9. cmd管道无法接收特定程序返回值_渗透不会反弹shell?来教你写一个cmd的shell

    渗透不会反弹shell?来教你写一个cmd的shell 包含的库: #include #include #include #include #include #pragma comment(lib, ...

最新文章

  1. python程序框架的描述_简单介绍Python下自己编写web框架的一些要点
  2. LeetCode 1254. 统计封闭岛屿的数目(图的BFS DFS)
  3. 排查 Linux 系统故障,看这一篇足够了。
  4. ARTS打卡计划第二周-Algorithm
  5. 【转载】SI 9000 及阻抗匹配学习笔记(一)
  6. Eucalyptus常用命令示例
  7. pgadmin4下载
  8. 食品科学与工程与计算机论文,2010食品科学与工程专业毕业论文
  9. dubbo学习笔记(一)——dubbo的作用及简单应用
  10. BI_开发_问题:ORA-26002: Table DWH.W_XACT_TYPE_D has index defined upon it.
  11. gate simulation
  12. 德语语法笔记——名词的变格
  13. BitComet for Mac(高效好用的BT下载客户端)
  14. 链栈(Linked Stack)
  15. 安全漏洞之Log4j2漏洞复现绕过分析
  16. Python基础知识:3、操作列表
  17. 电脑版android版iphone版ipad版,[下载]微软发布iPad版Office iPhone版Android版彻底免费...
  18. 计算机考研803学校,803计算机考研大纲
  19. pic c语言按键程序,PIC的C语言使用
  20. 西交大计算机英语复试,西安交大复试的详细流程

热门文章

  1. 支付宝微信推出高速收费新服务器,高速收费站为什么不可以用支付宝或微信支付?...
  2. Rhapsody的文件能转到EA里面吗
  3. 中国电子游戏机发展回顾 游戏机手柄从未被禁止
  4. 探秘皮克斯:坚持原创
  5. 用Python绘画金牛(一)
  6. 做伦敦金走势图需要注意什么?
  7. 【技巧学习】英语速读技巧,提高英语文章的阅读速度
  8. 联邦学习安全之后门攻击
  9. 在html中怎么去掉自动编号,Word怎么取消自动编号 烦人的Word自动编号如何取消?...
  10. scp 下载服务器文件失败,因为目标服务器升级 ECDSA host key for IP has changed and you have requested strict checking.