servlet:

  它是web应用程序的核心类,可以直接处理和相应用户请求,又或者将处理工作委托给应用中的其他部分的类。

  让servlet继承HttpServlet的原因是:

    1.HttpServlet继承了javax.servlet.GenericServlet,并实现了只接收Http请求的service()方法。

    2.HttpServlet提供了每种http请求的空实现

    3.当用户以http的方法提交请求时,我们可以在HttpServlet的基础上,根据请求的类型,把处理工作放入重写的相应方法中。假如用户以post的方法提交表单数据,那么可以重写HttpServlet中的doPost()方法,然后编写处理逻辑。

  servlet的生命周期:

    1.初始化状态:调用init()方法

      时间:第一种情况:当servlet构建完成后,并在第一个请求到达之前

         第二种情况:若servlet被设置在web应用部署和启动时自动启动,那么它的init()方法也会被调用;这种设置有两种实现方式,一是在部署描述文件/WEB-INF/web.xml中为该servlet添加一项说明<load-on-startup>level</load-on-startup>,level表示启动顺序的优先级;二是在servlet类中使用注解,在注解中添加一项说明 loadOnStartup = level;

    2.处理请求:调用service()方法,或者根据请求类型分别调用相关的doXXX()

      时间:用户的请求到达

    3.销毁:调用destory()方法

      时间:当servlet不再接收请求后,立即调用;通常发生在web应用被停用或卸载或web容器关闭

例子:创建一个简单的servelt,在用户以get的方式发出请求时,在用户的浏览器中显示“Hello World”

 package cn.example;

 import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class HelloServlet extends HttpServlet{ /*
* 处理Http中的Get请求
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取字符输出流
PrintWriter writer = resp.getWriter();
// 向字符输出流中输入一段文字
writer.write("Hello, world"); } /*
* 初始化方法,当servlet构建完成后,在第一个请求到达之前调用
* 在调用init()时,servlet中的所有属性都已经设置完成,并提供了对ServletConfig和javax.servlet.ServletContext对象的访问
*/
@Override
public void init() throws ServletException {
// 向终端输入一段文字,表示该方法被调用
System.out.println("Servlet " + this.getServletName() + " has started");
} /*
* 销毁方法,当Servlet不再接收请求之后立即调用,这种情况通常发生在Web应用被停止或者卸载,或者web容器关闭。
*/
@Override
public void destroy() {
// 向终端输入一段文字,表示该方法被调用
System.out.println("Servlet " + this.getServletName() + " has stopped");
}
}

编写完servlet后,需要告诉web容器如何部署应用程序中的servlet,有两种方式:

  1.在web.xml中部署

  2.使用注解

在web.xml中部署servlet:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1"> <!--
web.xml文件将指示web容器如何部署应用程序
-->
<!-- 应用程序在服务器中显示的名字 -->
<display-name>Hello-World</display-name> <!-- 声明servlet,包括servlet的名字,在哪里可以定位到该servlet -->
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>cn.example.HelloServlet</servlet-class>
</servlet> <!--
该servlet应该对哪些请求URL做出相应
所有访问应用程序相对URL/greeting,URL/salutation,URL/wazzup的请求都可以被helloServlet处理,在这里的请求URL可以有多个
-->
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/greeting</url-pattern>
<url-pattern>/salutation</url-pattern>
<url-pattern>/wazzup</url-pattern>
</servlet-mapping> </web-app>

完成这两项工作之后,就可以运行servlet

创建一个servlet的更多相关文章

  1. 01_3_创建一个Servlet

    01_3_创建一个Servlet 1.创建一个Servlet import java.io.IOException; import java.io.PrintWriter; import javax. ...

  2. 使用IDEA创建一个Servlet应用程序

    使用IDEA创建一个Servlet应用程序 第一步:创建web应用 选择web application应用,之后填写项目名称等. 第二步:项目配置 在WEB-INF目录下创建两个文件夹:classes ...

  3. 玩转Web之servlet(一)---怎样创建一个servlet

    Servlet概念:servlet就是用java编写的服务器端的小程序,用来完成下B/S架构(即浏览器和服务器架构)下客户端请求的响应处理. servlet通常在容器中运行Tomcat是常见的serv ...

  4. 快速创建一个 Servlet 项目(1)

    1. 新建一个 maven project (web app) 得到如下项目 2. 添加 servlet 和 jsp 依赖 通常 servlet 和 jsp 依赖由web容器提供,这个编译错误并不会影 ...

  5. 快速创建一个 Servlet 项目(2)

    1. 新建一个 webapp 参考 http://www.cnblogs.com/zno2/p/5909019.html 2.调整jdk版本 修改 pom.xml 文件,将jdk 调整为适当的版本,比 ...

  6. 创建第一个servlet程序--HelloServlet

    这篇文章是用来纪念我第一次创建一个Servlet程序,步骤我会写得详细点,也可以参考一下,后续我会将SpringMVC 跟ssh的搭建分别更新(ps:不忙的话我会更新) 工具:java jdk 1.6 ...

  7. 创建第一个Servlet并定制Sevlet模板

    我们已经为eclipse配好了Tomcat服务器,创建了Web工程,现在是时候该创建一个Servlet向世界问好了! 第一步:创建一个Web工程,选中”src“文件夹 -->单击右键,鼠标移到” ...

  8. 开发一个Servlet示例

    Servlet响应请求步骤: Servlet是一个基于Java技术的Web组件,运行在服务器端,用户利用Servlet可以很轻松地扩展Web服务器的功能,使其满足特定的应用需要.Tomcat是一个常用 ...

  9. JavaWeb-----实现第一个Servlet程序

    1.Servlet简介      Servlet是在服务器端运行的一个小程序,实际上一个Servlet就是一个Java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内 存里的servl ...

随机推荐

  1. vue.js快速搭建图书管理平台

      前  言 上一期简单讲解了vue的基本语法,这一次我们做一个小项目,搭建一个简单的图书管理平台,能够让我们更深刻的理解这门语言的妙用.   1.DEMO样式 首先我们需要搭建一个简单的demo样式 ...

  2. 【Salvation】——登录注册存储数据&验证用户

    写在前面:登录注册功能是在纯Unity3D环境内实现的,用到UGUI绘制界面技术,数据库的部分是后面拓展加进来的,这里数据存储是指存在XML用户文件中. 注册用户名和密码 zc() 用户名和密码登录 ...

  3. django 实现同一个ip十分钟内只能注册一次

    很多小伙伴都会有这样的问题,说一个ip地址十分钟内之内注册一次,用来防止用户来重复注册带来不必要的麻烦 逻辑: 取ip,在数据库找ip是否存在,存在判断当前时间和ip上次访问时间之差,小于600不能注 ...

  4. JavaScrpit中异步请求Ajax实现

    在前端页面开发的过程中,经常使用到Ajax请求,异步提交表单数据,或者异步刷新页面. 一般来说,使用Jquery中的$.ajax,$.post,$.getJSON,非常方便,但是有的时候,我们只因为需 ...

  5. JS模块化-requireJS

    1. 为什么要使用require.js 刚开始的时候,网页需要用到很多不同的插件,都是依次加载,需要注意其中的加载顺序即依赖关系. <script src="1.js"> ...

  6. Tomcat初应用

    Tomcat初应用 这里我们自己建立一个html的web资源,然后在tomcat里进行配置,使我们可以通过服务器在浏览器里打开. 第一步:新建html文件,在里面随便输入几个字符串如:新建txt文件- ...

  7. absolute元素 text-align属性

    text-align属性的元素可以有效作用于inline/inline-block水平的子元素,但是,text-align属性对应用了position:absloute/fixed声明的元素无效!   ...

  8. 使用 gulp-file-include 构建前端静态页面

    前言 虽然现在单页面很流行,但是在 PC 端多页面还是常态,所以构建静态页面的工具还有用武之地.最近也看到了一些询问如何 include HTML 文件的问题. 很多时候我们在写静态页面的时候也希望能 ...

  9. 07.十分钟学会tomcat数据源

    一.数据源的作用及操作原理 1,  首先先看下传统JDBC的操作 在tomcat中使用数据库连接池操作数据库 2,JNDI属于命名及目录查找接口,在javaee的javax.naming包中 这套AP ...

  10. Java 核心内容相关面试题【3】

    目录 面向对象编程(OOP) 常见的Java问题 Java线程 Java集合类 垃圾收集器 异常处理 Java小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet ...