java web学习总结

时间:2017-02-15 12:22:28 学习总结 我要投稿

java web学习总结

  java web是一门软件技术,在学习java web时我们要经常总结,这样我们才能更好的掌握这门技术!以下是java web学习总结范文,请阅读!

java web学习总结

  Java Web学习总结【1】

  一、 Java WEB开发中几个重要的概念

  1.HTTP请求:客户端连接上服务器后,向服务器请求某个WEB资源,称之为客户端向服务器发送了一个HTTP请求。

  一个完整的HTTP请求包括:一个请求头、若干消息头、以及实体内容。

  2.Servlet:Servlet是sun公司提供的一门用于开发动态WEB资源的技术。

  sun公司在其API中提供了一个Servlet接口,用户若想开发一个动态WEB资源(即开发一个Java程序向浏览器输出数据),需要完成两个步骤:1、编写一个Java类,实现Servlet接口;2、把开发好的Java类部署到服务器中。

  按照约定成俗的习惯,通常我们也把实现了Servlet接口的Java程序,称之为Servlet。

  3.HttpServletResponse和HttpServletRequest:Web服务器收到客户端的HTTP请求,会针对每一次请求,分别创建一个用于请求的request对象和用于响应请求的response对象。

  那我们要获取客户机提交过来的数据,只需找request对象就行了。

  要向客户机输出数据,只需找response对象就行了。

  4.会话:会话可以简单理解为:客户开一个浏览器,点击多个超链接,访问服务器多个WEB资源,然后关闭浏览器,这整个过程称之为一个会话。

  保存会话数据的两种技术为cookie和session,cookie是客户端技术:程序把每个用户的数据以cookie的形式写给用户各自的浏览器。

  当用户使用浏览器再去访问这些WEB资源的时候,就会带着各自的数据去,这样WEB资源处理的就是用户各自的数据了;session是服务器端技术。

  5.JSP:JSP全称是Java Server pages,它和Servlet技术一样,都是sun公司定义的一种用于开发动态WEB资源的技术。

  JSP这门技术的最大特点在于,写JSP就像在写HTML,但它与HTML相比,HTML只为用户提供静态数据,而JSP技术允许嵌入Java代码,为用户提供动态数据。

  JSP原理:浏览器向服务器发请求,不管访问的是什么资源,其实都是在访问Servlet,所以当访问一个JSP页面时,其实也是在访问一个Servlet,服务器在执行JSP时,首先把JSP翻译成一个Servlet,所以我们访问JSP时,其实不是在访问JSP,而是在访问翻译过后的那个Servlet。

  6.JavaBean:JavaBean是一个遵循特定写法的Java类。

  通常有如下特点:1这个Java类必须具有一个无参的构造函数 2属性必须私有化 3私有化的属性必须通过public类型的方法暴露给其他程序,并且方法的命名必须遵循一定的命名规范。

  java web 学习总结【2】

  课程目标: HTML 、CSS、JAVASCRIPT、Servlet 、jsp、Ajax

  一、HTML

  1.了解web的标准

  W3C组织:是国际互联网标准指定组织。

  网络协议分为:底层的网络协议,主要包括:TCP/IP、http、ftp...。

  和网络传输内容协议:XML/HTML/CSS/JAVASCRIPT/...

  上述的标准都有各自的功能,每个标准都需要不同的厂商的支持,我们作为程序员要了解这些标准,才能将其应用于开发。

  现在HTML的最高版本是5.0,但是现在还没有形成统一的标准,只有少数的浏览器支持其新特性,所以现在使用的是4.0或是XHTML1.0,4.0和1.0的区别在于他们对书写格式要求不同,前者较宽松,后者严格。

  大家都说现在我们进入WED2.0时代,其实WED2.0就是代表网页使用W3C组织制定的2.0版本系列的技术标准来实现的时代,他 主要强调,通过浏览器展示更加丰富的页面效果,提高用户的体验,同时让浏览器显示的内容适应越来越多的计算机设备,也就是说让这些网页不仅可以在电脑上打开,用其他的一些设备,比如/;手机、mp3、mp4、等都可以用浏览器打开网页。

  2.了解html语言

  html语言是从XML中衍生出来的标记语言。

  HTML是专门在浏览器中显示内容的组织结构语言(内容的排版),HTML在早期,技术比较贫乏,用于做网页的内容布局,页面的样式修饰,等,现在已经过时。

  其实在早期网页上的内容都是由HTML语言来实现,后来随着技术的发展,出现了css,javascript等丰富了网页的现实效果,他们的分工越来越细化,

  3.HTML的语法

  (1)网页HTML版本声明,声明该页面中使用的HTML版本

  声明该网页使用的是XHTML1.0

  (2)HTML 文件标记

  (3)HTML 内容排版标记

  一级标题、二级标题、、、、、、

  、、、

  段落

  文字

  HTML

  换行

  分割线

  块、层

  (一个矩形的区域) (盒子)

  注释

  (4)HTML 字体标记

  都可以用 CSS 替换

  (5)HTML 清单标记

  有序列表

  无序列表

  自定义列表

  (6)HTML 调色标记

  推荐使用 CSS

  (7)HTML 多媒体标记

  目前使用很少

  6、掌握 HTML 常用标签

  表格(显示数据给用户看)

  表单(接受用户输入数据)

  用户名:

  密码:

  头像:

  爱好:篮球

  睡觉

  吃饭

  游戏

  上网

  学习

  性别:男

  女

  二、CSS

  1.了解CSS的作用

  作用:CSS层叠样式表:在网页开发的只有HTML既表现内容有表现样式;后来网页设计人员开发了CSS吧翁也的内容和样式分开,

  样式表顾名思义就是用来 控制输出内容的样式的。

  样式表是以.css为后缀的文件 ,内容是HTML中的标签内容的样式。

  使用样式表可以使你的页面更加丰富。

  2.样式表的形式及原理

  形式:样式表主要有四种形式:分别为:行内引用、页面嵌套、外部导入、和外部链接,

  CSS盒装原理:在Css中巴HTML中的每一个标签都看作是一个个矩形的盒子,整个网页是由一个个盒子堆砌而成

  在HTML中的每一个标签都可以写以讹个属性,来设计器内容的样式即

  你好

  页面嵌套就是在页面的头部及head标签内插入标签,在style标签内写入你的样式

  外部导入,部分浏览器不支持

  外部链接,最常用的方式

  4、掌握 CSS 的选择器

  选择器:在 HTML 代码中,进行选择的工具,CSS 给选中的标签设置样式。

  选择器就是在HTML标签的后面加上一个属性

  基本选择器:

  (1)元素选择器:element

  p{} 一般选中多个标签

  (2)id 选择器:

  #aa{} 由于 id 唯一,一次选中一个标签

  (3)类别选择器:人为设置的类别,可以给多个不同的标签设置相同的样式。

  .mycss{} 一般找到有相同 class 属性名的标签,多个标签

  复合选择器:

  (1)并集选择器,同级标签,同时被选中

  a,p,div{}

  (2)交集选择器,适用于嵌套的标签中,一直查找到

  嵌套最深的标签

  sdf

  div p a{}

  div>p>a{}

  属性选择器

  li[id="cake"]

  5、掌握 CSS 基本语法

  CSS 能够修饰的样式如下:

  字体 Font

  大小、字体、颜色、粗细、下划线、删除线、斜体、平方根

  还可以使用在线的字体库:Google Font

  文本 Text

  背景 Background

  background 开头的所有属性

  定位 Positioning

  position: static 默认的流布局,按照标签编写顺序显示

  absolute: 绝对定位,把某块从整个代码上下

  顺序中取出,相对浏览器左上角,固定住。

  relative: 相对定位(相对于前一个标签)

  fixed: 固定定位(相对于浏览器可见窗口)

  z-index:

  尺寸 Dimensions

  width height

  布局 Layout

  float 层浮动,

  盒子

  border padding margin

  列表项目 Lists

  主要用于把列表修饰成菜单项,横、竖的菜单项

  表格 Table

  表格插件

  6、掌握 CSS API 的查询和使用方法

  7、了解 JavaScript 来历、作用

  8、 补充

  MIME 类型:

  通过 HTTP 协议所传送的内容的格式:

  文本、

  应用程序、

  特殊文档、

  图片、

  视频、音频

  单位:

  颜色:

  英文单词:red green blue 三原色

  十进制数字:RGB 0-255 数字越小、颜色越深

  十六进制数字:RRGGBB 0-15 0-9a-f

  #(声明 16 进制数)

  #33ff22 --> #3f2

  长度:

  相对长度

  %

  ex 相对一个小写 x 字母的高度

  em 相对一个大写 M 字母的高度

  绝对长度

  厘米(cm) 毫米(mm) 英寸(in) 派(pc)

  磅(pt)

  1 in = 6pc = 72pt

  1 pc = 1/6 in

  1 cm = 10 mm = 0.3937 in

  密度单位

  代表屏幕上面的一个亮点 px

  主要使用 px ,

  三.javascript

  1.javascript是网景公司开发的语言,自能在浏览器中运行。

  作用是提供用户的交互,验证数据,动态的改变HTML文档中的内容。

  javascript是一个基于对象的语言,可以直接带你用浏览器内部的组件,在代码中用对象来表示这些组件。

  在javascript主要由对象。

  事件,函数组成。

  所有对象的父类是窗口即window,在窗口是中常用的对象还有document,location。

  history等;事件是在浏览器内部能够进行的操作,主要包括鼠标事件,键盘事件,表单事件和浏览器自带的事件; 函数是人工编写的,把一定的逻辑处理代码写为一个整体,由用户调用事件来触发调用;

  在javascript中函数内没有数据类型的定义,变量需要由var来声明,函数需要有function来声明 例:

  function 函数名(){ var name1= 变量值(boolean);

  name1 = DOM object;

  name1 = 50;

  }

  2.DOM是由W3C组织制定的javascript标准

  、掌握 Dom API 开发 JavaScript 应用--对输入进行验证

  ECMA 规定的访问 某个 html 标签对象的 name 属性得到

  该标签的对象

  //得到 input 输入框对象

  document.aa.nn.value;

  了解 HTML Document 文档

  整个文档对象 document

  每个节点对象 html标签

  节点中包含的文本内容,文本对象:纯文字

  每个标签中的属性,属性对象:

  常用属性

  .nodeName; 得到标签名

  .firstChild 得到紧挨着当前标签的对象

  常用方法

  通过标签名,查找对象,一般得到的是数组

  document.getElementsByTagName("div")

  使用 DOM 进行表单输入验证:

  (1)必须要有表单

  (2)要有各种验证条件(非空、长度、格式、非法字符、相同)

  四

  目标

  回顾 JavaScript DOM 编程

  掌握 jQuery 框架

  掌握 jQuery API 的基本方法

  了解 WEB 应用程序

  了解 Web 应用程序的基础协议---HTTP 协议

  了解 Web 服务器

  掌握 Tomcat 服务器的安装、配置方法

  掌握 Servlet 的基本开发步骤

  1、 回顾 JavaScript DOM 编程

  javaScript 是基于对象的脚步语言,在浏览器中运行,

  由 W3C、ECMA 制定了标准。

  作用:

  (1)通过 事件处理 ,响应用户输入

  (2)通过 正则表达式、JavaScript 逻辑编码,完成数据验证

  (3)通过 DOM API 中的方法,改变页面内容。

  obj.innerHTML="

  改变后的内容

  ";

  onClick="checkUser();"

  value="提交" />

  ECMA

  function checkUser(){

  var name = document.fr.user.value;

  if(name == ""){

  alert("请输入用户名");

  return false;

  }

  }

  DOM

  function checkUser(){

  //var name = #uname

  var name = document.getElementById("uname").value;

  if(name == ""){

  //alert("请输入用户名");

  document.getElementById("msg").innerHTML="请输入用户名";

  document.getElementById("msg").focus();

  return false;

  }

  }

  &*& ^o^

  正则表达式验证

  2、掌握 jQuery 框架

  jQuery--javaScript Query,是 火狐浏览器公司一个 JavaScript

  程序员个人开发的一套 简化 javaScript 开发的框架。

  jquery.com

  优点:

  (1)兼容各种浏览器

  (2)语法超级简单 (CSS 选择器语法)

  (3)支持 CSS 1-3 各种属性

  (4)轻量级框架,文件大小很小

  (5)有丰富的插件可以使用、有整套的 UI 界面可以使用

  3、掌握 jQuery API 的基本方法

  使用 jQuery ,先要把 javaScript 中原有的对象封装

  成 jQuery 对象------------$();

  (1)在 页面中导入 jquery 核心文件

  (2)在 页面 javaScript 中,编写一个函数--文档加载完毕

  时触发的函数。

  $(document).ready(function(){

  });

  (3)使用 选择器,找到页面上要操作的 标签对象

  (4)找到对象后,转化成 jquery 对象,调用相应的方法

  操作该标签的属性和 CSS

  4、了解 WEB 应用程序

  应用程序:为解决某些特定功能要求而通过代码实现的软件产品。

  Web 应用程序:通过 互联网来访问,使用浏览器打开,页面

  使用 Web(HTML、CSS、JavaScript) 技术来展示。

  后台可以有很多

  选择。

  综合上述技术,完成的软件产品。

  Google

  特点:

  (1)软件更新,不影响用户使用。

  5、了解 Web 应用程序的基础协议---HTTP 协议

  互联网:基础协议 tcp/ip 协议。

  应用层协议 ftp、http、

  ftp://172.74.455.4/文件夹名

  http://域名/目录名/页面名

  http://mail.126.com/ --(域名解析)

  -->http://xxx.xx.xx.xx:80/index.jsp

  在互联网早期,W3C 组织制定了上述协议。

  各大软件厂商,

  按照这些协议,制定了具体的实现技术:

  SUN 公司制定一套技术:Java EE(Servlet)

  微软公司制定一套技术:ASP.Net

  自由程序员制定一套技术:PHP

  目前最新的 :Ruby、Gralis

  例如:

  中国的公路网:最基础的路基、路线、弯道、收费站、

  6、了解 Web 服务器

  Web 应用程序访问过程:

  浏览器--(输入网址,提交请求)--->互联网--->服务器

  <---------------互联网<--返回响应---

  完整过程:

  (1)浏览器发出请求(域名解析)

  (2)建立与服务器之间的连接(建立连接)

  (3)发送请求 (发送请求)

  (4)服务器接收并处理请求,返回响应 (等待响应)

  (5)浏览器接收响应 (接收数据)

  (6)关闭连接

  目的,减轻服务器的负担。

  -----------------------

  Web 服务器:是各大软件厂商,根据 HTTP 协议标准,开发的

  软件产品。

  主要有两大技术路线:

  SUN 公司 JavaEE 技术路线的服务器:

  开源,很多公司都开发了对应的服务器:

  15个

  Tomcat服务器

  微软公司技术路线的服务器:

  内部开发自己的服务器:

  PHP 技术路线的服务器:

  开源组织开发服务器

  7、掌握 Tomcat 服务器的安装、配置方法

  是 Apache 开源组织的一个项目。

  能够基本实现 JavaEE 规范

  中的技术,为 java 开发的 web 应用程序提供服务。

  http://www.apache.org/

  http://tomcat.apache.org/

  安装:

  在官方网下载对应版本,解压缩安装。

  (前提:有 JDK)

  配置:

  C:/IDE/apache-tomcat-6.0.13/conf

  服务器配置文件:server.xml(配置端口号、域名host)

  管理员配置文件:tomcat-users.xml(通过浏览器访问

  后台管理界面的用户名和密码)

  使用:

  C:/IDE/apache-tomcat-6.0.13/bin

  启动文件:startup.bat

  关闭文件:shutdown.bat

  8、掌握 Servlet 的基本开发步骤

  使用 MyEclisep

  (1)新建 web project

  (2)在 src 目录中,新建 servlet 包

  (3)在 servlet 包中,新建 HelloServlet.java

  (4)对 HelloServlet.java 进行配置,让 Tomcat

  服务器知道,在哪里可以找到 对应的类;

  让用户知道,通过何种路径能够访问该 Servlet;

  (5)把整个工程,发布到服务器上,启动,并通过浏览器访问

  http://127.0.0.1:8080/examples/servlets

  /servlet/HelloWorldExample

  小结:

  (1)掌握最常用的 DOM API 方法

  (2)掌握 jquery 基本语法

  (3)了解 Web 应用程序、服务器

  (4)掌握 Tomcat 安装、配置

  目标

  回顾 WEB 应用程序、Web服务器、Servlet、

  了解 HTTP 协议

  了解 JavaEE 体系结构中的 Servlet API

  了解 Servlet 常用的对象

  ServletContext、

  ServletConfig、

  HttpServletRequest

  1、回顾 WEB 应用程序、Web服务器、Servlet、

  Tomcat 配置:

  (1)Tomcat 启动需要 JDK,默认访问的 JDK 路径--JAVA_HOME

  (2)Tomcat 启动需要使用8080 端口号

  http://localhost:8080/ 本地计算机路径

  http://127.0.0.1:8080/ 本机IP

  http://172.7.43.33:8080/

  通过 conf/server.xml

  (3)目录结构

  C:/IDE/apache-tomcat-6.0.13

  |

  |---bin (服务器启动、关闭工具所在目录)

  |---conf (服务器配置、管理员配置)

  |---lib (Tomcat 启动或运行 javaEE 程序,公用的 jar 文件)

  servlet-api.jar el-api.jar jsp-api.jar

  |---logs (服务器运行产生的日志文件所在目录)

  |---temp (服务器中程序生成的临时文件所在目录)

  |---webapps (服务器上正在运行的所有程序所在目录)

  很多 web 工程;

  一个web 工程的基本目录结构:

  --工程名

  |---WEB-INF

  |-----web.xml

  |-----lib

  |-------*.jar

  |-----classes

  |-------包名.*.class

  |----**.jsp

  |----**.html

  |---work (服务器把所有工程中,jsp 页面转义成 servlet 代码所在目录)

  2、了解 HTTP 协议

  当 互联网底层协议完善后,人们考虑可以通过这个网络做什么。

  在不同电脑之间传输数据。

  人们根据传输数据的不同,规定了很多具体的传输协议。

  HTTP

  协议时 1990 年规定的,后来在 1999年做了修改---RFC2616(W3C内部的文档编号)

  HTTP 协议需要了解的内容:

  3、协议参数

  4、HTTP消息

  5、请求

  6、响应

  9、方法定义

  10、状态码定义

  ---------------------------------------------

  HTTP 消息包含 message-header、message-body

  message : request | response

  request-header:

  Host download.pinyin.sogou.com(服务器URL)

  User-Agent Mozilla/5.0 (Windows; U; (浏览器本身的信息)

  Windows NT 5.1; zh-CN; rv:1.9.2.12)

  Gecko/20101026 Firefox/3.6.12

  Accept image/png,image/*;q=0.8,*/*;q=0.5

  Accept-Language zh-cn,zh;q=0.5

  Accept-Encoding gzip,deflate

  Accept-Charset GB2312,utf-8;q=0.7,*;q=0.7

  Keep-Alive 115

  Connection keep-alive

  Referer http://pinyin.sogou.com/skins/?f=youjian

  Cookie IPLOC=CN3205; SUV=1283136430394028; SUID=0236B13D28780A0A000000007B21CA81; ld=7TT9ikllll2GWemHlllll98Waq6lllll5b9LlkllllwlllllRvoll5@@@@@@@@@@; SMYUV=1288665308350961; ad=9Zllllllll2G8T6Jlllll98PCmylllll5b9Llkllll9lllll9Vxlw@@@@@@@@@@@

  response-header:

  Server nginx/0.7.62

  Date Tue, 16 Nov 2010 05:23:42 GMT

  Content-Type image/jpeg

  Content-Length 7654

  Last-Modified Thu, 11 Nov 2010 07:50:36 GMT

  Connection close

  Accept-Ranges bytes

  -----------------------------------------

  9、方法定义

  目前常用的 从浏览器往服务器 传输数据的方法有两种

  GET POST

  链接 全部使用 Get 方法传输

  (1)所传递的内容在地址栏可见

  http://www.google.com.hk/search?

  hl=zh-CN&

  source=hp&

  q=java&

  aq=f&...

  ? 表示参数连接符

  & 表示多个参数的连接符

  (2)内容可见,不安全

  (3)中文参数变成乱码 q=java+%E4%B8%AD%E5%9B%BD&

  (4)地址栏输入内容长度受限。

  表单全部用 post

  (1)不通过地址栏传输数据

  (2)内容不可见,安全

  (3)中文参数不会变成乱码

  (4)地址栏输入内容长度不受限。

  10、状态码定义(都是 3 位整数)

  信息类 1XX

  成功类 2XX 200 OK

  重定向类 3XX

  客户端错误类 4XX 404 Not Found

  服务器端错误类 5XX 500 Internal Server Error

  服务器端告诉浏览器,服务器返回数据的信息是否正常。

  3、了解 JavaEE 体系结构中的 Servlet API

  从 1998年推出 javaEE 体系结构开始,就出现了 Servlet

  一直到 2006 年,SUN 公司不断推进该技术框架的更新。

  public interface javax.servlet.Servlet

  Object

  |

  Servlet

  / | /

  FacesServlet GenericServlet JspPage

  (扩展的 JSF 技术) (扩展的 JSP 技术)

  (针对具体协议的 Servlet,可以实现多个协议)

  |

  HttpServlet

  (具体实现 HTTP 协议中所有规定的类)

  |

  自定义的 Servlet 类

  java.* SUN 公司开发的 JDK 的基础类

  javax.* SUN 公司开发的 JDK 扩展类

  org.* 其他组织开发的 工具包

  4、 了解 Servlet 常用的对象

  ServletContext、

  ServletConfig、

  HttpServletRequest

  HttpServletRequest 对象:

  (1)得到请求头信息:

  //得到枚举类型的请求头信息

  Enumeration e = request.getHeaderNames();

  while (e.hasMoreElements()) {

  String name = (String)e.nextElement();

  String value = request.getHeader(name);

  out.println(name + " = " + value);

  }

  目标

  了解 Servlet 的生命周期

  掌握 Servlet 常用对象

  了解 Servlet 之间数据传递的作用域

  掌握 作用域对象 ServletContext、HttpServletRequest、

  HttpSession 对象的用法

  1、了解 Servlet 的生命周期

  Servlet API 中的方法:

  Servlet 接口定义了如下方法:

  //Servlet 对象初始化方法,

  //当对象创建后,从 web.xml 中读取配置的参数

  public void init(ServletConfig config) throws ServletException

  //Servlet 对象提供请求服务的方法

  public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException

  //销毁一个 Servlet 对象的方法

  public void destroy();

  public ServletConfig getServletConfig();

  public String getServletInfo();

  HttpServlet 类中:

  同样可以使用 接口中定义的方法。

  生命周期:程序中一个 Servlet 对象从创建到销毁的过程。

  HelloServlet

  //创建对象(实例化)

  HelloServlet hs = new HelloServlet(); //不需要写

  //给属性赋值(初始化)

  hs.init(ServletConfig config); //何时、被谁调用

  //工作,为HTTP请求提供服务(服务)

  hs.service(ServletRequest req,ServletResponse res);

  //工作结束,销毁对象,释放内存(销毁)

  hs.destroy();

  在 Web 应用程序中,所有服务器上的Servlet程序,

  都不能由程序员提前创建,并调用具体的方法。

  具体的创建和

  方法调用都是由 Web 服务器来完成的。

  一个 Servlt 对象在什么时候被创建?

  整个服务器中,始终保证有一个 Servlet 对象,随时提供

  客户端服务。

  (1)如果之前没有被访问过的,第一次被访问时创建(开发时)

  (2)如果之前已经被访问过了,服务器启动时

  init() service() destroy() 方法何时被调用,由服务器决定。

  2、掌握 Servlet 常用对象

  ServletContext、

  ServletConfig、

  HttpServletRequest

  HttpServletResponse

  -----------------------------------------------

  ServletConfig 用来读取 web.xml 中该

  Servlet 配置的初始化参数,

  "一个 Servlet 对应一个ServletConfig "

  web.xml 中

  ConfigServlet

  servlet.day2.ConfigServlet

  address

  昆山安博

  Servlet 中的代码

  public void init(ServletConfig config) throws ServletException {

  //从 web.xml 中读取初始化参数

  super.init(config);

  String address = config.getInitParameter("address");

  }

  ---------------------------------------------------

  ServletContext 对象--上下文对象(承前启后)

  http://localhost:8080 (服务器路径)

  /hebei (上下文路径,项目根路径)

  /config (Serlvet路径)

  作用:获取文件的 MIME 类型、分发请求或写入日志文件。

  意义:代表服务器上一个 Web 应用程序。

  "一个工程对应一个ServletContext 对象"

  方法:

  设置值 setAttribute("name",obj);

  取值 getAttribute("name");

  得到路径 getContextPath() getRealPath();

  得到初始化参数 getInitParameter("");

  ---------------------------------------

  HttpServletRequest 对象:

  (1)得到请求头信息:

  //得到枚举类型的请求头信息

  Enumeration e = request.getHeaderNames();

  while (e.hasMoreElements()) {

  String name = (String)e.nextElement();

  String value = request.getHeader(name);

  out.println(name + " = " + value);

  }

  (2)得到请求路径

  String path = request.getContextPath(); "/hb"

  String basePath = request.getScheme()+"://"+

  request.getServerName()+":"+

  request.getServerPort()+path+"/";

  "http://localhost:8080/hb/context?method=search&q=java"

  方法 值 作用

  ---------------------------------------------------

  request.getScheme() http 得到协议名

  request.getServerName() localhost 得到服务器名

  request.getServerPort() 8080 得到服务器端口号

  request.getContextPath() /hb 得到项目上下文路径 *

  request.getRequestURI() /context 得到请求的文件路径

  request.getLocalAddr() 172.7.44.33 得到客户端 ip *

  //得到参数值

  request.getParameter("method") search 从请求中得到传递的参数值

  request.getParameterValues("") String[] 从页面复选框中得到输入值

  //保存值

  request.setAttribute("name",obj); 设置值到 request 对象中

  request.getAttribute("name"); 从对象 request 中取值

  //页面跳转

  request.getRequestDispatcher("url").forward(request,response);

  -----------------------------------------------------------------

  HttpServletResponse 代表服务器响应

  方法:

  PrintWriter out = response.getWriter(); //得到输出对象

  response.setContentType("text/html; charset=UTF-8"); //设置响应的内容类型

  定义响应状态码

  HttpServletResponse.SC_OK 状态代码 (200),指示请求正常成功

  HttpServletResponse.SC_NOT_FOUND 状态代码 (404),指示请求的资源不可用

  设置响应头信息

  进行页面重定向

  response.sendRedirect("location URL") (*****)

  使用指定重定向位置 URL 将临时重定向响应发送到客户端。

  此方法可以接受相对 URL;servlet 容器必须在将响应发送

  到客户端之前将相对 URL 转换为绝对 URL。

  如果位置是相对的,

  没有前导 '/',则容器将相对于当前请求 URI 对其进行解释。

  如果位置是相对的,有一个前导 '/',则容器将相对于 servlet

  容器根对其进行解释。

  3、了解 Servlet 之间数据传递的作用域

  在同一个 Web 服务器上, Servlet 都是孤立的,相互之间

  没有直接的联系方式。

  但是我们在开发的时候,经常需要在两个 Servlet

  之间传递数据。

  Tomcat 看做监狱,每个犯人都代表一个 Servlet ,每个人一个单间,

  可以通过看守传递东西。

  一种看守是终生制的:能够长久的保持 Servlet 间传递的数据

  ServletContext(Tomcat从启动到关闭)

  一种看守合同制的: 在合同规定的年限中可以保持 Servlet 间传递的数据

  HttpSession (默认有效时间30分钟)

  一种是扫地的临时工:只能当天传递数据,隔天无效

  HttpServletRequest (从一个页面跳转到另一页面之间的刷新时间)

  作用域:起作用的时间长短。

  4、掌握 作用域对象 ServletContext、HttpServletRequest、

  HttpSession 对象的用法

  从 Servlet 中把数据,放入作用域对象(保持数据)

  .setAttribute("name",objValue);

  从另外一个 Servlet 中取出数据,取出后强转类型

  .getAttribute("name");

  从某个作用域对象中删除不再使用的.对象

  .removeAttribute("name");目标

  掌握 Web 应用程序开发的基本组成

  了解 Web 应用程序中存储用户数据的两种方式--Cookie、HttpSession

  项目导入--学员信息管理系统

  了解 Servlet 中特殊的处理类---过滤器(Filter)

  1、掌握 Web 应用程序开发的基本组成

  为完成页面上的一个按钮功能,需要一些列的 Web 技术来解决。

  页面:html css javascript

  控制:servlet

  数据库:JDBC Hibernate

  一般情况下,一个 Web 应用程序功能基本的流程:

  页面提交请求--->Servlet 接收请求-->调用Dao 访问数据库-->

  回到 Servlet进行页面跳转--->跳转到另外一个页面

  2、了解 Web 应用程序中存储用户数据的两种方式--Cookie、HttpSession

  存储用户数据:

  (1)页面输入过的数据(浏览器自动保存的密码信息)

  (2)登录成功后,一直显示的当前用户信息(保存在服务器端)

  Web 应用程序的结构:

  浏览器 ---------------HTTP协议---------------- 服务器

  HTTP协议特点:

  (1)无连接、每次请求响应完毕,不保存一个持久的连接,每次都是新的连接

  (2)无状态、不保存浏览器、服务器之间传递的数据

  为了解决 HTTP 协议,无状态的特点,要想保持用户数据,需要从

  浏览器或服务器上想解决办法。

  浏览器:功能简单,能够存储数据的手段也比较少---浏览器Cookie

  可以保存一些简单的字符信息。

  服务器:功能强大,能够提供很多对象,保存用户提交的数据

  可以根据具体的需求,根据保存数据时间的长短来选择不同的对象

  -------------------------------------------------------

  Cookie

  是用户访问Web 程序时,服务器端生成的一小段字符代码,通过

  响应返回给用户,并自动保存在浏览器内部,方便下次访问。

  优点:直接从客户端取数据,取数据很快;

  缺点:(1)用户可以删除、禁用 Cookie

  (2)纯文本格式,最大 只有 4KB,能够存储的数据量很小

  (1)创建Cookie(在服务器端 Servlet 代码中创建)

  Cookie c = new Cookie("username","liu20011122");

  (2)设置Cookie 对象的有效期

  c.setMaxAge(60*60*24*14); //秒

  c.setMaxAge(0); //秒 销毁一个 Cookie

  (3)设置路径

  c.setPath("/forder/test.jsp"); //可选

  (4)返回到客户端

  response.addCookie(c);

  (5)读取 Cookie (从请求中读取)

  Cookie[] c = request.getCookies();

  (6)如何从请求的 Cookie 数组中得到需要的某个 Cookie

  String loginName =""; //想要从 Cookie 中取的值

  if(c!=null){

  for(int i=0;i

  Cookie ck = c[i];

  String name = ck.getName(); //取出Cookie 中的 key

  if("username".equalse(name)){

  loginName = ck.getValue();//取出Cookie 中的 value

  }

  }

  }

  ------------------------------------------------------------------

  HttpSession

  代表一个浏览器在一段时间内,与服务器进行连续交互的整个过程。

  Session 是由服务器创建的一个对象,每个Session 为一个浏览器提供

  一对一的服务,有效时间默认 30 分钟。

  Session 的工作机制:

  联通卖 iphone4 ,会有一个专门的客服,在两年内,提供一对一

  的电话服务。

  可以把 Tomcat 服务器看做 联通公司,招聘非常多的客服人员。

  一个客服在一段时间内只为一个客户服务(30分钟)。

  如果有一个浏览器访问

  ,Tomcat 服务器就给该浏览器配备一个客服 HttpSession(sessionID),

  在有效时间内,客户的任何请求,都可以通过客服 Session 来处理。

  (1)一对一服务器

  (2)有效期

  (3)HttpSession 对象的创建和销毁,不由程序员控制

  //1 HttpSession 对象的创建

  HttpSession session = request.getSession(true);

  //每次都要求服务器新分配一个 HttpSession 对象

  HttpSession session = request.getSession(false);

  //每次都不要分配新的 HttpSession 对象

  HttpSession session = request.getSession();

  //由 服务器来判断,是否分配新的 HttpSession 对象

  //2 识别不同的浏览器,在有效期内,该 id 对应的 Session

  //一直为同一个浏览器服务

  String id = session.getId();

  //3 设置 HttpSession 的有效时间

  通过代码设置,一次只设置一个 session 对象的时间

  session.setMaxAge(60*60*24); //单位秒

  通过配置设置,一次给所有的 session 设置时间

  360000

  3、项目导入--学员信息管理系统

  功能简介:

  (1)用户登录(管理员)

  (2)查看学员列表

  (3)增加学员信息

  (4)修改学员信息

  (5)删除学员信息

  (6)退出

  (7)Cookie 保存用户名

  (8)非法用户登录验证

  数据库介绍:单表数据库、规定好的 Dao 接口

  页面简介:login.html、list.html、edit.html、add.html

  4、了解 Servlet 中特殊的处理类---过滤器(Filter)

  5、任务:

  (1)练习 Cookie 、HttpSession 的方法,模仿完成课堂示例

  (2)根据学员管理系统数据库,完成 JDBC 代码(周五下午完成)

  (3)项目页面(下周一)

  目标

  了解 Servlet 中特殊的处理类---过滤器(Filter)

  掌握过滤器如何编写和配置

  掌握使用 jUnit 编写测试类---扩展,为JDBC代码编写测试类

  了解 Servlet 监听------Listener

  掌握 HttpSession 对象的监听如何编写和配置

  了解 JSP 来历、简单语法

  1、了解 Servlet 中特殊的处理类---过滤器(Filter)

  过滤器:在 Web 请求和响应的过程中,对每一个访问Web 服务器上

  的Servlet 程序进行检查的程序叫过滤器。

  特点:(****)

  (1)一个请求、响应对象都不放过

  (2)针对满足条件的所有文件(Servlet 或 jsp 或 html /*)

  (3)针对某些 特定功能,一般一个过滤器只关注某一个特定的功能

  2、掌握过滤器如何编写和配置

  (1)编写一个类,实现 javax.servlet.Filter 接口,实现过滤器生命周期

  (2)在 doFilter() 方法中编写过滤代码

  (3)在工程 web.xml 文件中对过滤器进行配置

  (4)配置完毕的过滤器,会自动发挥作用。

  字符过滤器:过滤整个 Web 工程中所有请求、响应对象中的字符编码

  非法用户登录过滤:过滤条件 HttpSession 对象中有用户名的满足

  条件。

  过滤器配置方法:过滤目录

  webRoot/ok/ok.jsp...

  /ok/*

  地址栏输入:

  http://localhost:8080/hb/ok/*.jsp WebRoot 下的目录

  http://localhost:8080/hb/ok/* src 下的某个Servlet

  注意:过滤器过滤条件的配置(5种情况)

  3、掌握使用 jUnit 编写测试类---扩展,为JDBC代码编写测试类

  jUnit 是所有 java 工程都能够使用的测试包,提供特殊的编写方法

  可以让代码,不通过 main() 就可以运行。

  (1)在工程中添加 jUnit 测试包 jUnit4.jar

  (2)在工程中,与 src 同级目录下,新建一个

  SourceForder(源代码包)test

  (3)新建一个普通类--TestXXX.java

  (4)编写固定格式的方法 ,添加一个注解 @Test

  @Test

  public void testXXX(){}

  (5)在该方法中编写与 main() 方法中同样的代码,可以直接运行一个方法

  4、了解 Servlet 监听------Listener

  监听负责监听的对象:监听由 Tomcat 创建并管理的对象

  ServletContext、HttpSession、HttpServletRequest。

  监听特点:

  (1)监听肯定绑定事件

  (2)一种监听,只监听一种事件

  (3)监听完全能够自动工作

  HttpSessionListener 生命周期监听:只监听 HttpSession 对象的创建和销毁

  HttpSessionAttributeListener 属性监听:

  监听 session 对象属性的改变

  用户登录监听:有新用户(新打开的一个浏览器)连接服务器。

  统计当前在线人数,使用监听

  开发步骤:同 过滤器

  5、掌握 HttpSession 对象的监听如何编写和配置

  public class LoginListener implements HttpSessionListener {

  /**

  * 用户连接,新分配一个 HttpSession ,触发该监听

  */

  public void sessionCreated(HttpSessionEvent evnet) {

  System.out.println("一个新的浏览器,连接到服务器了.................");

  }

  public void sessionDestroyed(HttpSessionEvent arg0) {

  // TODO Auto-generated method stub

  }

  }

  servlet.day4.LoginListener

  6、 了解 JSP 来历、简单语法

  Servlet 在设计的时候,既能够处理逻辑、也能够输出页面效果。

  在 Java 代码中编写 HTML 代码。

  (*)

  不方便编写和修改。

  后来出现 JSP ,把页面显示的功能交给 JSP 完成,Servlet 专

  注于逻辑处理。

  JSP:(Java Server Page)是对 Servlet 的有效扩展。

  在 HTML 代码中编写 java 代码的(*)

  JSP 语法也变得和 HTML 标签语言越来越相似

  JSP 是一种混血的语言。

  (HTML、CSS、JavaScript)模板代码、

  Servlet代码、Java代码、EL表达式

  基本语法:

  Java 代码段

  JSP 指令:

  JSP 声明:

  JSP 表达式:

  JSP 注释:

  JSP 动作:

  EL表达式: ${}

  JSTL 标签库:

  作业:

  (1)使用过滤器和过滤器配置的方法,完成对用户 IP 的过滤

  172.7.43.* 不允许访问

  (2)编写 JDBC 实现代码,为每个方法编写测试代码

  5、任务

  掌握 Servlet 类的层次结构

  掌握 四个常用对象的重点方法

  初步理解作用域对象

  目标

  Servlet 小结

  了解 JSP 的执行原理

  掌握 JSP 的指令

  掌握 JSP 动作

  1、Servlet 小结

  各自的作用:

  (1)Servlet :是一个 Java 类、遵照 HTTP 协议开发。

  能够接受

  用户从浏览器发送的请求,并对请求进行逻辑处理,最后返回响应给浏览器。

  (2)Filter :也是一个特殊的 Java 类,能够对 请求、响应对象进行

  拦截,并进行搜身处理。

  一般情况下,一个 Filter 只处理一件事情。

  (3)Listener : 主要是 Tomcat 服务器对内部生成的对象的监视,

  服务器在不影响这些对象工作的前提下,对这些对象的创建、销毁、属性改变

  进行监听。

  HttpSession session = request.getSession(true);

  2、了解 JSP 的执行原理

  *.jsp 的代码在 服务器中运行,运行完毕会生成纯粹的 HTML 代码给浏览器

  login.jsp--(Tomcat转义,work目录)-->login_jsp.java--(JDK编译)

  -->login_jsp.class--(JRE运行)-->输出到浏览器的 HTML

  备注: JSP 页面在执行过程中,第一次访问速度较慢,但是后面就很快了。

  我们使用的是 Tomcat 服务器,转义后的 java 代码继承自

  org.apache.jasper.runtime.HttpJspBase(实现了 JavaEE 标准中的 JspPage 类)

  Object

  |

  Servlet

  / | /

  FacesServlet GenericServlet JspPage(HttpJspBase)

  (扩展的 JSF 技术) (扩展的 JSP 技术)

  (针对具体协议的 Servlet,可以实现多个协议)

  |

  HttpServlet

  (具体实现 HTTP 协议中所有规定的类)

  |

  自定义的 Servlet 类

  3、掌握 JSP 的指令

  什么是JSP指令

  能够JSP网页对相关信息、属性进行存取与设定的代码。

  一个页面中

  设置的指令,只对当前页面有效。

  类似于 java 类中的 import

  JSP 中只有三个指令

  对当前页面常用的属性进行设置

  对当前页面需要导入的其他页面进行声明

  声明当前页面将要使用的 JSP 标签库文件

  包含外部的 jsp 页面内容

  在 jsp 转义阶段就把所有页面合二为一了。

  4、 掌握 JSP 动作

  什么是JSP动作

  采用了类似于 HTML 标签的语法,封装部分固定格式的 java 代码

  基本的语法

  格式区别其它网页中所存在的标签

  常用的 JSP 动作

  页面跳转动作

  包含动作在 “运行”阶段才把多个文件合并

  目前不使用的动作,在页面中引入 javaApplet 程序

  跳转动作,封装了

  两种包含的区别:(*****)

  静态包含:

  在 jsp "转义"阶段就把所有页面合二为一了。

  运行速度快!!!

  动态包含:

  在 jsp “运行”阶段才把多个文件合并

  更加灵活的包含!!

  UseBean 动作

  在 JSP 页面中创建 JavaBean 对象,并调用 set、get 方法

  设置值、取值 专用的动作。

  学员姓名:

  -----------------------------------------

  学员姓名:

  -----------------------------------------------------------

  //使用动作创建第一个 Student 对象,对象名 st

  scope="page | request | session | application"

  class="package.class" | type="package.class" |

  beanName="{package.class | }"

  type="package.class" >

  other elements

  //通过动作,给对象设置值

  property= "*" |

  property="propertyName"

  value="{string | }" />

  5、学员管理系统奠基仪式:

  了解 系统需求;

  了解 登录功能所要用到的流程

  了解 登录功能的代码

【java web学习总结】相关文章:

1.java web总结

2.java web实验总结

3.java web知识总结

4.java web基础总结

5.java web课程总结

6.java web实训总结

7.java web知识点总结

8.java web实训报告总结

上一篇:java web知识点总结 下一篇:java学习总结