关于Tomcat启动Servlet工程与映射的访问JavaWeb

Posted 上进小菜猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Tomcat启动Servlet工程与映射的访问JavaWeb相关的知识,希望对你有一定的参考价值。

@[toc]

一.前言

上文的【Maven父子项目工程中的Servlet优化与准备】一文中我们已经建立好了需要的工程,本文,我们尝试搭建第一个Servlet项目。

二.HelloServlet

Servlet接口在sun公司有俩个默认的实现类:HttpServlet和GenericServlet

新建立一个java接口,标准按照阿里巴巴接口标准

如下图:

1.写一个普通类 ,我的类名为:HelloServlet
2.尝试实现我们的Servlet接口,我们可以直接继承HttpServlet,这个接口是sun公司的默认的实现类。
如下:

package com.gowork.servlet;

import javax.servlet.http.HttpServlet;

public class helloservlet extends HttpServlet 

重写Servlet的doGet和doPost方法:
Servlet重点源码如下:

void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;

idea重写方法快捷键:


因为get或post只是请求实现的不同方法,所以它们可以相互测试。业务逻辑是相同的。
编写类:

public class helloservlet extends HttpServlet 

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
        PrintWriter Writer= resp.getWriter();  //响应流

        Writer.print("Hello,Servlet 上进小菜猪");

    

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
        super.doPost(req, resp);
    

三.编写Servlet的映射

3.1 为什么需要Servlet映射?

我们编写了一个java程序,但我们需要通过浏览器访问它,浏览器需要连接到web服务器,因此我们需要注册我们在web服务中编写的servlet,并为其提供浏览器可以访问的路径。

3.2 注册Servlet

进入子项目中的web.xml添加配置如下:

<servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.gowork.servlet.helloservlet</servlet-class>
</servlet>

3.3 Servlet的请求路径

进入子项目中的web.xml添加配置如下:

<servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

四.配置Tomcat

点击右上角的添加:

点击加号,找到Tomcat,配置基础配置,确保配置如下:

注意配置项目发布的位置!

五.项目启动

点击上面的启动项目,等待配置服务器:

启动之后,我们会发现多了应该webapp文件夹和target文件夹

webapp文件夹里面的index.jsp为我们的前端样式文件,类似html,如下:

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

我们启动项目:


本地访问http://localhost:8080/javweb
结果如下:

5.1 映射

映射文件为:

    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.gowork.servlet.helloservlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

由上面的xml文件可以看出,如果游览器访问/hello,会转到com.gowork.servlet.helloservlet,而我们的com.gowork.servlet.helloservlet配置如下:

@Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
        PrintWriter Writer= resp.getWriter();  //响应流

        Writer.print("Hello,Servlet Shangjin small vegetable pig");

    

所以映射输出为:


本次任务完成!

以上是关于关于Tomcat启动Servlet工程与映射的访问JavaWeb的主要内容,如果未能解决你的问题,请参考以下文章

修改应用下的servlet的url-pattern值后,tomcat启动问题

servlet映射路径

java servlet简述

tomcat web工程 jar包冲突解决方法

Servlet

tomcat可以正常启动,但是不能访问即页面报404错误怎么办?