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. MyBatis与Hibernate总结篇

    也用了这么久的Hibernate和MyBatis了,一直打算做一个总结,就他们之间的优缺点说说我自己的理解: 首先,Hibernate是一个ORM的持久层框架,它使用对象和我们的数据库建立关系,在Hi ...

  2. weex animation模块 使用指南

    本节学习目标 掌握内置组件animation的使用 我们在开发应用的时候,常常需要增加一些动画效果,来提高用户体验,经常用到的一些动画效果如下 平移 旋转 缩放 背景颜色改变 组件透明图 weex 提 ...

  3. python 目录管理与文件管理

    目录管理(os) system:执行系统命令 # 执行系统命令 os.system('cls') name:获取操作系统名称 # 操作系统名称,nt代表Windows, posix代表类unix pr ...

  4. Spring 资源加载

    pom.xml ``` org.springframework spring-core 4.3.14.RELEASE org.springframework spring-beans 4.3.16.R ...

  5. python用jdbc读取oracle表和列的信息,生成java代码

    这个项目的地址 传送门 第一个python3项目,对python 还是学习中,请大佬轻喷,欢迎指点 import jaydebeapi from .database import Database d ...

  6. Web前端经典面试试题(一)

    本篇收录了一些面试中经常会遇到的经典面试题,并且都给出了我在网上收集的答案.眼看新的一年马上就要开始了,相信很多的前端开发者会有一些跳槽的悸动,通过对本篇知识的整理以及经验的总结,希望能帮到更多的前端 ...

  7. 2017 网易游戏互娱游戏研发4.21(offer)

    网易游戏互娱(offer) 去年这个时候就参加过网易游戏的实习生招聘,到今年总共收到了4次拒信.不过这次运气好,终于get了最想要的offer.去年实习生互娱笔试挂,秋招笔试挂,今年春招互娱投了连笔试 ...

  8. 'EF.Utility.CS.ttinclude' returned a null or empty string.

    需要安装https://www.microsoft.com/en-us/download/details.aspx?id=40762

  9. springmvc手动渲染jsp

    因为需要MockHttpServletResponse对象来得到输出的内容,要引入的包 <dependency> <groupId>org.springframework< ...

  10. MaxCompute - ODPS重装上阵 第六弹 - User Defined Type

    MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务. MaxCompute除了持续优化性能外,也致力于提 ...