1.Servlet概念:

  Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

2.Servlet图示;

  

3.Tomcat

  概念:Tomcat是TWeb应用服务器,是一个Servlet/JSP容器;

作用:①.接收并解析http请求文本,封装成HttpServletRequest对象

    ②.将响应的消息封装成HttpServletResponse对象。

4.编写Servlet

  三种方法实现Servlet:

  • 实现Servlet接口
  • 继承GenericServlet类
  • 继承HttpServlet类(通常采用此方法)

  

5.Servlet生命周期

  三个生命周期方法:

  

6.ServletConfig对象

  继承HttpServlet类后,通过 getServletConfig()方法可以直接获取;

servletConfig.getServletName()    //获取servlet的名称,也就是我们在web.xml中配置的servlet-name

servletConfig.getServletContext() //获取ServletContext

servletConfig.getInitParameter(String)  //获取Servlet初始化参数

servletConfig.getInitParameterNames()     //获取所有初始化参数的key

7.ServletContext对象

  概念:Tomcat为每个web项目创建一个ServletContext对象,一个Web项目共享一个ServleyContext,是数据共享的通道。

  继承HttpServlet类后,通过 getServletConfig().getServletContext()方法 或直接用 getServletContext()方法获取;

//1.设置共享属性资源
servletContext.setAttribute(String name,Object obj) //设置属性
servletContext.getAttribute(String name) //获取属性
servletContext.removeAttribute(String name) //移除报警 //2.获取Context初始化属性
servletContext.getInitParameter(String name) //获取指定name的属性
servletContext.getInitParameterNames() //获取所有初始化属性的key的集合,返回值为Enumuration //3.获取web项目资源
servletContext.getRealPath("WEB-INF/web.xml") //获取web项目下指定资源的路径
servletContext.getResourceAsStream(String path) //获取web项目下指定资源的内容,并创建字节输入流
servletContext.getResourcePaths(String path) //指定路径下的所有内容,返回set集合

8.request对象

  

//1.获取请求头
String getHeader(String name) //获取指定请求头内容
long getDateHeader(String name) //同上,返回long类型
int getIntHeader(String name) //同上,返回int类型
Enumeration getHeaders(String name) //适用于多值请求头,返回值的集合 //2.获取请求行内容
request.getRequestURI(); //项目名称+Servlet名称
request.getRequestURL(); //完整请求地址,不包含请求参数
request.getProtocol(); //获取协议和版本 ,如HTTP/1.1
request.getScheme(); //获取协议,HTTP
request.getServerName(); //获取主机名
request.getServerPort(); //获取端口号
request.getContextPath(); //获取发布后的项目名称
request.getServletPath(); //获取Servlet路径
request.getQueryString(); //获取请求参数
request.getRemoteAddr(); //获取远程主机地址 //3.获取请求方法
//get请求和post请求获取请求参数方法一致
String request.getParameter(String) //获得指定名称的请求参数值。
String[] request.getParameterValues(String) //获得指定名称,所有请求参数值。例如:checkbox、select等
Map<String , String[]> request.getParameterMap() //获得所有的请求参数 //4.请求转发

特点:服务器进行的转发,浏览器中的url不会变,只能跳转到同一web项目的其他页面

path:转发后跳转的页面,以web项目根开始,只需要填项目根后面的即可
request.getRequestDispatcher(String path).forward(request,response);

9.response对象

response.setStatus(int code)   //设置响应的状态码
response.setHeader(String name,String value); //设置响应头 //重定向1
response.setStatus(302); //302,重定向
response.setHeader("Location","http://www.baidu.com") //Location头包含新的地址
//重定向2
response.sendRedirect("http://www.baidu.com") //直接重定向
/*重定向没有任何局限,可以重定向web项目内的任何路径,也可以访问别的web项目中的路径,并且这里就用"/"区分开来,
如果使用了"/"开头,就说明我要重新开始定位了,不访问刚才的web项目,自己写项目名,如果没有使用"/"开始,那么就
知道是访问刚才那个web项目下的servlet,就可以省略项目名了。就是这样来区别。*/

Servlet基础总结的更多相关文章

  1. JSP数据交互(二)和Servlet基础

    01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...

  2. Servlet基础(三) Servlet的多线程同步问题

    Servlet基础(三) Servlet的多线程同步问题 Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率. 由于Servlet/JSP默认是以多线程模式执行的, ...

  3. Servlet基础(二) Servlet的生命周期

    Servlet基础(二) Servlet的生命周期 Servlet的生命周期可以分为三个阶段: 1.初始化阶段 2.响应客户请求阶段 3.终止阶段 Servlet的初始化阶段 在下列时刻Servlet ...

  4. Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解

    Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...

  5. JSP/Servlet基础语法

    相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...

  6. Servlet基础简单总结(上)

    Servlet基础一些简单总结(上): 1.Java Servlet是运行在Web服务器上的Java程序2.Java平台给Servlet开发者提供了强大的API/面向对象编程平台无关/强类型/垃圾回收 ...

  7. servlet总结:Servlet基础

    Servlet基础 1.手工编写第一个Servlet ⑴继承HttpServlet ⑵重写doGet()或者doPost()方法 ⑶在web.xml中注册Servlet 2.使用eclipse编写第一 ...

  8. servlet基础(组成与生命周期)

    servlet基础作用:servlet是运行在Web服务器或应用服务器上的程序:担当web浏览器或其他HTTP客户程序发出的请求与HTTP服务器上的数据库或应用程序之间的中间层.1.读取客户程序发送的 ...

  9. Unit01: Servlet基础 、 HTTP协议

    Unit01: Servlet基础 . HTTP协议 在页面上输出当前时间 package web; import java.io.IOException; import java.io.PrintW ...

  10. Servlet基础教程:tutorialspoint-servlet

    来自turorialspoint的Servlet基础教程(英文),官网:https://www.tutorialspoint.com/servlets/index.htm 这个教程在国内已经被翻译成中 ...

随机推荐

  1. NLP采用Bert进行简单文本情感分类

    参照当Bert遇上Kerashttps://spaces.ac.cn/archives/6736此示例准确率达到95.5%+ https://github.com/CyberZHG/keras-ber ...

  2. lambda表达式推导和使用

    lambda λ希腊字母表中排序第十一位的字母,英语名称为 Lambda, 避免匿名内部类定义过多 其实质属于函数式编程的概念 (params) -> expression (params) - ...

  3. jumpserver开源堡垒机部署安装

    0x01.前言 Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统. Jumpserver 使用 Python / Djang ...

  4. Zabbix Agent配置文件详解

    # This is a config file for the Zabbix agent daemon (Unix)# To get more information about Zabbix, vi ...

  5. document.compatMode,quirks mode and standards mode

    Document.compatMode Indicates whether the document is rendered in Quirks mode or Standards mode. Syn ...

  6. 快读代码level.2

    long long read() { long long ans=0; char last=' ',ch=getchar();//last用来存正负号,并消去那些换行符,空格 ') { last=ch ...

  7. 关于ORACLE事务处理的一些笔记

    这是2013年在看ORACLE概念手册的时候的一些笔记,现在整理如下(可能跟其他一些文章的内容有重复):     20131012 周六 oracle概念手册中文版 第4章 事务管理   事务具有原子 ...

  8. list实现栈以及队列操作

    1.堆栈stack操作:尾进 尾出 或者叫先进后出 //1借助LinkedList 类中的方法实现栈 public class MyStack { private LinkedList<Obje ...

  9. vim简明教程(附快速记忆方法)

    vim分为四种模式: 普通模式(normal mode) 插入模式(insert mode) 可视模式(visual mode) 命令模式(excute mode) 下面整理了常用的快捷键和记忆方法( ...

  10. Centos安装nmap端口查看工具

    CentOS安装nmap端口查看工具 一.安装nmap yum install nmap    #输入y安装 二.使用nmap      nmap localhost    #查看主机当前开放的端口  ...