Servlet 的初步认识以及实战 *** 作,一看就会了

Servlet 的初步认识以及实战 *** 作,一看就会了,第1张

大家好,我们来分享一下Servlet 的初步认识

Servlet(Server Applet),全称Java Servlet,未有中文译文,
是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的理解:
Servlet是指Java语言实现的一个接口
广义的理解
Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

servlet 是sun 公司研发的 动态web技术。实现了servlet接口的Java程序就是servlet

就这样就可以了

对于servlet的理解,就是任何实现了这个Servlet接口的类

接下来就是要实现它

  1. 使用idea 创建一个新的最简单的maven 项目

  2. 我们要编写一个类 , 用来实现我们servlet 接口
    将这个

  3. 将我们自己写的这个类发布到web服务器上 (例如tomcat)

这里什么都不用选,因为最简单的Maven项目就是不带任何模板的maven项目

接下来还有一个页面,选择默认完成就可以

这样maven 项目新建完成,删掉src 这个目录

导入需要的jar包
在上面的那个文件当中
(这两个jar包是我们执行servlet 程序必需的jar包)

<dependencies>
         
         <dependency>
             <groupId>javax.servletgroupId>
             <artifactId>javax.servlet-apiartifactId>
             <version>4.0.1version>

         dependency>
         
         <dependency>
             <groupId>javax.servlet.jspgroupId>
             <artifactId>javax.servlet.jsp-apiartifactId>
             <version>2.2.1version>

         dependency>


     dependencies>

我使用的是idea 2020 他会在右侧出现一个maven的图标(这一点是因软件版本而异的)

点一下, 就可以下载我们所需的jar 包,放到我们自己配置的本地远程仓库

看这个路径就可以了

有关于远程仓库的问题可以看这个

这就是我们建的一个子项目


注意看第一个项目中的这一行内容
他表示servlettest 包含在第一个项目当中

   <modules>
        <module>servlettest</module>
    </modules>

也就是说,servlettest 项目是第一个项目的子项目

同样,在子项目(servlettest )项目当中其实也有一个 parent

<parent>
        <artifactId>untitled</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

其实他就是代表untitled项目是servlettest 这个项目的爸爸 (父亲的角色)

我们前面搞了那么多,其实就是建了一个父项目和子项目

子项目可以使用 父项目 ,反过来讲就是错的

可以把它想成继承的关系

看我这个就可以

在子项目当中的指定位置上改一个这个文件

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"
         metadata-complete="true"></web-app>




<!--我们把这个文件换一下,因为它这个太老了-->

其实这个内容是可以在tomcat 当中找到的

这就是它的具体路径

接着,我们再来往下

在main 文件夹新建 java resource两个文件夹

这些都是我认为关于这个类,你应该知道的东西

package ceshi;      //这是一个包 ,  当中文件夹就可以

import javax.servlet.http.HttpServlet;        //这是程序正常运行必须的包

public class FirstServlet  extends HttpServlet {           //1.FirstServlet是我们自己随便写的类(自定义)
                                                          //2.HttpServlet   是默认(程序自带的)的类
                                                        //  3.  我们做了一个继承 *** 作
                                                         // 其实子项目servlettest 当中是使用了父项目里的jar包
                                                           //我们就是为了实现接口


}

这是截图 ,也许这样看的清晰

在这个类当中 按住ctrl 键 不放,然后点击HttpServlet

这就是这个类的源码

源码里面写着它的实现原理和过程,看的懂就看,看不懂也无所谓

重写方法

package ceshi;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class FirstServlet  extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

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


}

这样的话,这个类就写好了

package ceshi;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class FirstServlet  extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.doGet(req, resp);
        PrintWriter  writer = resp.getWriter();
        writer.print("hi,servlet ");    //输出具体内容
    }

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


}

这个实例要明确一点,我们这是Java程序,浏览器要去访问它,就要连接web服务器,这个过程可以称为 注册

在web.xml 当中写

本质上,就是为了web服务器可以调用servlet 程序



<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"
         metadata-complete="true">



    <servlet>
        <servlet-name>hiservlet-name>

        <servlet-class >ceshi.FirstServletservlet-class>

    servlet>



    <servlet-mapping>
        <servlet-name   > hiservlet-name>

        <url-pattern >/hiurl-pattern>
        
    servlet-mapping>

web-app>




接下来,我们连接tomcat (web 服务器)

点这里

tomcat 配置完成

这个时候,浏览器自动d出查看

默认会到这里

这是因为这个文件的原因

到我们自己映射的页面去

正常显示


好了,有关于Servlet 的初步认识以及实战 *** 作就到这里了,谢谢大家

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/942360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-18
下一篇 2022-05-18

发表评论

登录后才能评论

评论列表(0条)

保存