用IDEA创建Servlet实例

一.首先,Servlet是什么?

🍹参考博文:servlet介绍     🎇参考视频:servlet原理   🍀参考网站:servlet教程   

下图的web容器可以理解为tomcat服务器,servlet就是用来处理web服务器中的请求和响应的,是tomcat的一部分。

 

二.如何在IDEA中使用Servlet类?

1.首先,我们需要借助一个工具:maven

什么是maven?👉​​​​​​maven简介和配置(文本),maven的环境搭建(视频)

简单来说,借助maven,我们就可以轻松导入Servlet有关类包,各种依赖jar包。

2.在Idea中创建一个项目。

参考视频:HelloServlet的创建

1)创建一个Maven项目,选择Webapp模板

有关maven的设置

tomcat有关配置

点击加号

选择tomcat server->local,点击Deployment,选择Artifacts

部署好之后,页面如下

点击server,会看到URL这一栏变了,再把JRE这一栏选择自己电脑上的JDK版本。

点击Debug,跳出Hello World.页面

2)检查框架

在main文件夹下建立一个java子文件夹,标记为蓝色

3.新建一个java类MyHelloservlet。

MyHelloServlet.java

// 导入必需的 java 库
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// 扩展 HttpServlet 类
public class MyHelloServlet extends HttpServlet {

    private String message;

    public void init() throws ServletException
    {
        // 执行必需的初始化
        message = "Hello Servlet";
    }

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
            throws ServletException, IOException
    {
        // 设置响应内容类型
        response.setContentType("text/html");

        // 实际的逻辑是在这里
        PrintWriter out = response.getWriter();
        out.println("<h1>" + message + "</h1>");
    }

    public void destroy()
    {
        // 什么也不做
    }
}

要想实现Servlet接口,要下载相关依赖,我们上网搜,maven中Servlet的依赖。

依赖:

 <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <scope>provided</scope>
    </dependency>

粘粘上面提供的依赖语句放进pom.xml中。

注意:只能有一个<dependencies></dependencies>标签,且<dependency></dependency>标签要写在<dependencies></dependencies>标签里面。

如下图操作,下载依赖

在webapp的web.xml中的<web-app></web-app>标签中插入以下代码

 <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>MyHelloServlet</servlet-name>
    <servlet-class>MyHelloServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>MyHelloServlet</servlet-name>
    <url-pattern>/HelloServlet</url-pattern>
  </servlet-mapping>

注意:<servlet-class></servlet-class>中的类名要和自己写继承HttpServlet的类的类名一致。

<servlet></servlet>标签中的<servlet-name></servlet-name>标签中的名字要和<servlet-mapping></servletmapping>标签中的一致。

然后就可以运行啦,运行成功,界面如下:

补充:

🍒<servlet-class>的作用

servlet-class元素在Servlet配置中用于指定实现Servlet接口的类名。

在Web应用程序中,Servlet是Java Servlet API的一部分,用于处理客户端请求并生成响应。Servlet接口定义了处理HTTP请求的方法,如doGet()、doPost()等,这些方法用于处理不同类型的HTTP请求。然而,直接实现Servlet接口的类并不多见,通常的做法是通过继承HttpServlet类来实现具体的Servlet程序。HttpServlet类已经实现了Servlet接口中的大部分方法,并且提供了对HTTP请求方法的默认处理,如GET和POST请求。

在Servlet的配置中,<servlet-class>元素用于声明实现Servlet接口的类的全名。这个类应该包含重写或实现HttpServlet类中未实现的方法,以提供特定的业务逻辑。通过这种方式,当Web容器(如Tomcat)启动时,它会加载并实例化这个类,以便能够处理传入的HTTP请求。

此外,Servlet还可以通过web.xml文件进行配置,包括设置初始化参数、加载顺序等。初始化参数可以通过:ml-search[init-param]元素在<servlet>标签内部进行配置,这些参数可以在Servlet的初始化过程中被访问和使用。

总的来说,:ml-search[servlet-class]元素的作用是指定一个Java类来实现Servlet接口或继承HttpServlet类,以处理HTTP请求并生成响应,同时允许开发者通过配置文件提供初始化和业务相关的配置信息‌

🥦<servlet-mapping>的作用

‌<servlet-mapping>的主要作用是定义Servlet与URL之间的映射关系,使得用户可以通过特定的URL访问到对应的Servlet处理逻辑。

具体来说,《servlet-mapping》的工作原理和匹配规则如下:

  1. 精确路径匹配‌:例如,如果ServletA的url-pattern定义为/test,那么当用户访问http://localhost/test时,ServletA会被调用处理该请求。
  2. 最长路径匹配‌:例如,如果ServletB的url-pattern定义为/*,它会匹配所有未被其他Servlet匹配的URL。
  3. 后缀匹配‌:例如,如果url-pattern定义为*.do,那么所有以.do结尾的URL请求都会由对应的Servlet处理。

此外,《servlet-mapping》还有一些相关的配置和使用场景:

  • 在Spring MVC项目中,可以通过配置《servlet-mapping》来映射Controller层的处理方法,从而实现Web请求的处理。
  • 在Web应用中,可以通过《servlet-mapping》配置首页或其他静态资源的访问路径。

通过这些配置,可以灵活地控制Web请求的处理逻辑,实现Web应用的定制化需求

  • 19
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值