精华内容
下载资源
问答
  • servlet的特点
    千次阅读
    2019-09-15 21:46:34

    jsp和servlet特点及作用


    JSP的本质就是Servlet,JSP和Servlet都可以生成动态页面。然而,Servlet生成动态页面比较复杂,不管静态还是动态的内容都需要用代码输出。JSP相对简单很多,JSP中静态内容使用HTML及文本即可,只有动态内容使用Java代码生成。Servlet往往用来接收JSP的请求,获取请求数据,进行业务处理。

    更多相关内容
  • servlet特点、servlet实现、servlet生命周期

    一、什么是Servlet

    1. servlet是Java EE规范之一,规范即接口

    2. servlet是Java web三大组件之一。三大组件分别是:Servlet程序、Fiter过滤器、Listener监听器。

    3. Servlet是运行在服务器上的Java小程序,它可以接收客户端发送过来的请求,并响应数据给客户端

    二、手动实现Servlet程序

    1. 编写一个类取实现Servlet接口

    2. 实现service方法,处理请求,并响应数据

    3. 到web.xml中去配置servlet程序的访问地址(以下是xml中的配置及意义)

      <!-- servlet标签给Tomcat配置Servlet程序 -->
      <servlet>
          <!-- servlet-name标签  servlet程序起一个别名(一般是类名)-->
          <servlet-name>first</servlet-name>
          <!-- servlet-class 是Servlet程序的全类名  -->
          <servlet-class>com.example.FirstServlet.HelloServlet</servlet-class>
      </servlet>
      <!-- servlet-mapping 标签给servlet程序配置访问地址 -->
      <servlet-mapping>
          <!-- servlet-name标签的作用是告诉服务器,我当前的地址给哪个Servlet程序使用-->
          <servlet-name>first</servlet-name>
          <!-- url-pattern标签配置访问地址
               / 在服务器解析时,表示地址为:http://ip:port/工程路径
               /first  表示地址为:http://ip:port/工程路径/hello-->
          <url-pattern>/first</url-pattern>
      </servlet-mapping>
      

    浏览器如何通过地址找到相应的资源:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dEfaLnI3-1645100178216)(https://note.youdao.com/yws/res/5782/WEBRESOURCE6da00204cc61d0746aaced1128c096a6)]

    在这里插入图片描述

    三、Servlet的生命周期

    1. 执行Servlet构造器方法
    2. 执行init方法

    第一、二步在第一次访问时,创建Servlet程序会调用(默认情况)

    在web.xml中的servlet标签中配置<load-on-startup>标签,当标签值为正数是为预加载,值较大的先加载,标签值为负数的为延时加载,默认值为-1。

    1. 执行service方法

    第三步,每次访问都会调用

    1. 执行destroy方法

    第四步,在web工程停止时调用。

    四、servlet的三种实现方式

    1. 实现servlet接口 ,必须重写5个方法

      public class Test implements Servlet {
          @Override
          public void init(ServletConfig servletConfig) throws ServletException {
          }
      
          @Override
          public ServletConfig getServletConfig() {
              return null;
          }
      
          @Override
          public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
          }
      
          @Override
          public String getServletInfo() {
              return null;
          }
      
          @Override
          public void destroy() {
          }
      }
      
    2. 继承genericServlet抽象类,必须重写service方法

      public class Test extends GenericServlet {
      
          @Override
          public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
              
          }
      }
      
    3. 继承HttpServlet,不需要重写任何方法,根据需要写doGet()和doPost()方法

      public class Test extends HttpServlet{
      	
      }
      

      tip:三者的关系,GenericServlet实现了Servlet接口,HttpServlet继承了GenericServlet类。

    五、ServletConfig类

    ​ Servlet程序和ServletConfig对象都是由tomcat创建,

    1. ServletConfig类的三大作用

      1. 获取Servlet程序的别名servlet-name的值

        ​ servletConfig.getServletName();

        String servletName = servletConfig.getServletName();
                System.out.println("servlet的别名:"+servletName);
        
      2. 获取初始化参数init-param,只能获取自己的参数

        ​ servletConfig.getInitParmeter(“username”);

        String age = servletConfig.getInitParameter("age");
        System.out.println(age);	
        
      3. 获取ServletContext对象

        ​ servletConfig.getServletContext();

    2. ServletContext类

      1. 什么是ServletContext对象

        1. 接口,表示Servlet上下文对象
        2. 一个web工程只有一个ServletContext对象实例
        3. ServletContext对象是一个域对象

        什么是域对象?

        ​ 域对象,可以像Map一样可以存取数的对象

        ​ 这里的域指的是存取数据的操作范围
        在这里插入图片描述

      2. ServletContext类的四个作用

        1. 获取web.xml中配置上下文参数context-param

           //获取全局参数
           ServletContext context = getServletConfig().getServletContext();
           String username = context.getInitParameter("username");
          
        2. 获取当前的工程路径,格式 :/工程路径

          //获取当前工程路径
           ServletContext context = getServletConfig().getServletContext();
           System.out.println(context.getContextPath());
          
        3. 获取工程部署后在服务器硬盘的绝对路径

          //获取工程部署的路径
                  /**
                   * /  斜杆被服务器解析地址为http://ip:port/工程名/
                   */
          ServletContext context = getServletConfig().getServletContext();
          System.out.println(context.getRealPath("/"));
          
        4. 像Map一样存取数据,当工程销毁时,数据也就消失了。

          //获取servletContext对象
           ServletContext servletContext = getServletContext();
           servletContext.setAttribute("key1","value1");
           System.out.println(servletContext.getAttribute("key1"));
          
    展开全文
  • 特点 自启动 Servlet 在 Tomcat 启动时就会实例化,它的实例化过程不依赖请求,而是依赖容器启动。 可以通过在 web.xml 中的 <servlet> 标签中通过 <load-on-startup>1<load-on-startup> 配置自...

    自启动 Servlet

    -特点及设置方式

    自启动 Servlet 在 Tomcat 启动时就会实例化,它的实例化过程不依赖请求,而是依赖容器启动。
    可以通过在 web.xml 中的 <servlet> 标签中通过 <load-on-startup>1<load-on-startup> 配置自启动 Servlet ,其中的参数 1 指启动优先级,数值越小优先级越高。

    • 这里的案例是利用自启动 Servlet 在加载时就自动读取 web.xml 配置里的init-param 中的文件路径,缓存到 ServletContext 对象里,供另一个下载文件的 Servlet 读取使用。
        <servlet>
            <servlet-name>autoStartServlet</servlet-name>
            <servlet-class>com.wonderx.servlet.AutoStartServlet</servlet-class>
            <init-param>
                <param-name>imagPath</param-name>
                <param-value>files/测试图片.jpg</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
    
    • 相应的Java类中也需要重写 init() 方法。
    /**
     * 自启动 Servlet ,在 Tomcat 启动完成就会立刻实例化并自动运行 innit() 方法
     * 重写 innit()方法
     * 无需重写 doGet() 和 doPost() 方法
     */
    public class AutoStartServlet extends HttpServlet {
        @Override
        public void init() throws ServletException {
            ServletConfig servletConfig = this.getServletConfig();
            String imgPath = servletConfig.getInitParameter("imagPath");
    
            ServletContext servletContext = this.getServletContext();
            servletContext.setAttribute("imagPath",imgPath);
            System.out.println("图片地址初始化完成!");
            System.out.println(imgPath);
        }
    }
    
    展开全文
  • Servlet_自启动Servlet特点 Servlet_Servlet线程安全问题 package ThreadSafeServlet07; /** * 多个线程访问同一个资源时 线程安全问题 */ import javax.servlet.ServletException; import ...

     Servlet_自启动Servlet特点

    Servlet_Servlet线程安全问题

     

     

     

    package ThreadSafeServlet07;
    /**
     * 多个线程访问同一个资源时 线程安全问题
     */
    
    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 ThreadSafeServlet01 extends HttpServlet {
        private PrintWriter pw;  //将printwrite定义到成员变量中,   当多个浏览器(多个线程)同时访问时容易出现抢占资源,如果把变量定义到成员变量记得实现线程同步
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            this.doPost(req,resp);
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String name = req.getParameter("name");
            pw = resp.getWriter();
    
            synchronized (this){  //使用synchrenized来实现多个线程同步
                try{
                    Thread.sleep(5000);
                    pw.println(name);
                    pw.flush();
                    pw.close();
                }catch(Exception e){
                    e.printStackTrace();
                }
            }
        }
    }
    

    展开全文
  • servlet特点 及常用快捷键

    千次阅读 2018-10-18 14:58:19
    servlet特点,生命周期 单实例 非线程安全的 性能高于多实例 比如统计访问人数 Integer i=0; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, ...
  • Servlet特点

    2015-11-03 09:59:00
    1、Servlet是一个供其他程序(Servlet引擎)调用的java类,它不能独立运行,它的运行完全由Servlet引擎来控制和调度 2、Servlet引擎是一种容器程序,它负责管理和维护所有Servlet对象的生命周期。Serlvet的加载,...
  • 北京电子科技职业学院Servlet特点主讲人侯海平 老师目录1. Servlet特点2. Servlet的工作过程13. Servlet的工作过程21. Servlet特点1Servlet是一个供其他java程序(Servlet引擎)调用的java类它不能独立运行2...
  • Servlet特点及运行过程

    千次阅读 2016-03-23 14:51:30
    Servlet特点及运行过程由
  • 主要介绍了配置Servlet两种方法以及特点详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • servlet特点

    千次阅读 2018-10-18 15:33:36
    servlet特点,生命周期 单实例 非线程安全的 性能高于多实例 比如统计访问人数 Integer i=0; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, ...
  • Servlet(Server Applet)是 Java Servlet 的简称,是使用 Java 语言编写的运行在服务器端的程序。具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。通常来说,Servlet 是指所有...
  • servlet请求的转发定义,特点,以及实现、附servlet程序以及HTMLform表单
  • servlet特点和运行过程

    2010-05-30 17:03:33
    servlet提供其它java程序(servelt引擎)调用的java类,servlet之于servlet引擎 和applet与web浏览器关系是一样的,servlet的运行完全由引擎 来控制和调度。“servlet引擎是一种容器程序,负责管理和维护所有...
  • tomcat在配置web.xml的时候,servlet是一个比较重要的问题,在这里讨论一下servlet中的几个痛点 servlet url-pattern的匹配问题 url-pattern中 / 和 /* 的区别 url-pattern的优先级问题 根路径 / 的匹配问题 1 ...
  • Servlet过滤器概念特点等详谈一、Servlet过滤器的概念:◆Servlet过滤器是在Java Servlet规范2.3中定义的,它能够对Servlet容器的请求和响应对象进行检查和修改。◆Servlet过滤器本身并不产生请求和响应对象,它只能...
  • javaEE servlet 学习笔记

    2018-05-07 22:38:29
    javaEE servlet 学习笔记 jsp本质上是servlet,但是为了更加符合mvc的框架,将页面显示和逻辑控制分离,jsp页面只负责页面,也就是mvc中的V(view),而servlet负责mvc中的C(control)。 而为了更加好的理解结构,一下...
  • 主要为大家详细介绍了servlet重定向的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Servlet(Server Applet)是 Java Servlet 的简称,是使用 Java 语言编写的运行在服务器端的程序。具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。通常来说,Servlet 是指所有...
  • 一、Spring MVC与Jsp/Servlet比较1、传统的 Jsp/Servlet 技术体系弊端2、Spring Web MVC 特点3、Spring MVC工作流程二、idea创建servlet项目1、搭建过程2、servlet的工作流程3、servlet的生命周期三、idea创建Spring...
  • Servlet开发搭建

    2020-12-20 19:12:21
    特点: 自定义的 BaseDao,BaseDaoImpl,BaseServlet, 用 beanutils 来封装前台传入参数。 一. 添加 jar包 Maven 依赖的形式,添加相应的依赖 4.0.0 com.yjl.project Servlet_Dev 0.0.1-SNAPSHOT war 1.8 ...
  • 主要介绍了Servlet和Filter之间的区别与联系的相关资料,需要的朋友可以参考下
  • Java Servlet和JSP教程

    2021-01-08 22:09:16
    ] 这是一个比较完整的Servlet、JSP教程,包含大量的实用资料和示例,... 目 录 一、Servlet和JSP概述 1.1 JavaServlet及其特点 1.2 JSP及其特点 二、设置开发、运行环境 2.1 安装Servlet和JSP开发工具 2.2 安装支持S
  • jsp和Servlet各自特点

    千次阅读 2013-04-11 19:29:05
    2. jsp最终翻译成servlet执行.jsp容易上手和编写而servlet需要自己手动编译,很麻烦的 3. servlet现在更多是充当MVC模型控制器的角色,由它根据客户的请求,来动态组织返回数据或页面的重定向,而JSP只做显示(MVC模型,...
  • Servlet.docx

    2020-08-12 00:06:15
    1.什么是servlet servlet是sun公司提供的用于开发动态web资源的技术,可以在servlet容器中运行 2.servlet开发步骤 1.写一个类,实现servlet接口 2.在web.xml中配置servlet
  • Servlet是什么

    2022-04-20 11:50:47
    servlet接口定义的是一套处理网络请求的规范,所有实现servlet的类,都需要实现它的那五个方法,其中最主要的是两个声明周期方法init()和destory(),还有一个处理请求的service()。也就是说,所有实现servlet接口的...
  • 一、Servlet和JSP概述

    2021-01-08 21:56:36
    1.1 Java Servlet及其特点 Servlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,...
  • servlet

    2021-11-17 23:42:46
    2.servlet特点: (1)方便(2)跨平台(3)灵活性和可扩展性 二、servlet开发入门 1.servlet接口及其实现类 在servlet接口中定义了5个抽象方法 2.Servlet的生命周期: 初始化阶段: init(ServletConfig config) ...
  • 一、Servlet的简介Servlet的概述servlet是运行在服务端的java程序 servlet是一套规范(接口) 外界都可以访问到servlet的快速入门步骤:(1) 创建一个类 实现servlet(2)覆盖servlet接口中的全部方法(尤其是service方法)...
  • servlet1.pdf

    2020-09-10 13:44:16
    Servlet(Server Applet)是 Java Servlet 的简称,称为小服务程序或服务连接器,用 Java 编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数 据,生成动态 Web 内容。 2. 快速入门...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,396
精华内容 32,958
关键字:

servlet的特点