servlet是Javaweb的核心,它实质上就是运行在服务器端的Java代码

1.简介

servlet是运行在服务器端的小程序,是sun公司提供的一套规范(接口),用来处理用户的请求,响应给浏览器的动态资源。servlet的本质是Java代码,通过Java的API动态的向客户端输出内容

servlet规范包含三个技术点:servlet,filter,listener

2.servlet快速入门

  Servlet接口SUN公司定义了两个默认实现类,分别为:GenericServlet、HttpServlet。我们在实际开发中通常不去实现servlet的接口,因为那样需要实现的方法太多。因此我们只需要继承HttpServlet,覆写doGet(),doPost()方法即可

3.掌握servlet的xml配置

servlet的基本配置

  <!-- servlet类的配置 -->
<servlet>
<description></description>
<display-name>FirstServlet</display-name>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>servlet温习.FirstServlet</servlet-class>
</servlet>
<!-- servlet虚拟路径的配置 -->
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/firstServlet</url-pattern>
</servlet-mapping>

<url-pattern>的配置

用的最多的就是如上图所示的完全匹配。

目录匹配 /虚拟的目录/*

扩展名匹配 *.abc(扩展名)

缺省servlet的配置:将url-pattern配置一个/

当你访问资源地址与所有的servlet都不匹配时,缺省的servlet就会处理

其实,web应用中所有的资源的响应都是servlet负责,包括静态资源

配置实例化servlet的时间

servlet默认的是第一次访问的时候执行init()方法,可以配置一个<load-on-startup>使服务器启动后就实例化

  <!-- servlet类的配置 -->
<servlet>
<display-name>FirstServlet</display-name>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>servlet温习.FirstServlet</servlet-class> <!-- 运行起来3秒后,执行相应的init方法 -->
<load-on-startup>3</load-on-startup> </servlet>

欢迎页面的配置

  <welcome-file-list>
<welcome-file>1.html</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

4.掌握servlet的生命周期(API),理解servlet的执行过程

https://www.cnblogs.com/lgk8023/p/6427977.html

总的来说就是用servlet接口中的那三个api来表示init() service(),destroy(),分为四个阶段:加载和实例化,初始化,请求处理,服务终止

问题:对XXXServlet进行了10次访问,init(),destory(),service(),doGet(),doPost() 一共执行力多少次?request对象创建几个?response创建几个?

Servlet接口中的方法

init(ServletConfig config)

service(ServletRequest request,ServletResponse response

destroy()

HttpServlet类的方法

1)init()

2)doGet(HttpServletRequest request,HttpServletResponse response)

3)doPost(HttpServletRequest request,HttpServletResponse response)

4)destroy()

Servlet获取请求的过程

在解析请求的资源地址时干的事

5.掌握ServletContext对象

ServletContext对象是一个全局域对象,代表着web应用环境的上下文,其代表着web应用。servlet对象可以有很多个但是servletContext对象只能有一个因为其对应的web项目只有一个

ServletContext的生命周期:

创建:在web应用创建后,它就创建了

销毁:在web应用销毁后,它也就销毁了

重点掌握几个api的应用:

获取servletContext对象

1)ServletContext servletContext = config.getServletContext();

2)ServletContext servletContext = this.getServletContext();

servletContext对象的作用

web.xml中配置初始化参数

通过context对象获得参数

获取资源的绝对路径

方法:

String path = context.getRealPath(相对于该web应用的相对地址);

ServletContext是一个域对象

ServletContext域对象的作用范围:整个web应用(所有的web资源都可以随意向 servletcontext域中存取数据,数据可以共享)

域对象的通用的方法:

setAtrribute(String name,Object obj);

getAttribute(String name);

removeAttribute(String name);

package servlet温习.demo2;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class ServerContext1 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取ServerContext对象
ServletContext context = this.getServletContext();
//1.获取初始化的参数
String parameter = context.getInitParameter("driver");
System.out.println(parameter);
//2.获取a.txt
String path1 = context.getRealPath("WEB-INF/a.txt");
System.out.println(path1);
//3.获取c.txt
String path2 = context.getRealPath("WEB-INF/classes/c.txt");
System.out.println(path2);
//4.获取d.txt
String path3 = context.getRealPath("d.txt");
System.out.println(path3); //设置值
context.setAttribute("name", "zhangsan");
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

servlet温习的更多相关文章

  1. 重温 JSP 与 Servlet

    Java Web使用SSH框架多了,很多基础的 JSP 与 Servlet 的东西都忘记了.最近在 JSP 标签 和 Struts2 包装的 Session 对象的混合使用时弄晕了,就翻书温习下. J ...

  2. servlet文件下载

    创建web工程servlet,新建DownloadServlet.java package com.xmyself.servlet; import java.io.File; import java. ...

  3. 前端框架 EasyUI (0) 重新温习(序言)

    几年前,参与过一个项目.那算是一个小型的信息管理系统,BS 结构的,前端用的是基于 jQuery 的 EasyUI 框架. 我进 Team 的时候,项目已经进入开发阶段半个多月了.听说整个项目的框架是 ...

  4. java中servlet的各种路径

    1. web.xml中<url-pattern>路径,(叫它Servlet路径!) > 要么以“*”开关,要么为“/”开头 2. 转发和包含路径 > *****以“/”开头:相 ...

  5. Servlet监听器笔记总结

    监听器Listener的概念 监听器的概念很好理解,顾名思义,就是监视目标动作或状态的变化,目标一旦状态发生变化或者有动作,则立马做出反应. Servlet中的也有实现监听器的机制,就是Listene ...

  6. JavaWeb——Servlet

    一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互. 这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求 ...

  7. servlet 简介,待完善

    什么是Servlet?① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 Servlet相关包的介绍--javax. ...

  8. java web学习总结(五) -------------------servlet开发(一)

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

  9. servlet使用入门

    创建web工程servlet,然后新建TestServlet.java package com.xmyself.servlet; import java.io.IOException; import ...

随机推荐

  1. iframe关闭操作

    关闭自定义 Div+Iframe弹窗 :window.parent.$("div的id/class/name").remove();//移除div 关闭Iframe弹窗:windo ...

  2. C#中设置窗口在最前显示而其他窗口不能使用

    对程序中的一个Form1处理,让其在打开的情况下,其他窗体都无法使用,全部焦点都在他身上. 1.这种方法最简单,直接调用窗体的模态对话框函数显示窗体 Form1.ShowDialog(): 2.设置窗 ...

  3. 【Java每日一题】20170217

    20170216问题解析请点击今日问题下方的“[Java每日一题]20170217”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; public cla ...

  4. (4)Microsoft office Word 2013版本操作入门_插入图片及图片的排版

    1.word中插入图片和文绕图 1.1插入图片 :点击[插入]-->[图片] 或者 [联机图片]从网上选择. 1.2文字环绕: [格式] --->点击[位置]   .[自动换行]  进行图 ...

  5. Java高并发 -- J.U.C.组件扩展

    Java高并发 -- J.U.C.组件扩展 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 FutureTask Future模式,核心思想是异步调用.和同步调用的区别 ...

  6. 详解bootstrap-fileinput文件上传控件的亲身实践

    经理让我帮服务器开发人员开发一个上传文件功能界面,我就想着以前使用过bootstrap-fileinput插件进行文件上传,很不错.赶紧就撸起来了. 1.下载压缩包.插件地址https://githu ...

  7. DevExpress ChartControl ViewType.Line

    源码地址:https://files.cnblogs.com/files/lanyubaicl/ChartControl.Line.7z public partial class Form1 : Fo ...

  8. java框架之spring

    一.HelloWorld程序 导入四个核心包(core.beans.expression.context)和一个logging的包: 写一个类并在 xml 中配置相应的bean(两个重要属性 id 和 ...

  9. jQuery效果之简单的手风琴效果

    实现效果如图所示: html结构: <div class="item_box box10"> <div class="item_box_wp" ...

  10. POJ1509 Glass Beads(最小表示法 后缀自动机)

    Time Limit: 3000MS   Memory Limit: 10000K Total Submissions: 4901   Accepted: 2765 Description Once ...