Servlet篇 —— 我的第一个Servlet程序

☕导航小助手☕

🍚写在前面

      🍜一、Maven的介绍

      🍱​二、第一个Servlet的创建

                   🍔🍔2.1 创建项目

                   🥩🥩​2.2 引入依赖

                   🦪🦪​2.3 创建目录

                   🍣🍣2.4 编写代码

                   🍛🍛​2.5 打包程序

                   🍤🍤​2.6 部署程序

                   🍰🍰​2.7 验证程序

      🥡三、安装 Smart Tomcat


写在前面

在上一篇博客中,主要介绍了 Tomcat 的下载和安装,当然 也介绍了 Tomcat 的使用(当然,介绍的仅仅是 部署静态页面 的部分) ~

而 这一篇博客 主要介绍的是 关于 Tomcat 的动态页面,这就涉及到了一些关于 Tomcat 所提供的 API —— Servlet ~

于是,就可以基于 Servlet 编写代码,部署到 Tomcat 上,实现 动态页面 的效果 ~

一、Maven的介绍

Maven 是一个 "构建工具",具有可以 针对代码进行依赖管理、编译、打包、验证、部署 等功能 ~

之前所写的代码,都是在 Idea 中,直接点击 "运行",就直接 "运行" 了,而没有经过上面的各种步骤 ~

这是因为 之前所写的代码都很简单(大部分代码都是 单个 .java文件,并且也不需要打包部署给其他人)~


如果是一个很复杂的项目,依赖了很多的第三方库,并且自身还有很多模块,模块也有依赖关系......

此时,程序的编译运行就不是直接一点就可以的 ~ 

Maven 就可以视为是 针对复杂项目进行管理的一个解决方案 ~


当然,Java 世界中的构建工具有很多(Ant、Gradle 等等),但是 Maven 是当下最主流使用的构建工具之一 ~

其中,Maven 自身的功能有很多的,不过现阶段只需要关心使用 它的两个功能:

  • 管理依赖:想使用某个第三方库,就是用 Maven 把这个库下载下来并导入到项目中
  • 打包:把代码编译好,把 .calss文件 打成压缩包(.jar 或者 .war)

maven项目 的目录结构:

二、第一个Servlet的创建

2.1 创建项目

需要注意的是,此处不在创建一个普通的 Java项目,而是要创建一个 Maven项目 ~

2.2 引入依赖

此处所涉及的依赖,是写 Servlet 程序 所需要的依赖(需要导入 Servlet 的 jar包),需要把这个 jar包 下载导入到项目中 ~

此处,可以使用 maven 来自动的下载、导入 jar包 ~

下载网址:Maven中央仓库

 

到了这一步,就可以来下载 jar包 了,但是 现在不想使用 手动下载的套路(具体可以去看一看 MySQL 那部分的下载方式),我们可以使用 Maven 自动帮忙下载 ~

复制内容之后,粘贴到 pom.xml文件 中:

当然,也不是随便就粘贴的~

需要注意一下标签的结构:最外层是 project 标签,是 pom.xml 自带的 ;需要在里面手动创建一个 dependencies 标签,然后再把复制的内容 粘贴到这个标签内部 ~ 

 

2.3 创建目录

虽然说,创建项目之后 会自动的创建一些目录,但是 还需要手动的创建出一些其他的必要的目录(这个是固定的操作,没有为什么 )~

创建的目录的名字是 webapp(注意,不是 webapps)

此时,创建的目录名字是 WEB-INF

此时,创建出的文件取名为 web.xml


此时,项目的目录结构是这样的:

至于为什么是这样创建的,这属于 Tomcat 做出的要求,要想使得程序被 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>

至于 web.xml文件 中的内容是啥意思,我们也不需要去关心,后续也不会去修改这个文件 ~

我们只需要知道,Tomcat 加载一个自己写的程序,就会先读取 web.xml文件 里面的内容 ~

2.4 编写代码

创建 HelloServlet.java文件 ~

  • 创建类,继承 HttpServlet类
  • 重写 doGet方法
  • 编写代码执行逻辑
  • 加上 WebServlet注解
import javax.jws.WebService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/hello")
//重写 doGet方法 后,还需要需要加上这个注解,约定 HTTP请求的 URL 是啥样的 path,才会调用这个Servlet类
//不是所有的 GET请求,都会触发 doGet方法(只有满足特定的路径的请求,才会触发)
//不能乱写:前面一定要加上 / ,后面一定不要加 /
public class HelloServlet extends HttpServlet {
    //HttpServlet 父类里面本身有一个 doGet方法,此处通过重写的形式,让 doGet 执行到自己写的代码
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //把自动生成的调用父类的方法,一定给删掉,否则会出现问题
        //super.doGet(req, resp);

        //当前只需要写一个 Hello Servlet 的逻辑
        //这个是打印在响应报文中,显示到页面上
        resp.getWriter().write("Hello Servlet");

    }
}

需要注意的是:

  • 上述的代码没有 main方法,不能单独执行,main方法 在 Tomcat 里面 ,上述代码需要部署到 Tomcat中,由 Tomcat 进行调用 ~

2.5 打包程序

打包操作,其实非常简单,借助 maven,可以一键式完成 ~

此时,在项目目录下 就生成了所需要的结果:

可是,默认生成的压缩包是 jar包(Java世界 中的通用的压缩包),而 Tomcat 识别的确是 war包 ~

所以,此处需要修改 pox.xml,让生成工作生成 war包 ~

<packaging>war</packaging>

 当然,也可以顺便修改一下 生成的包的名字(可选项,但是如果不改 后续会比较麻烦)

    <build>
        <finalName>hello_servlet</finalName>
    </build>


此时,重新 打包:

2.6 部署程序

此时,就可以把刚才得到的 war包,拷贝到 Tomcat 的 webapps目录 中 ~

 

接下来,当然要 启动 Tomcat:

在启动 Tomcat 的时候,就能在 Tomcat 的日志中,看到一个提示,意思就是 Tomcat 发现了这个 war包,同时就会对这个 war包 进行解压缩和加载 ~

2.7 验证程序

 当前 已经把程序部署到 Tomcat 上,还需要让浏览器去构造一个 HTTP 的 GET请求:

127.0.0.1:8080/war包名字/代码中所写的注解

 

 

三、安装 Smart Tomcat

一看上面的过程就非常的繁琐,现在就可以介绍一种稍微简单一点的办法(只是稍微简单一点)~

前面的 第一、二、三步骤 创建一个项目的时候,就操作一次就好了;第四、五、六、七步骤 是每次修改代码,都需要进行的;所以说 可以修改 第四、五、六、七步骤 来进行优化,而 编写代码 和 验证 部分 没有办法优化,所以可以优化其他的两点 ~

可以借助 Idea 里面的插件 来进行简化 打包 和 部署 —— Smart Tomcat ~

就是下面的这个:

Smart Tomcat 的功能,就是能够在 Idea 中调用 Tomcat(启动 Tomcat,就不需要手动的找到 启动 Tomcat 的脚本来运行:就是 startup.bat那个),可以直接在 Idea 上面点一下就可以运行 Tomcat 了~

之后点击 OK,就会出现下面的界面:

然后再点击小三角形,编译打包部署程序,并运行 Tomcat ~

Tomcat 已经跑起来了,同时 乱码也是消失不见的 ~

 此时,就可以在浏览器输入 127.0.0.1:8080/hello_servlet/hello 


后续,如果想重新修改代码,直接重新运行小三角形即可,Smart Tomcat 会自动进行上述操作 ~

好了,关于  的内容就介绍到这里了 ~

希望大家看完之后会收获满满 ~

如果感觉这一篇博客对你有帮助的话,可以一键三连走一波,非常非常感谢啦 ~

  • 10
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 7
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:撸撸猫 设计师:马嘣嘣 返回首页
评论 7

打赏作者

哎呀是小张啊

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值