【Servlet】实现HelloWorld的显示

Servlet实现HelloWorld的显示

使用 servlet 实现在页面输出 Hello World

需要的工具:Tomcat(推荐8版本,更好的适配jdk1.8),Maven中的servlet依赖(这个可以在Maven中央仓库中复制),idea

七大步骤

一、创建Maven项目

什么是Maven呢

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

image-20221030132058112

二、引入 Servlet 依赖

写Servlet程序时,就需要Servlet依赖(Servlet的 .jar包),需要把这个 jar 包下载导入到项目中

Maven 自身就支持自动下载并导入依赖,上面有Maven中央仓库的地址

202210301342158

将复制的内容粘贴到 pom.xml中,在project标签中创建一个 dependencies标签,然后将其放入其中就行,后面需要的第三方库,都可以直接放入 dependencies标签中,若里面内容是红色的,将其刷新一下就可(Maven进行下载依赖)

image-20221030134650185

image-20221030134944560

三、创建目录

main 目录下 下载 webapp,然后在里面创建 WEB-INF目录,然以在里面新建web.xml 固定写法Tomcat按照这样的目录结构进行识别,web.xml中的内容直接复制即可,固定的

image-20221030135138527

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>

四、编写 Java 代码

在 Java目录底下,创建 Java 类,然后继承 HttpServlet 类,然后重写里面的 doGet等方法

image-20221030140808634

// 注解:相当于指定了 访问path路径(根据这个 path找到对应的类,然后调用对应的 doxxx方法,这个过程就叫 "路由")
// 注意:一定是"/" 开头,如果是 "./" 也找不到的
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.doGet(req, resp);

        // 这个只是在 tomcat服务器上进行的打印
        System.out.println("hello world");

        // 这个就相当于把 "hello world"这个字符串写到响应报文的body中,然后浏览器就会显示body内容
        resp.getWriter().write("hello world");
    }
}

五、打包

一键打包

image-20221030150630559

202210301508807

六、部署

因为 上述我们写的代码没有 main 方法,就需要将其部署到tomcat底下,由Tomcat进行调用

将生成的 war 文件,拷贝到 tomcat目录中的 webapps底下

image-20221030151359700

七、浏览器进行验证

通过 浏览器 构造 GET请求,让 tomcat自动调用 我们写的 doGet方法

image-20221030152946671

更加方便的部署

在 idea 上安装一个 smart Tomcat插件

smart Tomcat的功能,就是能够在 idea 中 调用 tomcat(这时候就不用手动运行 .bat 文件了,idea 中直接运行就能运行 tomcat了,简化了 部署+运行

smart tomcat 的工作原理,其实和前面的手动拷贝部署,不太一样,此时打开 tomcat 的 webapps 目录,并没有 war 包;只是 smart tomcat 通过其他手段在 tomcat 直接加载了程序,跳过了打包+拷贝,但也起到了部署的效果

上面七大步骤中的部署,会加载 webapps中所有的程序(包括 tomcat的欢迎界面);但是当前这种方法只是加载了当前程序,并没有加载其他的,所以 tomcat 欢迎界面并没有被加载

image-20221030160603710

image-20221030160950818

image-20221030161439433

常见错误

  1. 404 大概率 URL 写错了,或者 web.xml 有问题
  2. 405
    1. method not found GET请求,但没有doGet方法
    2. super.doGet 没有删掉
  3. 500 服务器内部错误 代码里面发生异常
  4. 无法访问此网站 – tomcat 没有正确启动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值