Servlet程序及部署方式(Tomcat+Smart Tomcat)

目录

1、Servlet是什么?

2、Servlet程序【例——hello world】

2.1、创建项目

2.2、引入Servlet依赖

2.3、创建目录结构

2.4、编写代码

 2.5、打包程序

2.6、部署程序

2.7、验证程序

3、更方便的部署方式——Smart Tomcat


1、Servlet是什么?

Servlet是一种实现动态页面的技术,是Tomcat给程序员提供的进行二次开发的API

注:动态页面VS静态页面

        静态页面:就是内容始终固定的页面,无论什么时候访问,无论是谁访问,得到的页面效果都是一样的

        动态页面:不是真实的硬盘的文件,而是通过代码在内存中构造出一个“虚拟的资源”,可以根据你访问的时间不同,访问的人不同,访问时带有的参数不同,就可以构造出不同的页面

        构建动态页面的技术很多,每种语言都有一些相关的库/框架来完成。Servlet就是Tomcat这个HTTP服务器提供给Java的一组API,来完成构建动态页面

Servlet 主要做的工作:
  • 允许程序猿注册一个类, Tomcat 收到某个特定的 HTTP 请求的时候, 执行这个类中的一些代码.
  • 帮助程序猿解析 HTTP 请求, HTTP 请求从一个字符串解析成一个 HttpRequest 对象.
  • 帮助程序猿构造 HTTP 响应. 程序猿只要给指定的 HttpResponse 对象填写一些属性字段, Servlet
  • 就会自动的安装 HTTP 协议的方式构造出一个 HTTP 响应字符串, 并通过 Socket 写回给客户端.

2、Servlet程序【例——hello world】

一共7个步骤

2.1、创建项目

由于IDEA的版本不同,有一点点的不一样,但仔细研究一下,还是可以滴~

 进来后:

2.2、引入Servlet依赖

Servlet不是Java标准库自带的,所以使用时,需要额外下载安装,引入到项目中

maven的一个核心功能就是,能够自动的管理依赖,就会自动把我们从使用的库里依赖的东西,自动从中央仓库上,下载下来。

中央仓库的网址: https://mvnrepository.com

点击进入后: 

 

 选择3.1.0版本【servlet3.1.0和tomcat8.5和jdk8是配套的,其他的也可以,但可能或多或少有点小问题】

再次点击进入:

点击复制这块的代码,粘贴到 

刚才创建maven项目的pom.xml中:

 初次引入可能会爆红,是因为他的下载是需要时间的,你需要等一会

这里可以尝试刷新一下:

一般出错大概率可能是 网络不好的原因 

但如果出现了这个错误:

 这个问题其实,你不处理,也不会影响后面的打包,但是,看着错误实在难受,而且现在没影响,我也不确定会不会后面出现问题。

这个问题是有的IDEA上有这个问题,有的没有

 就是,maven依赖的插件,版本不匹配,手动指定一下这个插件的版本就可以了:

在pom.xml的<project></project>中添加如下代码:

    <repositories>
        <repository>
            <id>alimaven</id>
            <url>https://maven.aliyun.com/repository/public</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>alimaven</id>
            <url>https://maven.aliyun.com/repository/public</url>
        </pluginRepository>
    </pluginRepositories>

2.3、创建目录结构

虽然maven已经给我们创建了一些目录,但是不够诶,我们还需要搞一个符合tomcat要求的目录结果:

这个目录的结构,名字,位置,都必须一模一样,在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>

2.4、编写代码

注意,将代码放在java目录下:

 敲一个doGet回车:

 下一步:

下一步:

 注意,一定要将刚才的super删除掉 

 2.5、打包程序

当前的Servlet代码是没有main方法的,所以需要Tomcat带着才能将程序跑起来

 

 

                 一个小问题就是打出的是jar包,Tomcat不认,tomcat要求是war包,所以在pom.xml的<project></project>中添加如下代码:

    <packaging>war</packaging>
    <build>
        <finalName>HelloWorld</finalName>
    </build>

 

然后再像刚才那样去打包就可以了:

 

2.6、部署程序

部署之前,先将你的Tomcat启动了!!! 

把war包拷贝到Tomcat的webapps中

 

找到你所安装的Tomcat的位置:

粘贴包过去:

 

 

2.7、验证程序

通过浏览器,构造一个HTTP请求,来访问Tomcat服务器

 

梳理一下:

(1)、获取到url中第一级路径,/HelloWorld确定一个webapp

(2)、Tomcat找到HelloWorld目录后,就会加载里面的类,尤其是重点去识别@WebServlet注解修饰的类,就会取出第二级路径,找到了/hello类,找到后,创建实例(只会创建一次实例,如果之前创建过了,就直接使用上次的实例) 

 (3)、再解析出HTTP请求的方法GET,取出GET后,就可以根据HTTP方法来调用对应的Servlet的方法


3、更方便的部署方式——Smart Tomcat

        Smart Tomcat是idea上的一个插件,上面所介绍的Servlet程序运行方法实在是有点麻烦,主要是第五步,第六步【其他步骤都是一样的】,每次修改都需要重新打包和部署,非常麻烦,Smart Tomcat就帮助我们解决了这个问题,只需简单配置一下稍微点一下就可以一键实现打包和部署操作,Smart Tomcat插件安装步骤如下:

第一步,打开idea设置,找到插件选项,即Plugins。

第二步,在Marketplace搜索Smart Tomcat,下载安装即可。

 第三步,重启一下idea就可以了,首次使用smart tomcat需要配置,配置过程如下:

 

 

 Tomcat servlet配置一次即可,后面就记住了

        重点注意Context path:这里的Context path本来就是webapps里的war包名/目录名,但是由于Smart tomcat和之前的拷贝war包属于不同的运行方式,这里不涉及war包这样的概念,就需要手动配置ContextPath啦!

然后OK就可以了!

点击运行:

但是我这里报错了,为什么呢?看我标注的那里 

 一个端口号是不可以绑定多个程序的,也就是,我的Tomcat还正在启动着的,一山不容二虎滴~

关闭后,再次启动运行:

这里就表示启动成功啦! 

 本期结束啦!下期见~

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙洋静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值