精华内容
下载资源
问答
  • 在编写servlet时需要
    2021-08-04 16:39:09

    编写Servlet的doPost方法时,需要抛出ServletExcpetion和IOException异常,不会抛出HttpServletException异常。

    参考文章:

    (1)编写Servlet的doPost方法时,需要抛出ServletExcpetion和IOException异常,不会抛出HttpServletException异常。

    (2)https://www.cnblogs.com/xuedexin/articles/5628702.html


    备忘一下。


    更多相关内容
  • 编写Servlet

    千次阅读 2019-04-12 19:41:01
    Servlet本质上就是一个java类 Tomcat与Servlet的关系 Servlet与普通的Java程序的区别 Servlet本质上就是一个Java类 ...Servlet类必须实现接口javax.servlet.Servlet...使用Servlet2.5编写Servlet的步骤 写一...

    Servlet本质上就是一个java类

    Tomcat与Servlet的关系

    Servlet运行在Tomcat中
    在这里插入图片描述

    Servlet与普通的Java程序的区别

    1. Servlet本质上就是一个Java类
    2. Servlet类必须实现接口javax.servlet.Servlet接口
    3. 运行在Web容器中,tomcat就是一个Web容器。
    4. 能够接收浏览器发送的请求,并且做出响应给浏览器。

    使用Servlet2.5编写Servlet的步骤

    1. 写一个类继承于HttpServlet,HttpServlet是个抽象类它已经实现了Servlet接口。
    2. 重写doGet或doPost方法,分别处理表单的get或post请求。
      如果直接在浏览器输入地址访问,使用的是get方法。
    3. 编写web.xml配置文件,对Servlet进行配置,才能通过浏览器来访问。

    Demo1Servlet.java

    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;
    
    //1. 编写一个类继承于HttpServlet, 我们写的Servlet必须实现Servlet接口
    public class Demo1Servlet extends HttpServlet {
    
        //2. 重写doGet方法
        /**
         用来处理浏览器发送的get请求
         @param request 请求对象
         @param response 响应对象
         @throws ServletException
         @throws IOException
         */
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //设置响应的类型和字符集
            response.setContentType("text/html;charset=utf-8");
            //得到打印流,向浏览器输出内容
            PrintWriter out = response.getWriter();
            out.print("<h1>Hello 第1个Servlet </h1>");
        }
    }
    

    编辑目录:web/WEB-INF/web.xml中配置servlet,设置访问地址为/demo1
    web.xml

    <?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_3_1.xsd"
             version="3.1">
    
        <!--配置servlet-->
        <servlet>
            <!--servlet的名字-->
            <servlet-name>demo1</servlet-name>
            <!--servlet的类全名-->
            <servlet-class>com.test.servlet.Demo1Servlet</servlet-class>
        </servlet>
    
        <!--配置servlet的访问地址-->
        <servlet-mapping>
            <!--与上面的名字相同-->
            <servlet-name>demo1</servlet-name>
            <!--访问地址,以/开头 -->
            <url-pattern>/demo1</url-pattern>
        </servlet-mapping>
    </web-app>
    

    xml执行流程:
    在这里插入图片描述

    Servlet3.0的新特性

    1. 异步处理支持:在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器。针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度。
    2. 新增的注解支持:用于简化 Servlet、过滤器(Filter)和监听器(Listener)的声明,这使得 web.xml 部署描述文件从该版本开始不再是必选的了。
    3. 可插性支持:开发者可以通过插件的方式很方便的扩充已有 Web 应用的功能,而不需要修改原有的应用。
    4. 简化了文件上传的功能:现在可以直接使用Servlet的API实现文件的上传,以前需要借助第三方上传组件。

    使用Servlet3.0编写Servlet(使用注解的方式)

    Demo2Servlet .java

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    //@WebServlet(name = "demo2",urlPatterns = "/demo2")
    @WebServlet("/demo2")
    public class Demo2Servlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // 设置响应类型和字符集
            response.setContentType("text/html;charset=utf-8");
            // 获取打印流
            PrintWriter out = response.getWriter();
            out.println("<h1 style='color:orange'>使用Servlet 3.0</h1>");
        }
    }
    
    展开全文
  • Servlet 编写过滤器

    2021-01-03 01:54:23
    Servlet 编写过滤器 Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含请求或响应中的信息。 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 ServletServlet 过滤器也可以附加到 Java...
  • JSP&Servlet选择题

    千次阅读 2020-08-10 17:12:31
    Servlet选择题 日常练习题记录 1.若要针对HTTP请求撰写Servlet类别,以下何者是正确的做法() A.继承Servlet接口 B.继承GenericServlet C.继承HttpServlet D.直接定义一个结尾名称为Servlet的类别 参考答案:C 2....

    JSP&Servlet选择题


    日常练习题记录

    1.若要针对HTTP请求撰写Servlet类别,以下何者是正确的做法()

    A.继承Servlet接口
    B.继承GenericServlet
    C.继承HttpServlet
    D.直接定义一个结尾名称为Servlet的类别
    参考答案:C

    2.如何针对HTTP的GET请求进行处理与响应?()

    A.重新定义service()方法
    B.重新定义doGet()方法
    C.定义一个方法名称为doService()
    D.定义一个方法名称为get()
    参考答案:B

    3.HttpServlet是定义在哪个包之中?()

    A.javax.servlet
    B.javax.servlet.http
    C.java.http
    D.javax.http
    参考答案:B

    4.在Web容器中,以下哪个类别的实例代表HTTP请求对象?()

    A.HttpRequest
    B.HttpServletRequest
    C.HttpServletResponse
    D.HttpPrintWriter
    参考答案:B

    5.在Web容器中,以下哪个类别的实例代表HTTP响应对象?()

    A.HttpRequest
    B.HttpServletRequest
    C.HttpServletResponse
    D.HttpPrintWriter
    参考答案:C

    6.在Web应用程序中,何者负责将HTTP请求转换为HttpServletRequest对象?()

    A.Servlet对象
    B.HTTP服务器
    C.Web容器
    D.JSP网页
    参考答案:C

    7.继承HttpServlet之后,若要进行Servlet初始化,重新定义哪个方法才是正确的作法?()

    A.public void init(ServletConfig config) throws ServletException;
    B.public void init() throws ServletException
    C.public String getInitParameter(String name)
    D.public Enumeration getInitParameterNames()
    参考答案:B

    8.哪一个选项中可以获得Servlet的初始化参数()

    A.Servlet
    B.ServletContext
    C.ServletConfig
    D.GenericServlet
    参考答案:C

    9.在J2EE中,对于HttpServlet类的描述,错误的是()

    A.我们自己编写的Servlet继承了HttpServlet类,一定需覆盖doPost或者doGet
    B.Httpservlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法
    C.Httpservlet类中处理客户请求和响应时所使用的两个接口是:HttpServletRequest和HttpServletResponse
    D.我们自己编写的servlet继承了Httpservlet类,一般只需要覆盖doPost或doGet方法,不必覆盖servive()方法,因为一个service()方法会调用doPost或者doGet方法
    参考答案:A

    10.在编写Servlet时需要__________ 正确答案:()

    A.继承Servlet
    B.实现HttpRequestServlet
    C.继承HttpServlet
    D.实现HttpRequest
    参考答案:C

    11.J2EE中,Servlet API为使用Cookie,提供了()类。

    A.javax.servlet.http.Cookie
    B.javax.servlet.http.HttpCookie
    C.javax.servlet.HttpCookie
    D.java.servlet.http.HttpCookie
    参考答案:A

    12.以下关于Java Servlet API说法错误的是()

    A.Java Servlet API是一组Java类,它定义了Web客户端和Web Servlet之间 的标准接口
    B.Java Servlet API由两个包组成:javax.servlet和javax.servlet.http
    C.javax.servlet.http包对http协议提供了特别的支持
    D.javax.servlet包提供了对除http协议外的其他协议的支持
    参考答案:D

    13.以下有关Servlet常用的请求头的含义说法错误的是()

    A.Accept-Language头指出客户端倾向的语言。如en
    B.Content-Length头以字节为单位给出POST数据的长度
    C.Host表明了主机和端口
    D.User-Agent头表明了发出请求的客户代理的信息
    参考答案:D

    14.以下哪个方法不是Servlet的生命周期接口定义的?

    A.init()
    B.service()
    C.destroy()
    D.create()
    参考答案:D

    15.Servlet程序的入口点是()

    A.init()方法
    B.doGet()方法
    C.main()方法
    D.service()方法
    参考答案:A

    16.下述Servlet的处理流程中表述不正确的步骤是()

    A.客户端发送一个请求至服务器端;服务器将请求信息发给Servlet
    B.Servlet引擎,也就是ejb容器会调用Servlet的service方法
    C.Servlet构建一个响应,并将其传给服务器。这个响应是动态构建的,相应的内容通常取决于客户端的请求,这个过程中也可以使用外部资源
    D.服务器将响应返回给客户端
    参考答案:B

    17.以下Servlet与CGI的对比正确的是

    A.在可移植性和与平台无关性方面:Servlet和CGI都能够跨平台和不同的Web服务器交互
    B.几乎所有的主流服务器都直接或通过插件支持CGI
    C.从持久性和性能上讲,Servlet对于每个HTTP请求都要启动一个新进程。而传统的CGI只要被Web服务器装载一次,就能被每一个客户请求调用。因此CGI比Servlet性能更高
    D.Servlet是用java编写的,它继承了Java语言的所有优点。Servlet可以利用丰富的Java库
    参考答案:D

    18.以下有关Java servlet的特性说法错误的是()

    A.servlet功能强大,可以解析HTML表单数据、读取和设置HTTP头、处理Cooke、跟踪会话状态等。在servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。
    B.servlet可以与其他系统资源交互,例如它可以调用系统中其他文件、访问数据库、Applet和Java应用程序等,以此生成返回给客户端的响应内容。
    C.Servlet可以是其他服务的客户端程序,例如,它们可以用于分布式的应用系统中,可以从本地硬盘,或者通过网络从远端激活servlet。
    D.Servlet API是与协议相关的。Servlet只能用于http协议
    参考答案:D

    19.Servlet的生命周期接口由以下哪个对象定义?()

    A.javax.servlet.http.HttpServlet
    B.javax.servlet.http.HttpSession
    C.javax.servlet.Servlet
    D.javax.servlet.Session
    参考答案:C

    20.以下哪种情况可能不会初始化servlet?()

    A.服务器down机后,重新装入servlet时
    B.已经配置了自动装入选项,在启动服务器时自动装入servlet
    C.没有配置自动装入选项,在服务器启动后,客户端首次向Servlet发出请求时
    D.新客户端向Servlet发出请求时
    参考答案:D

    展开全文
  • Servlet 编写三种方式

    千次阅读 2021-06-13 11:28:45
    我们实现Servlet功能,可以选择以下三种方式: 1. 第一种:实现Servlet接口,接口中的方法必须全部实现。 ​使用此种方式,表示接口中的所有方法需求方面都有重写的必要。此种方式支持最大程度的自定义(我...

    Servlet编写方式

    我们在实现Servlet功能时,可以选择以下三种方式:

    1. 第一种:实现Servlet接口,接口中的方法必须全部实现。

    ​使用此种方式,表示接口中的所有方法在需求方面都有重写的必要。此种方式支持最大程度的自定义(我理解的就是真的个性化)。

    2. 第二种:继承GenericServlet,

    继承GenericServlet,service方法必须重写,其他方可根据需求,选择性重写。

    ​使用此种方式,表示只在接收和响应客户端请求这方面有重写的需求,而其他方法可根据实际需求选择性重写,使我们的开发Servlet变得简单。但是,此种方式是和HTTP协议无关的。

    比如说下面重写了 service方法

    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        HttpServletRequest request;
        HttpServletResponse response;
        try {
            request = (HttpServletRequest)req;
            response = (HttpServletResponse)res;
        } catch (ClassCastException var6) {
            throw new ServletException("non-HTTP request or response");
        }
    
        this.service(request, response);
    }
    
    

    service源码

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String method = req.getMethod();
        long lastModified;
        if (method.equals("GET")) {
            lastModified = this.getLastModified(req);
            if (lastModified == -1L) {
                this.doGet(req, resp);
            } else {
                long ifModifiedSince;
                try {
                    ifModifiedSince = req.getDateHeader("If-Modified-Since");
                } catch (IllegalArgumentException var9) {
                    ifModifiedSince = -1L;
                }
    
                if (ifModifiedSince < lastModified / 1000L * 1000L) {
                    this.maybeSetLastModified(resp, lastModified);
                    this.doGet(req, resp);
                } else {
                    resp.setStatus(304);
                }
            }
        } else if (method.equals("HEAD")) {
            lastModified = this.getLastModified(req);
            this.maybeSetLastModified(resp, lastModified);
            this.doHead(req, resp);
        } else if (method.equals("POST")) {
            this.doPost(req, resp);
        } else if (method.equals("PUT")) {
            this.doPut(req, resp);
        } else if (method.equals("DELETE")) {
            this.doDelete(req, resp);
        } else if (method.equals("OPTIONS")) {
            this.doOptions(req, resp);
        } else if (method.equals("TRACE")) {
            this.doTrace(req, resp);
        } else {
            String errMsg = lStrings.getString("http.method_not_implemented");
            Object[] errArgs = new Object[]{method};
            errMsg = MessageFormat.format(errMsg, errArgs);
            resp.sendError(501, errMsg);
        }
    
    }
    
    

    3. 第三种:继承HttpServle

    继承HttpServlet,它是javax.servlet.http包下的一个抽象类,是GenericServlet的子类。如果我们选择继承HttpServlet时,只需要重写doGet和doPost方法,不要覆盖service方法。

    使用第三种方式,表示我们的请求和响应需要和HTTP协议相关。也就是说,我们是通过HTTP协议来访问的。那么每次请求和响应都符合HTTP协议的规范。请求的方式就是HTTP协议所支持的方式(目前我们只知道GET和POST,而实际HTTP协议支持7种请求方式,GET POST PUT DELETE TRACE OPTIONS HEAD )。

    例如:

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    //@WebServlet(name = "thirdServlet", urlPatterns = "/servlet")
    //我们还可以进一步简化,因为我们发现其实name属性好像没啥用
    //@WebServlet(urlPatterns = "/servlet")
    //到这一步之后,还可以精简到底,如果括号里面只有一个值,那么默认表示的就是urlPattern
    @WebServlet("/servlet")
    public class ThirdServlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    
        }
    }
    
    
    展开全文
  • 编写一个 Servlet ,当用户请求该 Servlet ,显示用户于哪年哪月哪日几时几分几秒从哪个 IP 地址连接至服务器。 原创文章 698获赞 1706访问量 78万+ 关注 私信 展开阅读全文 作者:进阶的JFarmer
  • 北京电子科技职业学院Servlet接口主讲人侯海平 老师目录1. Servlet接口简介2. Servlet接口的API3. Servlet接口示例1. Servlet接口简介1Servlet接口是所有Servlet都必须直接或间接实现的接口2开发者可以通过实现该...
  • Servlet编写登录

    千次下载 热门讨论 2014-07-04 17:58:50
    Servlet编写登录的demo,重点理解Servlet的原理
  • 如何编写一个Servlet

    千次阅读 2019-10-07 21:54:54
    2.怎么按照JavaEE的规范编写一个servlet 关键字 作用 说明 Servlet 接口 有五个抽象方法 GenericServlet 抽象类 有一个抽象方法 HttpServlet 抽象类 没有抽象方法 ...
  • 编写jsp页面实现如下界面效果,然后交给servlet计算矩形的周长和面积,并输出结果。
  • Java Servlet编写JSON数据接口,简单实用的方式
  • import javax.servlet.annotation.WebServlet;代码中这段一般会报错,显示需要自己创建一个类,才可以。 那么这这需要手动的导入相关的包才可以。 建议去你的tomcat7包中然后把lib文件夹下的jsp-api.jar  和 ...
  • 北京电子科技职业学院Servlet常用类与接口的层次关系主讲人侯海平 老师目录1. Servlet相关类与接口2. Servlet相关类与接口的层次关系3. 体会Servlet相关类与接口之间关系1. Servlet相关类与接口Servlet所在包javax....
  • 3.2 编写Servlet 3.3部署Servlet动态资源 3.4 配置Servlet 四、cmd上打印一个内容的操作 五、 常见错误 一、概念 1、Servlet Server Applet的简称, 是服务器端的程序(代码、 功能实现), 可交互式的处理...
  • 问题描述 ...原因是:我在编写servlet的过程中,修改一了一下要应用的实体类的类名,并且此servlet中使用了重命名之后的类。产生的寻找不到此类的错误。 解决 重新编写了这个实体类,重新servlet...
  • servlet所需jar包

    2018-06-10 23:56:55
    Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。此处为javaweb开发中servlet所需jar包
  • 编写一个Servlrt程序编写Servlet映射配置Tomcat启动Tomcat服务器测试 JavaWeb——编写一个Servlet程序 1.Servlet简介 Servlet是Sun公司开发的用于交互式地浏览和生成数据,生成动态Web的技术。 狭义的Servlet是...
  • package Displaytime; import java.util.*; import java.text.*; import java.io.IOException; import java.io.PrintWriter;...import javax.servlet.ServletResponse; import javax.servlet.annot
  • 手工编写servlet程序

    千次阅读 2014-11-08 18:17:54
    不借助IED工具的情况下,自己编写一个servlet程序并且发布到tomcat服务器,最后通过浏览器来访问.   一共分为4个步骤进行:  步骤1:下载tomcat,并且tomcat的webapps目录下新建一个应用,然后应用里新建...
  • IDEA环境中开发Servlet程序

    千次阅读 2022-02-03 20:01:20
    1、创建工程 1.1 New Project 创建一个空的新工程 1.2 创建一个新的模块 模块选择javaSe 给模块命名 1.3 将javaSe模块变成Webapp的模块(符合servlet规范的module) ...add framework Support1.3.2...2、编写servlet
  • 编写一个servlet,实现统计网站被访问次数的功能 package ch5; import java.io.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet....
  • 用Idea轻松编写servlet

    千次阅读 2019-05-12 16:06:27
    Servlet是按照Servlet规范编写的Java类 Servlet是Web应用的一个组件 Servlet由容器tomcat管理 Servlet扩展了服务器的功能 Servlet可以生成动态的Web页面 Servlet产生JSP之前 Servlet 功能特点 当客户机...
  • Servlet编写

    2014-09-19 12:38:27
    Servlet编写
  • JavaWeb新版教程Servlet-1目-编写UserDao和测试.avi
  • 如何编写jdk1.6的Servlet

    2014-08-18 12:08:26
    JSP之前应该了解Servlet,这一点很重要,因为是MVC模式是Servlet调用JSP。
  • 基于jsp+servlet+java技术编写的留言板项目,包括源代码,数据库,和文档说明,有助于大家对jsp、servlet更进一步的认识和运用
  • import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest;
  • 本系统以MVC架构搭建,采用JSP+Servlet+Javabean+Mysql技术实现,软件界面美观友好,并且本资源包含有.sql脚本,可直接导入数据库生成系统所需要的表,无需做更改,即可使用。
  • 1.编写servlet步骤: 1.1 创建一个servlet类继承HttpServlet,类中重写doGet方法和doPost方法。 1.2 web.xml中配置MyServlet,作用:(让浏览器发出的请求知道到达哪个servlet,也就是让tomcat将封装好的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 230,326
精华内容 92,130
关键字:

在编写servlet时需要