浅谈如何创建一个servlet程序

一、创建servlet程序

1、使用IDEA创建一个maven项目

在这里插入图片描述
在这里插入图片描述

选择servlet程序要存放的路径
在这里插入图片描述

2、引入依赖

2.1 maven是一个构建工具

     创建maven项目的目的也是基于maven所具有的功能。maven是一个构建工具,在项目中起着打包项目、编译项目、管理项目依赖…的作用。因此在项目中引入的诸多依赖其实归功于maven对其进行管理、下载…、

2.2 pom.xml文件

     maven项目创建完毕之后,会自动生成一个pom.xml文件,因为此时我们创建的是一个servlet程序,所以需要在pom.xml文件中引入servlet API 依赖的jar包。

2.3 中央仓库

     查找依赖都可以在中央仓库上查找:https://mvnrepository.com/    中央仓库是一个开源、免费、资源众多的网站,在上面可以找到众多程序员写程序时所需、必备的驱动包、依赖、API…

      在中央仓库搜索servlet的依赖。
在这里插入图片描述
在这里插入图片描述
     可以在 http://tomcat.apache.org/whichversion.html 查询Tomcat版本与servlet版本的对应关系。
在这里插入图片描述
在这里插入图片描述
< dependencies> < /dependencies>标签内部放置项目依赖的 jar 包, maven 会自动下载依赖到本地.

3、创建层级目录

     maven项目建立好之后,会自动生成如下一些目录:
在这里插入图片描述
src:存放源代码
main/java:存放.java文件
main/resources:存放一些资源文件
test/java:存放项目的测试代码

     除了含有IDEA自带的这些目录之外,还需要我们手动添加一些目录。

3.1、 创建webapp目录

1)、在目录main下创建一个目录(directory)weapp

3.2、创建WEB-INF目录

2)、在目录webapp下创建一个目录WEB-INF

3.3、创建web.xml文件

3)、在目录WEB-INF下创建一个文件web.xml

然后将以下的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>

     webapp目录是未来部署到Tomcat的一个重要目录,一些静态资源例如.html,css都可以存放在webapp目录下。

     还有一个重要的文件:web.xml。Tomcat找到这个文件才能正确处理webapp中的动态资源。

4、编写servlet代码

在这里插入图片描述
    4.1创建一个类TestServlet,继承自 抽象类(abstract class) HTTPServlet。
    4.2在类的上方加上注解@WebServlet(“/time”)表示Tomcat收到的请求中是路径为/time的请求才会调用TestServlet这个类的代码。
    4.3重写doGet()方法。doGet()方法的参数有两个,分别是HTTPServletRequest req,以及HTTPServletResponse resp,这两分别表示HTTP请求以及服务器返回的HTTP响应。doGet()方法会在收到get请求时被调用。
    4.4HTTPServletRequest表示HTTP请求,Tomcat按照HTTP请求的格式把字符串格式的请求转成一个HTTPServletRequest对象,后续想获取请求中的信息(method、url、protocol、header、body),都可以通过这个对象获取。
     4.5HTTPServletResponse表示HTTP响应。代码中把响应对象构造好。(构造响应的状态码、header、body等)
    4.6resp.getWriter()会获取到一个流对象,通过这个流对象可以写入一些数据,写入的数据会被构造成一个HTTP响应的body部分,Tomcat会通过object.writeValueAsString(对象)把整个响应转成字符串,然后通过socket写回给浏览器。

    从上述代码可知:
(1)、我们上面所写的代码并没有出现main()方法来作为程序的入口,是因为main()已经被包含在了Tomcat里了,我们写的代码会被Tomcat在合适的时机调用起来。
(2)、那我们创建了一个maven项目之后,随便写个类就能被Tomcat调用吗?
当然不是
主要需要同时满足3个条件:
a)、自己所写的类需要继承自HTTPServlet类。
b)、需要在类的上方加上@WebServlet(“/xxx”)注解,以便Tomcat在收到请求时根据注解里的路径,明确路径是什么之后才会调用相应匹配路径的代码。
c)、这个类需要重写doGet()或者doPost()、doXxx()…方法。

5、打包程序

1)、点击项目右侧的maven
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
    build success 之后就会在target目录下生成了一个jar包,jar包里存放了java的.class文件,但是我们并不是需要一个jar包,而是需要一个war包,Tomcat需要识别的是war包。

5.1 war包和jar包的区别

a)、jar包是普通的java程序打包的结果,里面会包含一些.class文件。
b)、war包是java web的程序,里面除了会包含.class文件之外,还会包含HTML、CSS、JavaScript,图片、jar包,这些打成war包才能被Tomcat识别。

所以,即使通过maven将程序打成jar包还远远不够。于是,
1)、先在pom.xml中新增一个< packing>< /packing>便签,表示的是将程序打成一个war包。
在这里插入图片描述
2)、再在pom.xml中新增一个< build>< /build>标签,同时在< build>< /build>标签里面内置一个< finalName>< /finalName>标签,< finalName>war包名字< /finalName>标签表示打出的war包名字叫什么,此处war包名字自定义,但一般与创建的类类名一致。
在这里插入图片描述
做完这两步,重新使用maven打包项目,就能看到新生成的war包结果了:
在这里插入图片描述

6、部署程序

把生成的war包拷贝到Tomcat的webapps目录下,启动Tomcat,Tomcat就会自动把war包解压缩。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、验证程序

在浏览器中输入URL,能打开页面即为成功。
注意:URL 中的 PATH 分成两个部分, 其中 testNetDesign为 Context Path(一级路径), time 为 Servlet Path(二级路径)。

在这里插入图片描述

二、使用Smart Tomcat将打包程序、部署程序两个步骤简化,一步到位。

1、pluging(插件)

手动拷贝war包到webapps目录下比较麻烦,还有更方便的部署方式,在此之前,我们首先来了解一下pluging。什么是pluging?IDEA是一个功能强大的软件,但也并不是什么功能都已经配置齐全,一些小众的、特定的功能,IDEA提供了对应的pluging在商店中,供用户下载后配置去使用。pluging(插件)就是对程序的一些特定场景, 做出一些特定的功能的扩展.

2、下载Smart Tomcat

在IDEA的应用商店搜索Smart Tomcat,然后进行下载。
在这里插入图片描述
在这里插入图片描述

3、配置Smart Tomcat

Smart Tomcat 下载完成之后,将Smart Tomcat 配置到项目中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值