精华内容
下载资源
问答
  • 编写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

    2013-11-19 23:11:47
    第一个servlet的源代码以及配置信息
  • 用Idea轻松编写servlet

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


    Copyright© stonee

    Servlet 概念

    • Servlet是按照Servlet规范编写的Java类
    • Servlet是Web应用的一个组件
    • Servlet由容器tomcat管理
    • Servlet扩展了服务器的功能
    • Servlet可以生成动态的Web页面
    • Servlet产生在JSP之前

    Servlet 功能特点

    • 当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让Servlet建立服务器到客户机的响应
    • Servlet可以创建并返回一个基于客户请求性质的动态内容完整的HTML页面
    • 可以与其他服务器资源进行通信(DBMS, Java应用程序)
    • 可以把多个客户端传递的值传递给多个另外的客户机上

    Servlet周期

    • 装载Servlet,默认动态执行
    • 创建Servlet实例
    • Server调用Servlet的init方法
    • 客户端请求到达Server
    • Server创建请求对象
    • Server创建响应对象
    • Server激活Servlet的service()方法,把请求和响应对象作为参数
    • service()获得请求对象信息,处理请求访问其他资源,获取需要信息
    • service()使用响应对象方法,将响应传回Server,最终到达客户端。Service可以激活其他方法区处理请求,如doGet,doPost或者其他自定义请求
    • 对于更多客户端请求,Server创建新的请求和响应对象,循环上述,但不用再次调用init方法
    • 最后Server调用Servlet的destroy()方法关闭Servlet

    img

    Servlet与JSP的区别

    • JSP本质上就是Servlet,但创建方式不一样
    • 用Servlet输出HTML太过麻烦,JSP是个嵌入型的脚本语言
    • JSP属于MVC模型中的View层,Servlet属于Control层
    • JSP编译后是“类Servlet”
    • Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来;而JSP是Java和HTML组合成一个扩展名为.jsp的文件

    新建一个小项目

    使用IDEA,默认安装Tomcat和JDK

    Q: 网上已经有很多用IDEA新建servlet的项目了,我为什么要再费时费事写一遍?

    A:网上许多教程对新手(我)十分不友好!只告诉你要怎么做,但是没有说为什么要这样做,搞得我在一段时间内糊里糊涂的!

    如果新手单单要运行一个Servlet项目,没有大多数网上项目那么复杂,不需要配置许多路径。想让一个最简单的项目跑起来,4步就可以

    一、点击文件,新建一个项目,配置

    在这里插入图片描述

    • 配置项目路径,配置完毕项目创建成功

    • 此时左侧的结构如下

      在这里插入图片描述

    • src还是存储.java的目录

    • web目录存放和网络相关的目录

    • 在网上的许多新手教程中,都要把web下面再创建一个lib和classes目录分别用来存放导入的Jar包和编译后的classes文件,在我看来,如果你仅仅是想让你的项目跑通,简简单单理解一下servlet,根本不需要配置classes,而lib也不用设置,因为我们仅仅完成的是hello world级别的玩具,所以根本就不用导入外来jar包

    二、点击运行,编辑配置,左上方点击“+”,选择Tomcat。这一步是配置tomcat的

    在这里插入图片描述

    • 点击Deployment左侧有一个Application context,此处是配置jsp在浏览器中的url,如配置a,则默认情况下浏览器的url是‘http://localhost:8080/a/index.jsp’。配置完毕后点击确定。当然,也可以 不设置application context,这时浏览器的url是http://localhost:8080/
    三、点击左侧的项目结构
    • 在project部分有一个 “项目编译输出” ,它用于存储所有项目的编译结果,默认情况下,模块的输出路径项目编译输出路径的子目录,这也就是刚才我们不配置classes的原因
    • project下面是模块部分,点击左侧的路径,如果我们刚才新建了classes,那么就需要选择第二个使用模块编译输出路径。但是我们并没有新建classes,那就按照默认的来就好了。点击路径左侧的依赖,我们可以看到有两个依赖,一个是jdk11,一个是tomcat,如果我们还有别的依赖的话,就要返回到刚才的步骤,新建一个lib包,然后把lib包导进来,lib里存放依赖
    • 点击确定
    四、在src中新建一个.java文件
    import javax.servlet.ServletConfig;
    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;
    
    //此处是注解,不用配置xml。意思是servlet的url路径,http://localhost:8080/hhh
    @WebServlet(urlPatterns = "/hhh")	
    public class MyServlet extends HttpServlet {
        @Override
        public void init(ServletConfig config) throws ServletException {
            System.out.println("初始化...");
        }
    
    
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("hello Servlet");
            PrintWriter out = resp.getWriter();
            out.print("hello me");
        }
    
        @Override
        public void destroy() {
            System.out.println("销毁...");
        }
    }
    
    • 此时我们运行该项目,在控制台中我们会发现“初始化”和“hello servlet”,说明已经启动

    • 切换到浏览器(一般会自动弹出)

      在这里插入图片描述

    • 换到servlet的路径中

    在这里插入图片描述

    • 四步大功告成
    展开全文
  • 给大家介绍了spring-boot中如何定义过滤器、监听器和拦截器,对Spring Boot 编写Servlet、Filter、Listener、Interceptor的相关知识感兴趣的朋友一起看看吧
  • 打开Myeclipse10; File——>New——>Web Project; 给文件命名,我的文件... 在com包中New一个Servlet文件,命名为HelloWorld,自动生成HelloWorld.java文件,代码如下: package com; import java...
    1. 打开Myeclipse10;
    2. File——>New——>Web Project;
    3. 给文件命名,我的文件命名为ServletPro,然后点Finish;
    4. 在src里创建一个包,我的包命名为com;
    5. 在com包中New一个Servlet文件,命名为HelloWorld,自动生成HelloWorld.java文件,代码如下:
    6. package com;
      
      import java.io.IOException;
      import java.io.PrintWriter;
      
      import javax.servlet.GenericServlet;
      import javax.servlet.ServletException;
      import javax.servlet.ServletRequest;
      import javax.servlet.ServletResponse;
      
      public class HelloWorld extends GenericServlet {
      
      	public void destroy() {
      		super.destroy(); // Just puts "destroy" string in log
      		// Put your code here
      	}
      
      	public void service(ServletRequest request, ServletResponse response)
      			throws ServletException, IOException {
      
      		PrintWriter out = response.getWriter();
      		out.println("Hello World!");
      	}
      
      }
    7. 编写完Servlet代码,需要配置web.xml文件的路径;

    8. <?xml version="1.0" encoding="UTF-8"?>
      <web-app version="3.0" 
      	xmlns="http://java.sun.com/xml/ns/javaee" 
      	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
      	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
        <display-name></display-name>
        
        <servlet>
          <servlet-name>HelloWorld</servlet-name>
          <servlet-class>com.HelloWorld</servlet-class>
        </servlet>
        <servlet-mapping>
          <servlet-name>HelloWorld</servlet-name>
          <url-pattern>/HelloWorld</url-pattern>
        </servlet-mapping>	
        <welcome-file-list>
          <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>

      这是我的HelloWorld文件的路径配置;

    9. 现在需要去部署Servlet,点击红圈的选项;

    10. 在Project的下拉框选择你刚才创建的Web Project文件,右边有个Add点击添加Tomcat服务(前提是你用的是Tomcat服务器);

    11. 最后在浏览器运行http://localhost:8080/ServletPro/HelloWorld,ServletPro是我创建Web Project的文件名

    展开全文
  • import java.io.*;...import javax.servlet.*; import javax.servlet.http.*; public class ShowTimesServlet extends HttpServlet { private static final long serialVersionUID =1L; protect...
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class ShowTimesServlet extends HttpServlet {
               private static final long serialVersionUID =1L;
               protected void doGet(HttpServletRequest request,
             HttpServletResponse response ) throws ServletException, IOException{
                  ServletContext context = getServletContext();
                  integer times =(integer) context.getAttribute("times");
                  if(times==null ){
                  times=new = Integer(1);}
                  else{times=new Integer(times.intValue()+1);}
                  response.setContenType("text/html;charset=utf-8");
       PrintWriter out=response.getWriter();
       out.println("<html><head><title>");
       out.println("网页访问统计");
       out.println("</title></head><body>");
       out.println("当前网页被访问了");
       out.println("<font color=red size=20>"+times+"</font>次")
    }
     protected void doPost(HttpServletRequest request,
     HttpServletResponse response) throws ServletException , IOException{
     this.doGet(request,response);}
    }
    
    展开全文
  • 北京电子科技职业学院Servlet接口主讲人侯海平 老师目录1. Servlet接口简介2. Servlet接口的API3. Servlet接口示例1. Servlet接口简介1Servlet接口是所有Servlet都必须直接或间接实现的接口2开发者可以通过实现该...
  • 1.编写servlet步骤: 1.1 创建一个servlet类继承HttpServlet,在类中重写doGet方法和doPost方法。 1.2 在web.xml中配置MyServlet,作用:(让浏览器发出的请求知道到达哪个servlet,也就是让tomcat将封装好的...
  • 手工编写一个Servlet程序 1、继承httpServlet 2、重写doGet()或者doPost()方法 3、在web.xml中注册Servlet
  • eclipse中编写servlet出现404的解决方法

    万次阅读 2018-05-24 22:18:18
    通过仔细检查发现,该servlet项目的java类是在eclipse中编写的。 最初的web.xml配置文件内容如下所示:&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;w...
  • 北京电子科技职业学院Servlet常用类与接口的层次关系主讲人侯海平 老师目录1. Servlet相关类与接口2. Servlet相关类与接口的层次关系3. 体会Servlet相关类与接口之间关系1. Servlet相关类与接口Servlet所在包javax....
  • idea运行编写servlet进行response响应请求时获取的用户信息用 System.out.println()打印,控制台不显示! public class LoginServlet extends HttpServlet { @Override protected void service...
  • 手工编写servlet程序

    千次阅读 2014-11-08 18:17:54
    在不借助IED工具的情况下,自己编写一个servlet程序并且发布到tomcat服务器,最后通过浏览器来访问.   一共分为4个步骤进行:  步骤1:下载tomcat,并且在tomcat的webapps目录下新建一个应用,然后在应用里新建...
  • 编写Servlet程序需要先编写Java程序,主要有三种开发方式。编写完成后对其进行编译,然后在tomcat应用文件夹下建立WEB-INF文件在,其下的web.xml文件需要配置Servlet。编写过程中出现:编码GBK的不可映射错误;并...
  • #java #web Servlet简介以及编写Servlet网站的步骤   目录 #java #web Servlet简介以及编写Servlet网站的步骤 1、概述  1.1 什么是servlet  1.2 Tomcat容器 2、编写Servlet  2.1 手工编写Servlet程序的...
  • Servlet 编写三种方式

    2021-06-13 11:28:45
    文章目录Servlet编写方式1. 第一种:实现Servlet接口,接口中的方法必须全部实现。2. 第二种:继承GenericServlet,3. 第三种:继承HttpServle Servlet编写方式 我们在实现Servlet功能时,可以选择以下三种方式: 1....
  • javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns ...
  • 我自己写的,做很多帮助理解的总结。 还有配套的实例+详细的步骤。
  • 其实Servlet本身在Tomcat中是“非常被动”的一个角色,处理的事情也很简单。网络请求与响应,不是他的主要职责,它其实更偏向于业务代码。所谓的Request和Response是Tomcat传给它,用来处理请求和响应... 如何编写一...
  • 主要介绍了Servlet实现文件上传的三种方法总结的相关资料,这里提供三种实例,帮助大家理解这部分内容,需要的朋友可以参考下
  • JavaWeb——Servlet ...什么是Servlet ...Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web...
  • 手工编写servlet步骤详解

    千次阅读 2015-08-30 10:28:40
    手工编写servlet小程序的方法与步骤
  • 在项目开发的过程中,如果你编写servlet就知道要用到HttpServletRequest和HttpServletResponse等对象,这些对象都是要靠这个jar包才能使用的。 如果你在本机上安装了Tomcat,那么这个jar包一般都在tomcat安装目录...
  • 问题描述 ...原因是:我在编写servlet的过程中,修改一了一下要应用的实体类的类名,并且在此servlet中使用了重命名之后的类。产生的寻找不到此类的错误。 解决 重新编写了这个实体类,重新在servlet...
  • 如何编写一个Servlet

    千次阅读 2019-10-07 21:54:54
    2.怎么按照JavaEE的规范编写一个servlet 关键字 作用 说明 Servlet 接口 有五个抽象方法 GenericServlet 抽象类 有一个抽象方法 HttpServlet 抽象类 没有抽象方法 ...
  • import javax.servlet.annotation.WebServlet;代码中这段一般会报错,显示需要自己创建一个类,才可以。 那么这这需要手动的导入相关的包才可以。 建议去你的tomcat7包中然后把lib文件夹下的jsp-api.jar  和 ...
  • 主要为大家详细介绍了jsp+servlet实现猜数字游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 200,303
精华内容 80,121
关键字:

如何编写servlet