iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >JavaEE的Servlet核心API如何使用
  • 621
分享到

JavaEE的Servlet核心API如何使用

2024-04-02 19:04:59 621人浏览 安东尼
摘要

这篇文章主要介绍了JavaEE的Servlet核心api如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaEE的Servlet核心API如何使用文章都会有所收获,下

这篇文章主要介绍了JavaEE的Servlet核心api如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaEE的Servlet核心API如何使用文章都会有所收获,下面我们一起来看看吧。

一、核心API简介

1、Servlet执行流程

Servlet是javaweb的三大组件之一(Servlet、Filter、Listener),它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要:接收请求数据;处理请求;完成响应。

2、核心API简介

API 作用描述
ServletConfig 获取servlet初始化参数和servletContext对象。
ServletContext 在整个WEB应用的动态资源之间共享数据。
ServletRequest 封装Http请求信息,在请求时创建。
ServletResponse 封装Http响应信息,在请求时创建。

二、ServletConfig接口

1、接口简介

容器在初始化servlet时,为该servlet创建一个servletConfig对象,并将这个对象通过init()方法来传递并保存在此Servlet对象中。核心作用:1.获取初始化信息;2.获取ServletContext对象。

2、代码案例

  • 配置文件

<servlet>
    <init-param>
        <param-name>my-name</param-name>
        <param-value>cicada</param-value>
    </init-param>
    <servlet-name>servletOneImpl</servlet-name>
    <servlet-class>com.node02.servlet.impl.ServletOneImpl</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>servletOneImpl</servlet-name>
    <url-pattern>/servletOneImpl</url-pattern>
</servlet-mapping>
  • API用法

public class ServletOneImpl implements Servlet {

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        String servletName = servletConfig.getServletName() ;
        System.out.println("servletName="+servletName);
        String myName = servletConfig.getInitParameter("my-name") ;
        System.out.println("myName="+myName);
        Enumeration paramNames = servletConfig.getInitParameterNames() ;
        while (paramNames.hasMoreElements()){
            String paramKey = String.valueOf(paramNames.nextElement()) ;
            String paramValue = servletConfig.getInitParameter(paramKey) ;
            System.out.println("paramKey="+paramKey+";paramValue="+paramValue);
        }
        ServletContext servletContext = servletConfig.getServletContext() ;
        servletContext.setAttribute("cicada","smile");
    }
}

三、ServletContext接口

1、接口简介

一个项目只有一个ServletContext对象,可以在多个Servlet中来获取这个对象,使用它可以给多个Servlet传递数据,该对象在Tomcat启动时就创建,在Tomcat关闭时才会销毁!作用是在整个Web应用的动态资源之间共享数据。

  • 获取方式

1、ServletConfig#getServletContext();
2、GenericServlet#getServletContext();
3、httpsession#getServletContext()
4、ServletContextEvent#getServletContext()

2、四大域对象

ServletContext是JavaWeb四大域对象之一:

1、PageContext;
2、ServletRequest;
3、HttpSession;
4、ServletContext;

所有域对象都有存取数据的功能,因为域对象内部有一个Map,用来存储数据。

3、代码案例

  • 配置文件

<context-param>
    <param-name>my-blog</param-name>
    <param-value>2019-11-19</param-value>
</context-param>
<servlet>
    <servlet-name>servletTwoImpl</servlet-name>
    <servlet-class>com.node02.servlet.impl.ServletTwoImpl</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>servletTwoImpl</servlet-name>
    <url-pattern>/servletTwoImpl</url-pattern>
</servlet-mapping>
  • API用法

public class ServletTwoImpl extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        // 1、参数传递
        ServletContext servletContext = this.getServletContext() ;
        String value = String.valueOf(servletContext.getAttribute("cicada")) ;
        System.out.println("value="+value);
        // 2、获取初始化参数
        String myBlog = servletContext.getInitParameter("my-blog") ;
        System.out.println("myBlog="+myBlog);
        // 3、获取应用信息
        String servletContextName = servletContext.getServletContextName() ;
        System.out.println("servletContextName="+servletContextName);
        // 4、获取路径
        String pathOne = servletContext.getRealPath("/") ;
        String pathTwo = servletContext.getRealPath("/WEB-INF/") ;
        System.out.println("pathOne="+pathOne+";pathTwo="+pathTwo);
        response.getWriter().print("执行:doGet; value:"+value);
    }
}

四、ServletRequest接口

1、接口简介

HttpServletRequest接口继承ServletRequest接口,用于封装请求信息,该对象在用户每次请求servlet时创建并传入servlet的service()方法,在该方法中,传入的servletRequest将会被强制转化为HttpservletRequest对象来进行HTTP请求信息的处理。核心作用:1.获取请求报文信息;2.获取网络连接信息;3.获取请求域属性信息。

2、代码案例

  • 配置文件

<servlet>
    <servlet-name>servletThreeImpl</servlet-name>
    <servlet-class>com.node02.servlet.impl.ServletThreeImpl</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>servletThreeImpl</servlet-name>
    <url-pattern>/servletThreeImpl</url-pattern>
</servlet-mapping>
  • API用法

public class ServletThreeImpl extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // http://localhost:6003/servletThreeImpl?myName=cicada
        String method = request.getMethod();
        System.out.println("method="+method); // GET
        String requestURL = request.getRequestURL().toString();
        // http://localhost:6003/servletThreeImpl
        System.out.println("requestURL="+requestURL);
        String requestURI = request.getRequestURI();
        System.out.println("requestURI="+requestURI); // /servletThreeImpl
        String queryString = request.getQueryString() ;
        System.out.println("queryString="+queryString); // myName=cicada
        String myName = request.getParameter("myName");
        System.out.println("myName="+myName); // cicada
    }
}

五、ServletResponse接口

1、接口简介

HttpServletResponse继承自ServletResponse,封装了Http响应信息。客户端每个请求,服务器都会创建一个response对象,并传入给Servlet.service()方法。核心作用:1.设置响应头信息;2.发送状态码;3.设置响应正文;4.重定向;

2、代码案例

  • 配置文件

<servlet>
    <servlet-name>servletFourImpl</servlet-name>
    <servlet-class>com.node02.servlet.impl.ServletFourImpl</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>servletFourImpl</servlet-name>
    <url-pattern>/servletFourImpl</url-pattern>
</servlet-mapping>
  • API用法

public class ServletFourImpl extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8") ;
        response.setCharacterEncoding("UTF-8");
        response.setStatus(200) ;
        response.getWriter().print("Hello,知了");
    }
}

3、转发和重定向

  • 转发

服务器端进行的页面跳转的控制 ;

request.getRequestDispatcher("/转发地址").forward(request, response);
  • 重定向

服务端响应跳转信息,浏览器端进行的页面跳转 ;

response.sendRedirect("重定向地址");
  • 转发和重定向对比

区别 转发 重定向
地址栏 不变 变化
跳转 服务端跳转 浏览器端跳转
请求次数 一次 两次
域中数据 不会丢失 丢失
 

关于“JavaEE的Servlet核心API如何使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“JavaEE的Servlet核心API如何使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网VUE频道。

--结束END--

本文标题: JavaEE的Servlet核心API如何使用

本文链接: https://www.lsjlt.com/news/91414.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaEE的Servlet核心API如何使用
    这篇文章主要介绍了JavaEE的Servlet核心API如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaEE的Servlet核心API如何使用文章都会有所收获,下...
    99+
    2024-04-02
  • Spring核心注释如何使用
    本篇内容主要讲解“Spring核心注释如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring核心注释如何使用”吧!这是所有已知的Spring核心注释的列表。@Autowired我们可...
    99+
    2023-06-02
  • SpringBoot中如何使用Servlet
    今天小编给大家分享一下SpringBoot中如何使用Servlet的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.方式一(...
    99+
    2023-07-02
  • Weblogic中如何使用Servlet
    这篇文章主要介绍Weblogic中如何使用Servlet,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!以下操作有些是本来可以在console中完成的,但是由于目前console有些问题,故我们这里直接改动相关文件,以...
    99+
    2023-06-03
  • etcd通信接口之客户端API核心方法怎么使用
    本篇内容介绍了“etcd通信接口之客户端API核心方法怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!etcd clientv3 客户...
    99+
    2023-07-02
  • 如何理解Scala的核心规则
    这篇文章将为大家详细讲解有关如何理解Scala的核心规则,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Read Eval Print Loop (REPL)REPL在Scala里面指的是直接...
    99+
    2023-06-17
  • 测试驱动技术系列之如何理解操控excel的核心api
    这篇文章主要讲解了“测试驱动技术系列之如何理解操控excel的核心api”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“测试驱动技术系列之如何理解操控excel的核心api”吧!测试数据格式展...
    99+
    2023-06-15
  • laravel的核心组件illuminate怎么使用
    本篇内容介绍了“laravel的核心组件illuminate怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!composer来安装La...
    99+
    2023-07-05
  • JavaWeb 中Hello Servlet如何使用
    JavaWeb 中Hello Servlet如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Servlet 概述serlvet sun公司 开发动态web 的一门技术...
    99+
    2023-06-20
  • 掌握Java对象编程算法的核心技巧:API应用
    Java是一种面向对象的编程语言,因此掌握Java对象编程算法的核心技巧对于Java程序员来说至关重要。在本文中,我们将介绍一些重要的Java对象编程算法,并讨论如何使用Java API来应用这些算法。 一、Java对象编程算法的核心技巧 ...
    99+
    2023-10-24
    对象 编程算法 api
  • Cookie如何在servlet 中使用
    Cookie如何在servlet 中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.cookie介绍  Cookie,指某些网站为了辨别用户身份、进行 session...
    99+
    2023-05-31
    servlet cookie
  • 如何创建以API为中心的Web应用
    如何创建以API为中心的Web应用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。正计划着要开始搞一个新的网络应用?在这篇教程中,我们将讨论如何创建以API为中心的网络应用,...
    99+
    2023-06-17
  • SpringMVC的五大核心组件怎么使用
    这篇文章主要介绍了SpringMVC的五大核心组件怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringMVC的五大核心组件怎么使用文章都会有所收获,下面我们一起来看看吧。SpringMVC的五大核...
    99+
    2023-07-05
  • 如何正确的使用servlet监听器
    如何正确的使用servlet监听器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.什么是servlet监听器?  servlet监听器也叫web监听器。是servlet中...
    99+
    2023-05-31
    servlet
  • ServletContext类如何在servlet中使用
    这篇文章将为大家详细讲解有关ServletContext类如何在servlet中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在对Servlet配置的web.xml文件中,经常会使用一些...
    99+
    2023-05-31
    servletcontext servlet
  • 如何创建动态菜单在ASP。 净核心剃刀页面与Web Api
    我得到一个错误当我添加一个MenuList进入菜单。 计算机科学,因为我的MySql表中没有MenuList那里。 但我无法添加MenuList菜单。 cs,这意味着我不能创建一个动态菜单,任何人在这种...
    99+
    2024-04-02
  • html5的api如何使用
    本文小编为大家详细介绍“html5的api如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“html5的api如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。   ...
    99+
    2024-04-02
  • 如何使用Servlet上传文件
    如何使用Servlet上传文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、Servlet实现文件上传,需要添加第三方提供的jar包下载地址:1) commons-fi...
    99+
    2023-05-31
    servlet 文件上传
  • 如何快速掌握Maven的核心概念
    本篇内容主要讲解“如何快速掌握Maven的核心概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何快速掌握Maven的核心概念”吧!坐标坐标的概念能够确定一个...
    99+
    2024-04-02
  • 如何选择网站的核心关键词
    本篇内容主要讲解“如何选择网站的核心关键词”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何选择网站的核心关键词”吧!1、首先列出与网站产品相关的、尽量多的同时也是比较热门的关键词,然后一起进行...
    99+
    2023-06-10
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作