JavaEEe技术包括Servlet/Jsp、Java Message Service(JMS)、Enterprise JavaBeans(EJB)、JavaServer Faces(JSF),以及Java Persistence。运行JavaEE应用程序,需要一个JavaEE容器,如JBoss。

ServletAPI中有4个Java包,包括:

javax.servlet :包含定义Servlet与Servlet容器之间契约的类和接口。

javax.servlet.http :包含定义HTTP Servlet与Servlet容器之间契约的类和接口。

javax.servlet.annotation :包含对Servlet、Filter和Listener进行标注的注解。它还为标注元件指定元数据。

javax.servlet.descriptor :包含为Web应用程序的配置信息提供编程式访问的类型。

javax.servlet中主要的类型:

Servlet > GenencServlet

ServletRequest

ServletReponse

ServletContext

ServletConfig

Requestpatcber :我接触的比较少

Filter :我接触的比较少

javax.servlet.http中主要的类型:

GenericServlet>HttpServlet

HttpServletRequest

HttpServletResponse

HttpSession

Cookie

Servlet容器为每个应用程序创建一个ServletContext实例。这个对象封装context(应用程序)的环境细节。每个context只有一个ServletContext。每个Servlet实例还有一个封装Servlet配置信息的ServletConfig。

Servlet接口定义的五个方法:

生命周期方法:

init(ServletConfig config)

service(Servlet request, Servlet response)

destroy()

非生命周期方法:

getServletInfo()

getServletConfig()

jsp页面、html页面、图像、其他资源应该放在应用程序目录下。如果资源只想被servlet访问,则放在WEB-INF目录下。

ServletRequest接口中方法:

getContentLength() :得到字体中字节数,不知道长度,则返回-1。

getContentType():得到主题MIME类型,不知道类型,则返回null。

用于获得HTML表单域的值,或者获得查询字符串的值

getParamter(String name)

getParamterNames()

getParamterMap()

getParamterValues()

ServletReponse接口中方法:

setContentType() :设置响应的内容类型

getWriter() :得到输出字符的流

getOutputStream() :得到输出二进制流

ServletConfig接口中方法:

getInitParameter(String name) :得到某个初始参数的值

getInitParameterNames() :得到所有初始参数名称

getServletContext() :得到ServletContext对象

保存在ServletContext中的数据称为属性,ServletContext提供的处理属性的方法:

getAttribute(String name)

getAttributeNames()

setAttribute(String name, Object object)

removeAttribute(String name)

HttpServletRequest接口中的新增的方法:

getContextPath() :返回请求的URI部分

getCookies() :返回一个Cookie对象数组

getHeader(String name) :返回指定的HTTP标头

getQueryString() :返回这条请求的查询语句

getMethod() :发送这条请求的方法

getSession() :返回与这个请求有关的session对象,找不到则新创建一个

HttpServletResponse接口中的新增的方法:

addCookie(Cooke cookie) :给这个响应对象添加cookie

addHeader(String name, String value) :给这个响应对象添加标头

sendRedirect() :发送响应代号,将浏览器重定向到指定位置

处理HTML表单:

HTML输入域(文本域、隐藏域或密码域)或者文本域的值被当作一个字符串发送到服务器。对于空白的输入域或者文本域将发送一条空白的字符串。因此,带有一个输入域名称的ServletRequest.getParameter将永远不会返回null。

HTML的select元素还会给标头发送一个字符串。如果没有选择select元素中的任何选项,那么将会发送所显示的选项值。

对于一个带有多个值的选择元素(即允许多个选项的select元素,用<select multiple>表示)是发送一个字符串数组,并且必须由ServletRequest.getParameterValues进行处理。

复选框比较特别一些。被选中的复选框将字符串 "on" 发送到服务器。没有被选中的复选框则不发送任何内容到服务器,并且ServletRequest.getParameter(fieldname)返回null。

单选按钮将被选按钮的值发送到服务器。如果没有选中任何按钮,则不发送任何内容到服务器,并且ServletRequest.getParameter(fieldname)返回null。

如果一个表单包含多个同名的输入元素,那么所有的值都会提交,必须用ServletRequest.

getParameterValues来获取它们。ServletRequest.getParameter将只返回最后一个值。

部署描述符好处:

1.可以包含WebServlet没有的元素

2.如果需要修改配置,如Servlet路径,不需要重新编译Servlet

3.可以将一个初始参数传递给Servlet,并且不需要重新编译Servlet类,就可以对它们进编辑

4.部署可以覆盖注解中指定的值

第一章 Servlet的更多相关文章

  1. Jenkins入门系列之——01第一章 Jenkins是什么?

    第一章 Jenkins是什么? Jenkins 是一个可扩展的持续集成引擎. 主要用于: l 持续.自动地构建/测试软件项目. l 监控一些定时执行的任务. Jenkins拥有的特性包括: l 易于安 ...

  2. Java学习笔记 第一章 入门<转>

    第一章 JAVA入门 一.基础常识 1.软件开发 什么是软件? 软件:一系列按照特定顺序组织的计算机数据和指令的集合 系统软件:DOS,Windows,Linux 应用软件:扫雷.QQ.迅雷 什么是开 ...

  3. [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]

    第一章 前言与概述 web服务器做什么? 答:接收客户请求,然后向客户返回结果 web客户做什么? 答:此处客户指浏览器,web客户允许用户请求服务器上的某个资源,并向用户展现请求的结果. html ...

  4. 第一章 创建WEB项目

    第一章   创建WEB项目 一.Eclipse创建WEB项目 方法/步骤1 首先,你要先打开Eclipse软件,打开后在工具栏依次点击[File]>>>[New]>>&g ...

  5. 《跟我学Shiro》学习笔记 第一章:Shiro简介

    前言 现在在学习Shiro,参照着张开涛老师的博客进行学习,然后自己写博客记录一下学习中的知识点,一来可以加深理解,二来以后遗忘了可以查阅.没有学习过Shiro的小伙伴,也可以和我一起学习,大家共同进 ...

  6. 学习笔记(一)--->《Java 8编程官方参考教程(第9版).pdf》:第一章到六章学习笔记

    注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.违者本人不负法律责任.违法者自负一切法律责任. ...

  7. JERSEY中文翻译(第一章、Getting Started、2.2)

    前言 这是jersey2.2的用户向导,我们会尽力维护它的更新并且也会增加新的章节.当阅读本用户指南的时候,也要参阅Jersey API 文档,额外的信息补充JERSEY的新特性和API 如果你想要为 ...

  8. springMVC 第一章

    springMVC 第一章 一.分层结构的项目 组成方式: 表示层:页面,Servlet 业务层:业务逻辑类(service) 持久层:与数据库交互的类(dao) 程序执行的过程:表示层->se ...

  9. 第一章 初识shiro

    shiro学习教程来自开涛大神的博客:http://jinnianshilongnian.iteye.com/blog/2018936 第一章 初识shiro 简单了解shiro主要记住三张图即可. ...

随机推荐

  1. windows下服务程序相关(别人提供的5种封装使用)

    作者: daodaoliang 版本: V 0.0.1 日期: 2017年11月25日 1. Windows Service 编程实现 在windows平台下面编写 服务程序 免不了要去查看微软的开发 ...

  2. Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确认 qmake -v 是自己使用的Qt版本,否则用export PATH进行修改)good

    patchelf 工具可以修改已编译运行程序的依赖库位置和指定库链接器 patchelf --set-rpath patchelf --set-interpreter 通过这个工具 https://g ...

  3. 随机森林分类器(Random Forest)

    阅读目录 1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 袋外错误率(oob error) 6 随机森林工作原理解释的一个简单例子 7 随机森林的Pyth ...

  4. 零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中)

    原文:零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中) 我们接着进行动画MenuBar的制作 接续着上 ...

  5. 关于jquery.fileupload结合PHP上传图片的开发用法流程

    这阵子做了一个项目,涉及到了图片上传,以往用的都是uploadify这个插件,感觉它在PC上的使用还是很强大的, 不过最近这个项目涉及到了移动端的上传,其实uploadify也可以,但是他有一个 up ...

  6. nyoj7——街区最短问题

    描述 一个街区有很多住户,街区的街道只能为东西.南北两种方向. 住户只可以沿着街道行走. 各个街道之间的间隔相等. 用(x,y)来表示住户坐在的街区. 例如(4,20),表示用户在东西方向第4个街道, ...

  7. WPF使用AForge实现Webcam预览(二)

    本文主要介绍如何让摄像头预览界面的宽高比始终在16:9. 首先我们需要修改一下上一篇随笔实现的UI界面,让Grid变成一个3*3的九宫格,预览界面位于正中间.Xaml示例代码如下: <Windo ...

  8. Delphi中文件流的使用方法

    在Delphi中,所有流对象的基类为TStream类, 其中定义了所有流的共同属性和方法.TStream类中定义的属性介绍如下: 1.Size: 此属性以字节返回流中数据大小. 2.Position: ...

  9. flask(四)

    1.Flask-Session from flask import session,Flask from flask_session import Session #导入 from redis imp ...

  10. SecureCRT的安装以及破破解(内含安装包)

    1.百度网盘连接:链接:https://pan.baidu.com/s/13i8sblGthYtj2SbUTrbmsg  提取码:8cw1 2.解压前先关闭电脑防护软件,否则会杀掉破解软件的 3.压缩 ...