精华内容
下载资源
问答
  • Servlet作为java的基础是必须要掌握的,小伙伴们知道servlet要如何编写吗?今天就一起来看看吧。一、编写servlet源文件在java的src目录下新建HelloWorld.java,并编写代码进行编译importjavax.servlet....

    Servlet作为java的基础是必须要掌握的,小伙伴们知道servlet要如何编写吗?今天就一起来看看吧。

    一、编写servlet源文件

    在java的src目录下新建HelloWorld.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;

    /**

    * Created by on 18/5/24.

    */

    public class HelloWorld extends HttpServlet

    {

    private String message;

    @Override

    public void init() throws ServletException

    {

    message = "Hello world, this message is from servlet!";

    }

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

    {

    //设置响应内容类型

    resp.setContentType("text/html");

    //设置逻辑实现

    PrintWriter out = resp.getWriter();

    out.println("

    " + message + "

    ");

    }

    @Override

    public void destroy()

    {

    super.destroy();

    }

    }

    编译后classes目录下生成的HelloWorld.class文件

    b3b906e7399eb95df3c616b613138472.png

    二、Servlet部署

    在WEB-INF目录下web.xml文件的标签中添加如下内容:

    HelloWorld

    HelloWorld

     <

    servlet - mapping >

    HelloWorld <

    url - pattern > /HelloWorld

    三、运行测试

    点击开始运行java程序,控制台出现successfully则tomcat服务启动成功!这时打开浏览器输入:http://localhost:8086/javaweb/HelloWorld即可查看servlet运行状态了。

    a34e7d91b355b52343e937337d293065.png

    以上就是关于如何编写servlet的所有内容了,更多java基础教程详情快关注奇Q工具网了解吧。

    推荐阅读:

    展开全文
  • 身为计算机专业的我,从接触java至今...首先写个小案例: 1.1、编写一个servlet程序: a、写一个java类,实现servlet接口 b、修改web.xml文件,给servlet提供一个可访问的URI地址 c、部署应用到tomcat服务器 d、测试:...

    身为计算机专业的我,从接触java至今,已经有七年之久,从最开始的小白到现在的大白,这是一个漫长而曲折的历程。

    63151c22e0f69ae931830db172d78d59.png  大学刚接触Java这个学科时,一点儿都不理解java是要干嘛的,只知道学起来肯定不容易,对键盘都不熟悉的我敲起代码来更是那么的不容易,不过好在坚持住了,其实主要是除了敲代码不会其他的了,不像其他女孩纸多才多艺,本人乃是无聊宅女一枚。

    幸亏在大学期间很幸运的去北京实训过一个月,以至于对开发有了进一步认识,这也就决定了我以后的人生方向。没有方向可以给自己创造方向,想的再多不如行动起来。

    废话不多说了,接下来谈一谈对servlet的理解。

    servlet是运行在 Web服务器中的小型 Java程序(即:服务器端的小应用程序),servlet通常通过 HTTP(超文本传输协议)接收和响应来自 Web客户端的请求。

    单单看文字可能很难理解servlet的作用。首先写个小案例:

    1.1、编写一个servlet程序:

    b2acf124dfb5ad40d1afd4ce87f924fc.png

    a、写一个java类,实现servlet接口

    b、修改web.xml文件,给servlet提供一个可访问的URI地址

    c、部署应用到tomcat服务器

    d、测试:http://locahost:8080/demo1_servlet/demo1

    通过上面的小案例能够看到页面打印出“hello ServletDemo1”就成功了。

    写完这个小案例,可能还是不清楚它的执行过程,下面通过文字来解释一下。

    1.2 servlet的生命周期

    实例化(构造方法)-->初始化(init)-->服务(service)->销毁(destroy)

    出生:(实例化-->初始化)第一次访问Servlet就出生(默认情况下)

    活着:(服务)应用活着,servlet就活着

    死亡:(销毁)应用卸载了servlet就销毁。

    652b6c54ec9b6498d3c8707e0d4bc678.png

    1.3 servlet的执行流程

    1.通过浏览器的URL地址访问http://locahost:8080/demo1_servlet/demo1

    2.在tomcat服务器中找到名为demo1_servlet的应用

    3.通过/demo1找到应用中web.xml文件

    4.通过解析web.xml中servlet映射提供的url-pattern找到相对应的/demo1

    5.然后通过servlet映射中的servlet-name找到servlet标签中的servlet-name,从而找到ServletDemo1类,并进行实例化

    6.调用ServletDemo1类中init方法

    7.调用ServletDemo1类中service方法

    8.将信息响应给客户端

    9.调用ServletDemo1类中的destroy方法

    ca9869a3a0eb1680ac64d84584a47443.png

    1.4 servlet的三种创建方式

    1.实现javax.servlet.Servlet接口(第一个小案例)

    2.继承javax.servet.GenericServlet类(适配器模式)

    62add984933d239fdfce524733cff4c1.png

    3.继承javax.servlet.http.HttpServlet类(开发中常用方式)

    1eb058a825a13fff804742c1e2f32704.png

    在实际开发中常用第三种继承HttpServlet,页面访问时默认get提交方式。

    以上是对servlet的简单理解,如果感觉不是很详细,在这个互联网时代,网上资源很多,都可以利用。

    展开全文
  • javaclasspackage ...import java.io.*;import javax.servlet.*;import javax.servlet.http.*;// Extend HttpServlet classpublic class Helloworld extends HttpServlet {private String message;public v...

    javaclass

    package com.example;

    import java.io.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    // Extend HttpServlet class

    public class Helloworld extends HttpServlet {

    private String message;

    public void init() throws ServletException {

    // Do required initialization

    message = "Hello World";

    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    // Set response content type

    response.setContentType("text/html");

    // Actual logic goes here.

    PrintWriter out = response.getWriter();

    out.println("

    " + message + "

    ");

    }

    public void destroy() {

    // do nothing.

    }

    }

    web.xml中

    HelloForm

    HelloForm

    HelloForm

    /HelloForm

    给代码但是我运行项目没有输出来404错误是在网页中.我们还需要为servlet创建Jsp页面吗?我在Servlet中真的很新请帮忙怎么写hello world就是Servlet.

    展开全文
  • 编写Servlet 时需要用到两个用于所有 Servlet 的基本软件包:javax.servlet 和 javax.servlet.http。下面主要介绍javax.servlet.http提供的HTTP Servlet应用编程接口。  首先介绍一下Java Servlet的基本方法。 ...

      在编写Servlet 时需要用到两个用于所有 Servlet 的基本软件包:javax.servlet 和 javax.servlet.http。下面主要介绍javax.servlet.http提供的HTTP Servlet应用编程接口。

        首先介绍一下Java Servlet的基本方法。

    • init() 方法
          在Servlet的生命周期中,仅执行一次 init() 方法,即在服务器装入Servlet时执行。通过配置服务器,可以设定在启动服务器或客户机首次访问Servlet 时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行 init()。
    • service() 方法
          service()方法是Servlet的主体部分。客户对一个HttpServlet对象的每次请求都会调用该对象的service() 方法,并传递给这个方法一个"请求"对象和一个"响应"对象作为参数。"请求"对象提供有关请求的信息,而"响应"对象提供了一个将响应信息返回给浏览器的通信途径。javax.servlet 软件包中的相关类为ServletRequest和ServletResponse,而javax.servlet.http 软件包中的相关类为HttpServletRequest 和 HttpServletResponse。Servlet 通过这些对象与服务器通信并最终与客户机通信。Servlet 能通过调用"请求"对象的方法获知客户机环境、服务器环境的信息和所有由客户机提供的信息;通过调用"响应"对象的方法,Servlet可以向客户机发送响应。

          HttpServlet中的service()方法默认的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如,如果 HTTP 请求方法为 GET,则默认情况下就调用 doGet()。当一个客户通过HTML表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。

          Servlet的响应可以是下列几种类型:
          ·一个输出流,浏览器根据它的内容类型(如text/HTML)进行解释。
          ·一个HTTP错误响应,重定向到另一个URL、Servlet和JSP。

              切记,不要调用super.service,否则无法浏览器认为没有处理机制

    • destroy() 方法
          destroy() 方法仅执行一次,即在服务器停止且卸载Servlet 时执行该方法。当服务器卸载 Servlet 时,将在所有 service() 方法调用完成后,或在指定的时间间隔过后调用 destroy() 方法。一个Servlet 在运行service() 方法时可能会产生其他的线程,因此在调用 destroy() 方法时,必须确认这些线程已终止或完成。
    • GetServletConfig()方法
          GetServletConfig()方法返回一个 ServletConfig 对象,该对象用来返回初始化参数和ServletContext。ServletContext 接口提供有关Servlet 的环境信息。
    • GetServletInfo()方法
          GetServletInfo()方法是一个可选的方法,它提供有关Servlet 的信息,如作者、版本、版权。

        下面介绍编写一个基本HTTP Servlet的步骤。

        (1)引入相应的包和类,包括:

    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    继承javax.servlet.http.HttpServlet 
    public class MyServlet extends HttpServlet{

        (2)实现service方法。

        Servlet的主要功能是接受从浏览器发送过来的HTTP请求(request),并返回HTTP响应(response)。这个工作是在service方法中完成的。service方法包括从request对象获得客户端数据和向response对象创建输出。

        如果一个Servlet从javax.servlet.http.HttpServlet继承,实现了doPost或doGet方法,那么这个Servlet只能对POST或GET做出响应。如果开发人员想处理所有类型的请求(request),只要简单地实现service方法即可(但假如选择实现service方法,则不必实现doPost或doGet方法,除非在service方法的开始调用super.service())。其中的差别如图14-2所示。


    图14-2 doGet、doPost、service的区别

        HTTP Servlet规范描述了用来处理其他请求(request)类型的方法,所有这些方法都可以归属于service方法。所有的service 方法使用一样的参数。HttpServletRequest提供关于请求(request)的信息,Servlet可以使用 HttpServletResponse 对HTTP客户端做出响应。

    public void service(HttpServletRequest req,HttpServletResponse res)
    throws IOException{
    // 设置响应内容的类型 
    res.setContentType("text/html");
    // 获得java.io.PrintWriter对象的引用,用来输出 
    PrintWriter out = res.getWriter();
    // 使用PrintWriter对象的println()方法创建一些HTML代码,例如 
    out.println("<html><head><title>Hello  World!</title></head>");
    out.println("<body><h1>Hello World!</h1></body></html>");
    ……
    }

        (3)编译Servlet。
        从存放此Servlet源代码文件的目录编译此Servlet到包含此Servlet的应用中的 WEB-INF/classes目录。如:
        javac -d /your_application_dir/WEB-INF/classes your_servlet.java

        (4)将此Servlet作为应用的一部分部署。
        把程序编译到指定目录后还是没有开启这个服务,我们必须对它进行配置,在C:\bea\wlserver6.1\config\mydomain\applications\DefaultWebApp\WEB-INF下有一个web.xml文件,这个就是应用程序的配置文件。这个文件的一般形式如下:

    <?xml version="1.0" ?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web 
    Application 1.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <web-app>
      <!--chapter 8  java  servlets -->
      <servlet>
      <servlet-name>HelloWorld2</servlet-name>
      <servlet-class>examples.servlets.HelloWorld2</servlet-class>
      <init-param>
       <param-name>greeting</param-name>
       <param-value>welcome</param-value>
       </init-param>
       <init-param>
        <param-name>person</param-name>
        <param-value>weblogic developer</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
      <servlet-name>HelloWorld2</servlet-name>
      <url-pattern>/HelloWorld2/*</url-pattern>
      </servlet-mapping>  
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
      </welcome-file-list>
    </web-app>

        其中servlet-name是Servlet的名字,servlet-class是在\WEB-INF\classes下存放class文件的相对路径。我们还可以在此文件中初始化参数,形式如下:

    <init-param>
     <param-name>greeting</param-name>
     <param-value>welcome</param-value>
    </init-param>

        param-name是参数的名称,在本例中是greeting;param-value是参数的值,在本例是welcome。我们可以以此形式初始化更多的参数。

    <servlet-mapping>
    <servlet-name>HelloWorld2</servlet-name>
    <url-pattern>/HelloWorld2/*</url-pattern>
    </servlet-mapping>

        这段代码是Servlet名称与url-pattern路径的映射。根据这段代码,HelloWorld2这个Servlet程序的URL路径就是http://SERVER_ADDRESS:/HelloWorld2。

        (5)从浏览器访问Servlet。一般说来,调用Servlet的URL 取决于包含Servlet的Web应用的名字和Web应用部署描述中的Servlet映射的名字。请求(request)参数也可以是调用Servlet的URL的一部分,一般Servlet 的URL如以下模式:
        http://SERVER_ADDRESS:/your_web_application_name/ mapped_servlet_name? Parameter

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <servlet>
        <servlet-name>mainservlet</servlet-name>
        <servlet-class>fwpt.MainServlet</servlet-class>
        <init-param>
          <param-name>configfile</param-name>
          <param-value>/WEB-INF/cxserver.config</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
        <servlet-name>mainservlet</servlet-name>
        <url-pattern>/mainservlet/*</url-pattern>
      </servlet-mapping>
    </web-app>


    展开全文
  • 如何编写一个Servlet

    千次阅读 2019-10-07 21:54:54
    2.怎么按照JavaEE的规范编写一个servlet 关键字 作用 说明 Servlet 接口 有五个抽象方法 GenericServlet 抽象类 有一个抽象方法 HttpServlet 抽象类 没有抽象方法 ...
  • 刚学Servlet。想用JCreator编写Servlet但是突然发现JCreator也不会用。 我创建了一个Java file但是在编写业务逻辑的时候居然没有自动提示。 求JCreator编写Servlet步骤
  • 通过Eclipse或MyEclipse创建Servlet虽然简单,但我们并不知道相关代码是什么含义。所以,下面我们需要研究一下生成出来的代码。 首先, 我们来研究一下创建的Servlet文件源代码,会发现如下内容: 是继承于...
  • Servlet如何编写以及写Servlet注意事项

    千次阅读 2017-09-09 16:05:05
    4、如何书写Servlet? a、首先页面会给我们生成好默认的代码,我们需要把除了doGet()和doPost()方法外的其他代码删除,然后在doGet方法体里面写doPost(request, response); 其余处理数据都在doPost()里面写(相反...
  • 编写第一个Servlet程序 创建maven项目: 2. 在一个通用大Module,在pom.xml里面统一导包依赖,这里导入jsp和servlet的项目依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=...
  • Servlet其实就是一个遵循Servlet开发的java类。Serlvet是由服务器调用的,运行在服务器端。为什么要用到Serlvet?我们编写java程序想要在网上实现 聊天、发帖、这样一些的交互功能,普通的java技术是非常难完成的。...
  • 给大家介绍了spring-boot中如何定义过滤器、监听器和拦截器,对Spring Boot 编写Servlet、Filter、Listener、Interceptor的相关知识感兴趣的朋友一起看看吧
  • 相关内容来自于“Servlet与JSP核心编程(第2版)” web.xml(部署描述文件)中的servletservlet-mapping...(2)如何servlet赋予名称 使用servlet及其子元素servlet-name和servlet-class。 (3)如何为已赋予名称
  • 延续上一篇的内容,在配置好IDEA和集成好Tomcat之后,我们来编写第一个我们的第一个servlet1. Servlet, 全称Server Applet. 服务器端小程序.2. Servlet是JavaEE规范中的一种技术:----------------用于接收客户端的请求...
  • 如何编写dao_servlet容器处理请求资源路径_路径匹配 1.dao 如何写一个dao? step1,Entity类 step2,DAO接口 step3,DAO实现 step4,工厂类  工厂是一个设计模式(所谓设计模式,是为了解决一类相同或相似问题...
  • eclipse如何创建servlet

    万次阅读 2017-11-04 21:27:11
    一、创建servlet 首先我们先在eclipse中创建一个wed工程,...二、编写servlet 1.我们的servlet要继承 javax.servlet.http包下的HttpServlet类 2.重写doGet和doPost方法 三、注册servlet 打开工程目录下的wed.
  • 1.写一个Servlet的java源文件2.编译Servlet 命令:javac -encoding utf-8 xxxx.java (指定utf-8等的字符编码)3.将生成的class文件放入所在项目的WEB-INF\classes下.4.修改工程里的web.xml 假设class文件为:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 823
精华内容 329
关键字:

如何编写servlet