一、Servlet简介

  Servlet是sun公司提供的一门用于开发动态web资源的技术。
  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
  1、编写一个Java类,实现servlet接口。
  2、把开发好的Java类部署到web服务器中。
  按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet

二、Servlet的运行过程

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
  ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
  ②装载并创建该Servlet的一个实例对象。 
  ③调用Servlet实例对象的init()方法。
  ④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
  ⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。 

三、Servlet调用图

 

四、在Eclipse中开发Servlet

  在eclipse中新建一个web project工程,eclipse会自动创建下图所示目录结构:

 

4.1、Servlet接口实现类

  Servlet接口SUN公司定义了两个默认实现类,分别为:GenericServlet、HttpServlet。

  HttpServlet指能够处理HTTP请求的servlet,它在原有Servlet接口上添加了一些与HTTP协议处理方法,它比Servlet接口的功能更为强大。因此开发人员在编写Servlet时,通常应继承这个类,而避免直接去实现Servlet接口。
  HttpServlet在实现Servlet接口时,覆写了service方法,该方法体内的代码会自动判断用户的请求方式,如为GET请求,则调用HttpServlet的doGet方法,如为Post请求,则调用doPost方法。因此,开发人员在编写Servlet时,通常只需要覆写doGet或doPost方法,而不要去覆写service方法。

4.2、通过Eclipse创建和编写Servlet

  

  这样,我们就通过Eclipse帮我们创建好一个名字为ServletDemo1的Servlet,创建好的ServletDemo01里面会有如下代码:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ServletDemo1
 */
@WebServlet("/ServletDemo1")
public class ServletDemo1 extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public ServletDemo1() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
*      response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub

response.setContentType("text/html");
String[] str = request.getParameterValues("params");

System.out.println(str[0]);

PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println("  <BODY>");
out.print("    This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println("  </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
*      response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);

}

}

javaweb——Servlet开发相关推荐

  1. Java-Web Servlet开发

    一.Servlet概述 1.什么是Servlet Servlet是JavaWeb的三大组件之一,它属于动态资源.Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Ser ...

  2. JavaWeb——Servlet开发3

    1.使用初始化参数配置应用程序 初始化参数的方式有两种 在Web.xml文件中使用<context-param>标签声明上下文初始化参数 <context-param>< ...

  3. JavaWeb——Servlet开发1

    Java Servlet是运行在服务器端上的程序,Servlet是Java Servlet包中的一个接口,能够直接处理和相应客户端的请求,也可以将工作委托给应用的其他类. public interfa ...

  4. javaweb学习总结(五)——Servlet开发(一)

    http://www.cnblogs.com/xdp-gacl/p/3760336.html 一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其 ...

  5. javaweb学习总结(五):Servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  6. javaweb基于JSP+Servlet开发水费管理系统+论文 大作业 毕业设计

    基于JSP+Servlet开发水费管理系统+论文(大作业/毕业设计) 开发环境:   Windows操作系统 开发工具:MyEclipse+Jdk+Tomcat+SQLServer数据库 运行效果图: ...

  7. javaweb基于JSP+Servlet开发大数据与应用专业企业门户网站源码 课程设计 大作业

    基于JSP+Servlet开发大数据与应用专业企业门户网站:(大作业/课程设计) 开发环境: Windows操作系统 开发工具: Eclipse+Jdk+Tomcat+MYSQL数据库 运行效果图: ...

  8. javaweb基于JSP+Servlet开发药店(私人诊所)管理系统设计与实现源码+论文 +视频讲解 毕业设计

    基于JSP+Servlet开发私人诊所(药店)管理系统设计与实现+论文:(毕业设计/课程设计) 开发工具: MyEclipse+Jdk+Tomcat+SQLServer数据库 运行效果图 基于JSP+ ...

  9. javaweb基于JSP+Servlet开发在线个人理财系统+论文 课程设计 大作业源码

    基于JSP+Servlet开发在线个人理财系统+论文(大作业/毕业设计) 开发环境: Windows操作系统 开发工具: MyEclipse+Jdk+Tomcat+SQLServer数据库 运行效果图 ...

最新文章

  1. gDebugger 3.1.1 原版+破解
  2. C#创建MQTT客户端接收服务器信息
  3. 大数据与智能算法(三-集疏运应用)-SMU在线学习笔记
  4. 一个插排引发的设计思想 (一) 观察者模式
  5. Servlet的调试
  6. 股权证明pos记账权是根据不同节点_中币(ZB)说真的,区块链第四期:关于ETH2.0,你需要了解的——PoS...
  7. airflow 進行後端大數據中ETL處理(草稿)
  8. CVPR 2021 目标检测、跟踪和姿态估计最新进展分享
  9. Redis 实战指南
  10. 【机器学习基础】正规方程法(Normal equation)(正则化和非正则化)——吴恩达课程笔记
  11. ubuntu linux ftp命令的使用
  12. c语言计算机结题报告怎么写,结题报告格式及如何写结题报告
  13. PowerShell复制粘贴快捷键
  14. chrome无痕模式可访问但正常模式访问不了
  15. [JSOI2016]扭动的回文串
  16. 在华为HG255D路由器上刷了OpenWRT,实现了多拨,下载速度超快
  17. JetBrains IDE全新UI预览版来了,要做简洁与强大兼顾的IDE
  18. 幸福 兴趣 工作 心态
  19. PGS,史上最大的超级玛丽来了
  20. 我叫mt php,我叫mt各种节点详细总结 新手快速MAX

热门文章

  1. PyTorch中的Variable类型
  2. leetcode691:Stickers to Spell Word
  3. Altium AD20删除机械层MECH
  4. 【Spark-core学习之六】 Spark资源调度和任务调度
  5. 谈谈控制器技术SpringMVC与struts2
  6. 创建一对多表结构实例 /操作的三种方式
  7. Scrum立会报告+燃尽图(Beta阶段第一次)
  8. k64 datasheet学习笔记3---Chip Configuration之System modules
  9. SAS® Model Studio功能调研
  10. 如何关闭快递收货隐私手机号 拼多多