实现Servlet程序的三种方法(小结)

实现Servlet程序的三种方法

1.手动实现Servlet程序

1.编写一个类去实现Servlet接口
2.实现service方法,处理请求并响应数据

示例代码:

//HelloServlet.java
package servlet;

import javax.servlet.*;
import java.io.IOException;

public class HelloServlet implements Servlet {
  @Override
  public void init(ServletConfig servletConfig) throws ServletException {

  }

  @Override
  public ServletConfig getServletConfig() {
    return null;
  }
//  service方法专门来处理请求和响应
  @Override
  public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    System.out.println("Hello,Servlet! 被访问了");
  }

  @Override
  public String getServletInfo() {
    return null;
  }

  @Override
  public void destroy() {

  }
}

3.到web.xml配置Servlet程序的访问地址

<!--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_4_0.xsd"
     version="4.0">
  <!--  servlet标签给Tomcat配置Servlet程序-->
  <servlet>
    <!--    servlet-name标签给Serclet程序起一个别名-->
    <servlet-name>HelloServlet</servlet-name>
    <!--    servlet-class标签给Serclet程序起一个全类名-->
    <servlet-class>servlet.HelloServlet</servlet-class>
  </servlet>

<!--  servlet-mapping标签给Servlet程序配置访问地址-->
  <servlet-mapping>
    <!--    servlet-name标签告诉服务器我当前配置的地址给那个Servlet程序使用-->
    <servlet-name>HelloServlet</servlet-name>
    <!--    url-pattern标签配置访问地址-->
    <!--    /:斜杠表示在服务器解析的时候,表示地址为Http://ip:port/工程路径-->
    <!--    /hello:表示地址为Http://ip:port/工程路径/hello-->
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>

2.通过HttpServlet实现Servlet程序

在一般项目开发中一般很少使用Servlet接口来实现Servlet程序,一般都是使用继承HttpServlet类的方式去实现Serlvet程序

步骤:
1.编写一个类去继承HttpServlet类

2.根据需要重写doGet和doPost方法

3.去web.xml去配置访问地址

4.最后运行测试就可以接收到值了

示例代码:

//HttpServlet.java
package servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

//继承HttpServlet
public class HttpServlet02 extends HttpServlet {
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    System.out.println("doGet方法");
  }

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    System.out.println("doPost方法");
  }
}
```css

```bash

```handlebars

```sql

```javascript
//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_4_0.xsd"
     version="4.0">
  <!--  servlet标签给Tomcat配置Servlet程序-->
  <servlet>
    <!--    servlet-name标签给Serclet程序起一个别名-->
    <servlet-name>HelloServlet</servlet-name>
    <!--    servlet-class标签给Serclet程序起一个全类名-->
    <servlet-class>servlet.HelloServlet</servlet-class>
  </servlet>

<!--  servlet-mapping标签给Servlet程序配置访问地址-->
  <servlet-mapping>
    <!--    servlet-name标签告诉服务器我当前配置的地址给那个Servlet程序使用-->
    <servlet-name>HelloServlet</servlet-name>
    <!--    url-pattern标签配置访问地址-->
    <!--    /:斜杠表示在服务器解析的时候,表示地址为Http://ip:port/工程路径-->
    <!--    /hello:表示地址为Http://ip:port/工程路径/hello-->
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>

  <servlet>
    <!--    servlet-name标签给Serclet程序起一个别名-->
    <servlet-name>HelloServlet02</servlet-name>
    <!--    servlet-class标签给Serclet程序起一个全类名-->
    <servlet-class>servlet.HttpServlet02</servlet-class>
  </servlet>

  <servlet-mapping>
    <!--    servlet-name标签告诉服务器我当前配置的地址给那个Servlet程序使用-->
    <servlet-name>HelloServlet02</servlet-name>
    <!--    url-pattern标签配置访问地址-->
    <!--    /:斜杠表示在服务器解析的时候,表示地址为Http://ip:port/工程路径-->
    <!--    /hello:表示地址为Http://ip:port/工程路径/hello-->
    <url-pattern>/hello02</url-pattern>
  </servlet-mapping>
</web-app>

3.通过IDEA自动生成Servlt程序

1.通过IDEA新建一个Servlet

2.之后再新生成的java文件中我们自己按需要配置就好了

3.老样子,依旧是在web.xml中配置好

4.写个按钮来检测配置结果

示例代码:

//HelloServlet.java
package servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet03 extends HttpServlet {
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("通过IDEA自动/doGet方法");
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("通过IDEA自动/doGet方法");
  }
}
//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_4_0.xsd"
     version="4.0">
  <!--  servlet标签给Tomcat配置Servlet程序-->
  <servlet>
    <!--    servlet-name标签给Serclet程序起一个别名-->
    <servlet-name>HelloServlet</servlet-name>
    <!--    servlet-class标签给Serclet程序起一个全类名-->
    <servlet-class>servlet.HelloServlet</servlet-class>
  </servlet>

<!--  servlet-mapping标签给Servlet程序配置访问地址-->
  <servlet-mapping>
    <!--    servlet-name标签告诉服务器我当前配置的地址给那个Servlet程序使用-->
    <servlet-name>HelloServlet</servlet-name>
    <!--    url-pattern标签配置访问地址-->
    <!--    /:斜杠表示在服务器解析的时候,表示地址为Http://ip:port/工程路径-->
    <!--    /hello:表示地址为Http://ip:port/工程路径/hello-->
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>

  <servlet>
    <!--    servlet-name标签给Serclet程序起一个别名-->
    <servlet-name>HelloServlet02</servlet-name>
    <!--    servlet-class标签给Serclet程序起一个全类名-->
    <servlet-class>servlet.HttpServlet02</servlet-class>
  </servlet>

  <servlet-mapping>
    <!--    servlet-name标签告诉服务器我当前配置的地址给那个Servlet程序使用-->
    <servlet-name>HelloServlet02</servlet-name>
    <!--    url-pattern标签配置访问地址-->
    <!--    /:斜杠表示在服务器解析的时候,表示地址为Http://ip:port/工程路径-->
    <!--    /hello:表示地址为Http://ip:port/工程路径/hello-->
    <url-pattern>/hello02</url-pattern>
  </servlet-mapping>

  <servlet>
    <!--    servlet-name标签给Serclet程序起一个别名-->
    <servlet-name>HelloServlet03</servlet-name>
    <!--    servlet-class标签给Serclet程序起一个全类名-->
    <servlet-class>servlet.HelloServlet03</servlet-class>
  </servlet>

  <servlet-mapping>
    <!--    servlet-name标签告诉服务器我当前配置的地址给那个Servlet程序使用-->
    <servlet-name>HelloServlet03</servlet-name>
    <!--    url-pattern标签配置访问地址-->
    <!--    /:斜杠表示在服务器解析的时候,表示地址为Http://ip:port/工程路径-->
    <!--    /hello:表示地址为Http://ip:port/工程路径/hello-->
    <url-pattern>/hello03</url-pattern>
  </servlet-mapping>
</web-app>

以上就是实现Servlet程序的三种方法,大家根据自己的需求去选择,不一定都要掌握,到此这篇关于实现Servlet程序的三种方法(小结)的文章就介绍到这了,更多相关实现Servlet程序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • servlet实现用户登录小程序

    当时在上JAVA课的时候,老师就给我们讲过SUN公司的servlet是一个典型的JAVA语言的应用.现在在上网络编程课的时候,终于接触到了这种服务器小程序. 现在我们就用servlet来简单实现一个用户登录的小程序. 首先,servlet也是一个JAVA类,新建一个JAVA类,它直接继承了HttpServlet类: @WebServlet(name = "ServletTest") public class ServletTest extends HttpServlet { @Over

  • 解决java编译错误( 程序包javax.servlet不存在javax.servlet.*)

    解决java编译错误( 程序包javax.servlet不存在javax.servlet.*) 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax.servlet.http 不存在 等错误 由于servlet和JSP不是Java平台JavaSE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置. 解决"软件包 javax.servlet不存在"错误的方法: 1. 搜索servle

  • JSP/Servlet应用程序优化八法

    你的J2EE应用是不是运行的很慢?它们能不能承受住不断上升的访问量?本文讲述了开发高性能.高弹性的JSP页面和Servlet的性能优化技术.其意思是建立尽可能快的并能适应数量增长的用户及其请求.在本文中,我将带领你学习已经实践和得到证实的性能调整技术,它将大大地提高你的servlet和jsp页面的性能,进而提升J2EE的性能.这些技术的部分用于开发阶段,例如,设计和编码阶段.另一部分技术则与配置相关. 技术1:在HttpServletinit()方法中缓存数据 服务器会在创建servlet实例之

  • 实现Servlet程序的三种方法(小结)

    实现Servlet程序的三种方法 1.手动实现Servlet程序 1.编写一个类去实现Servlet接口 2.实现service方法,处理请求并响应数据 示例代码: //HelloServlet.java package servlet; import javax.servlet.*; import java.io.IOException; public class HelloServlet implements Servlet { @Override public void init(Serv

  • 关于C++中定义比较函数的三种方法小结

    C++编程优与Pascal的原因之一是C++中存在STL(标准模板库).STL存在很多有用的方法. C++模板库中的许多方法都需要相关参数有序,例如Sort().显然,如果你想对一个集合进行排序,你必须要知道集合中的对象,那个在前那个在后.因此,学会如何定义比较方法是非常重要的. C++模板库的许多容器需要相关类型有序,例如set<T> 和priority_queue<T>. 这篇文章旨在告诉大家如何为一个类定义一个排序方法,以便在STL容器或者方法中使用. 作为一个C++程序员,

  • Redis实现限流器的三种方法(小结)

    目录 方法一:基于Redis的setnx的操作 方法二:基于Redis的数据结构zset 方法三:基于Redis的令牌桶算法 方法一:基于Redis的setnx的操作 我们在使用Redis的分布式锁的时候,大家都知道是依靠了setnx的指令,在CAS(Compare and swap)的操作的时候,同时给指定的key设置了过期实践(expire),我们在限流的主要目的就是为了在单位时间内,有且仅有N数量的请求能够访问我的代码程序.所以依靠setnx可以很轻松的做到这方面的功能. 比如我们需要在1

  • ubuntu下安装程序的三种方法总结(推荐)

    引言 在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. apt-get方法 使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使用以下,他会帮我把所有的依赖包都一起安装了. sudo apt-get install build-essential 执行上述命令以后,我们可以看到一下信息,The fol

  • Python 循环终止语句的三种方法小结

    在Python循环终止语句有三种: 1.break break用于退出本层循环 示例如下: while True: print "123" break print "456" 2.continue continue为退出本次循环,继续下次循环 示例如下: while True: print "123" continue print "456" 3.自定义标记 Tag 自已定义一个标记为True或False 示例代码: Tag

  • Python实现矩阵相乘的三种方法小结

    问题描述 分别实现矩阵相乘的3种算法,比较三种算法在矩阵大小分别为22∗2222∗22, 23∗2323∗23, 24∗2424∗24, 25∗2525∗25, 26∗2626∗26, 27∗2727∗27, 28∗2828∗28, 29∗2929∗29时的运行时间与MATLAB自带的矩阵相乘的运行时间,绘制时间对比图. 解题方法 本文采用了以下方法进行求值:矩阵计算法.定义法.分治法和Strassen方法.这里我们使用Matlab以及Python对这个问题进行处理,比较两种语言在一样的条件下,

  • python求绝对值的三种方法小结

    如下所示: 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs abs() 与fabs()的区别 abs()是一个内置函数,而fabs()在math模块中定义的. fabs()函数只适用于float和integer类型,而abs()也适用于复数. abs()返回是float和int类型,math.fabs()返回是float类型 以上这篇python求绝对值的三种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python 字典访问的三种方法小结

    定义字典 dic = {'a':"hello",'b':"how",'c':"you"} 方法一: for key in dic: print key,dic[key] print key + str(dic[key]) 结果: a hello ahello c you cyou b how bhow 细节: print key,dic[key],后面有个逗号,自动生成一个空格 print key + str(dic[key]),连接两个字符串,

  • Python如何截图保存的三种方法(小结)

    本文介绍python如何进行截图保存的几种方法,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图.结合Python其它模块如time ,os.path,基本能满足截图保存文件的功能需求 第一种 selenium for python get_screenshot_as_file() 相关代码如下: # coding=utf-8 import time from selenium import webdriver driver = webdriver.Chrome() driver.max

  • MySQL导入sql文件的三种方法小结

    目录 一.使用工具Navicat for MySQL导入 1.打开localhost_3306,选中右击“新建数据库” 2.指定数据库名和字符集(可根据sql文件的字符集类型自行选择) 3.选中数据库下的表运行SQL文件 4.选中路径导入 二.使用官方工具MySQL Workbench导入 1.第一种方法 2.第二种方法 三.使用命令行导入 总结 一.使用工具Navicat for MySQL导入 工具的具体下载及使用方法推荐的一篇文章:https://www.jb51.net/article/

随机推荐