JAVA+WEB编程.doc_第1页
JAVA+WEB编程.doc_第2页
JAVA+WEB编程.doc_第3页
JAVA+WEB编程.doc_第4页
JAVA+WEB编程.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVAWEB编程第1天一,http定义事务处理步骤:1,客户端与web服务器建立连接2,客户端发送http请求3,服务器接收客户端的http请求,生成http响应回发4,服务器端关闭连接。客户端解析回发响应,恢复页面二,servlet:servlet是一个建立在web服务器端或者应用服务器端运行的JAVA程序,主要用于在服务器端产生动态内容。servlet以及容器,被设计用来解决CGI的问题。servle的主要任务:1,读取客户端发送的显式或隐式数据。2,生成结果3,向客户端发送显式(文档)和隐式数据(http响应数据)。web容器对servlet的支持:1,通信支持2,生命周期管理3,多线程支持4,JSP支持5,处理安全性JAVAWEB编程第2天Servlet基础:1,什么是Servlet?servlet运用于服务器端,无main方法,支持HTTP协议,其生命周期由web容器来管理。2,servlet API:servletConfig针对servlet的配置信息servletGenencServlet(抽象类)HttpServlet解析Http协议Servlet接口的实现类中的service()方法,在继承HttpServlet类时,如果没有覆盖父类的service()方法,那么父类的service()方法会根据请求类型的不同会分别调用父类的doGet(),doPost()方法,如果响应两种请求的动作相同,那么可以直接覆盖service()方法。3,Servlet的生命周期:(1)创建Servlet对象,通过服务器反射机制创建Servlet对象,第一次请求时才会创建。(默认)(2)调用Servlet对象的init()方法,初始化Servlet的信息,init()方法只会在创建后被调用一次。(3)响应请求,调用service()或者doGet(),doPost()方法来处理请求,这些方法试运行的再多线程状态下的。(4)再长时间没有被调用或者是服务器关闭时,会调用destory()方法来销毁Servlet对象。4,Servlet编码与部署步骤:(1)编译Servlet代码(2)部署Servlet:创建部署描述文件(web.xml)在容器中注册Servlet映射ServletJAVAWEB编程第3天使用Servlet处理HTTP响应:HTTP响应包括:状态行(HTTP版本,响应状态码,响应描述),响应头,消息体以及分割消息头和响应头的一个空行。设置状态码:setStatus()方法。其参数是一个整数.由于在Servlet规范中没有规定Servlet必须缓存消息体,因而要在使用PrintWriter输出消息体前设置状态码。我们主要用sendError方法。设置相应头:主要用到SetHeader和setContentTypesendRedire()方法实现重定向。Refresh()设置自动刷新和等待页面、。JAVAWEB编程第4天使用servlet处理http请求:post和get使用情况:请求一个静态页面或图形文件时用get方法。发送大数据的时候,使用POST上传文件时,使用post发送用户名,密码,或其他保密信息的时候用postJAVAWEB编程第5天WEb应用程序状态管理:Http协议是无状态的连接。客户端浏览器与服务器建立连接,发出请求,得到响应,关闭连接, 连接只针对一个请求/响应。由于连接不吃就保留,所以容器认不出第二个请求的客户与做前一个请求的客户是否是同一人。为了保持状态有以下解决方案:1,隐藏表单域。作用:对用户在网站上的访问进行会话跟踪。 为服务器端程序提供与定义的输入。 存储动态产生的页面上下文信息。2,cookie:维护和保留用户的状态信息,安全将信息保存与客户端不安全。3,URL重写:解决用户禁止cookie的情况。4,session:服务器为客户端创建并维护的用于存放客户状态数据的对象,给对象保存与服务器上用于保持用户状态,值到交互过程结束。依赖于Cookie缺点:增加服务器内存开销。JAVAWEB编程第6天作用域:1,ServletContext(上下文) 整个Web应用程序.ServletContext对象可通过每一个Servlet拥有的ServletConfig对象的getServletContext()方法取得对象。上下文作用域中设置属性在整个Web应用中被共享,只要服务器不被关闭,Web应用中任何一部分都能访问到该属性。所以线程不安全。2,HttpSession(会话)一个会话交互过程(线程不安全)会话作用域中设置的属性不能被Web应用中所有的部分访问,只能由同一个客户与服务器的一个持续会话交互过程中被存储维护,会话被销毁设置在其中的属性也会被销毁。3,ServletRequest(请求)一次请求过程由于在上下文作用域中设置的属性,只要服务器不关闭,就会一直存在。而设置在上下文作用域中的属性,也会在一个持续的会话交互过程中存在。所以会非常消耗系统资源。请求作用域中设置属性,请求结束后,对象就会被垃圾回收,能使用请求作用域,尽量使用。Servlet监听器:1 ServletContextListener:用于监听WEB 应用启动和销毁的事件,监听器类需要实现javax.servlet.ServletContextListener 接口。2 ServletContextAttributeListener:用于监听WEB应用属性改变的事件,包括:增加属性、删除属性、修改属性,监听器类需要实现javax.servlet.ServletContextAttributeListener接口。3 HttpSessionListener:用于监听Session对象的创建和销毁,监听器类需要实现javax.servlet.http.HttpSessionListener接口或者javax.servlet.http.HttpSessionActivationListener接口,或者两个都实现。4 HttpSessionActivationListener:用于监听Session对象的钝化/活化事件,监听器类需要实现javax.servlet.http.HttpSessionListener接口或者javax.servlet.http.HttpSessionActivationListener接口,或者两个都实现。5 HttpSessionAttributeListener:用于监听Session对象属性的改变事件,监听器类需要实现javax.servlet.http.HttpSessionAttributeListener接口。JAVAWEB编程第7天1.WEB容器启动时解析WEB。XML 装载并实例化所有配置了的SERVLET2.当针对某个SERVLET的第1次请求到来的时候,由容器调用init(ServletConfig sc)方法(由GericServlet实现),初始化此SERVLET的相关资源配置信息,比如3.每次请求到来的时候,由容器开启一个新的线程,调用service方法(由HttpServlet实现),在此方法里根据请求的提交方式去调用对应的doXX方法4.容器调用destroy(由GericServlet实现)方法销毁SERVLETinit以及destroy都只调用1次,而service每次请求到来都会调用forward和redirect的区别1。外部重定向使用的是HttpServletResponse的方法,内部转发使用的是HttpServletRequest的方法2。外部重定向由客户端向服务器发送了2次请求,而内部转发客户端只发送了1次,转发过程由服务器端实现3。因为外部重定向是2次请求。因此:3-1。URL地址栏显示的是第2次请求的地址3-2。无法使用请求作用域进行对象的存取(即不能使用request.setAttribute)而内部转发只有1次请求,因此3-3。URL地址栏始终显示的是最开始请求的地址而不是跳转后资源的地址3-4。可以使用request.setAttribute请求作用域进行对象的存取文件上传的步凑1。以POST的形式提交表单,并设置表单属性enctype=mutilxxx/form-data,即以2进制的方式提交表单数据2。由于是提交的2进制数据,所以服务器端无法使用getParameter来获取提交的值,而要使用getInputStream来获得包含了所有表单数据的输入流3。将流中的内容读出,并进行解析(即解析字符串),要求区分分隔符号,文件上传的头以及普通表单域的头,最后要得到普通表单域的name属性和值 以及文件的名字和内容,得到文件内容后使用输出流将内容写到服务器端的某个目录下生成文件JAVAWEB编程第8天Servlet过滤器,拦截请求和响应,一边查看,提取或操作客户端与服务器之间的数据交换。使用过滤器可以实现以前很难实现的功能或者使以前的功能实现的简单化。Servle过滤器的主要用途:用户认证与授权管理。统计WEB应用的访问量,和访问的命中率,形成访问报告。实现WEb应用的日志处理功能。实现数据压缩功能。对传输的的数据进行加密。实现XML文件的XSLT转换。实现Servlet过滤器:javax.servlet.Filter接口init()方法-初始化doFilter()方法-实现过滤器的核心逻辑业务destory()-销毁。过滤器需要通过web.xml进行配置:定义过滤器的名称,并且声明实现类。将过滤器与servlet或URL模式相关联。JAVAWEB编程第9天一,为什么要使用JSP(用于解决Servlet的缺陷):1,Servlet的编码,部署,调试相对于更加麻烦。2,程序员不一定有网页美工的天赋,JSP有利于项目分工,让程序员专注于实现项目逻辑业务的代码,美工专门由美工人员来完成。二,JSP的概念:JSP是由HTTP语句和嵌套在其中的JAVA代码组成的一个普通文本文件。为了与静态HTML页面相区别,JSP页面的扩展名必须为.JSP。三,JSP的运行机制与生命周期:JSP执行的七个阶段:1,页面翻译:WEB容器第一次接收到对某个JSP页面的请求后,首先自动将该JSP页面翻译为Servlet代码。2,JSP页面编译:WEB容器负责将Servlet代码编译为字节码。3,JSP页面装载:装载新生成的Servlet类。4,JSP页面类实例化:WEB容器创建Servlet实例。5,JSP页面初始化:调用Servlet的jspInit()方法。6,JSP页面服务:容器创建一个新线程来处理客户的请求,jspServlet()方法。7,JSP页面销毁:调用jspDestroy()方法。四,在浏览器请求页面时执行某些动作的元素,称为行为元素。JSP定义了一些标准行为元素,如下: 使一个JavaBeans组件在该页中可用 从一个JavaBeans组件中获得某个属性值,并将其添加到应答中 设置JavaBeans的属性值 在请求处理阶段引入来自一个servlet或者JSP页面的应答结果 将对请求的处理转交给一个servlet或JSP页面 使用或将请求转交给另一个servlet或JSP页面时,向这个请求中加入一个参数值。 生成包含了独立于使用浏览器的元素,用于执行applet。本文来自CSDN博客,转载请标明出处:JAVAWEB编程第10天一,JSP EL(表达式语言:Exception Language):使用JspEL,以更简短,更易懂的语法来取代难以维护的java脚本代码以及笨拙的jsp:usebean和jsp:getproperty。表达式语言EL是一种自包含的编程语言,有运算符,语法和保留关键字。语法:$一个EL表达式包含变量和操作符两个内容。任何存在于JSP作用范围的JavaBean都可以被转化成EL表达式来使用:1,pageScope、requestScope、sessionScope、applicationScope,这4个默认变量包含Scope作用范围的参数集合,相当于被保存在java.util.Map中的某个参数。2,param、paramValues,这两个默认变量包含请求参数的集合,param表明请求包含的参数为单一控件,paramValues表明请求包含的参数为控件数组。3,header、headerValues,这两个默认变量包含请求参数头部信息的集合,header变量表示单一头部信息,headerValues则表示数组型的头部信息。4,cookie,包含所有请求的cookie集合,集合中的每个对象对应javax.servlet.http.Cookie。5,pageContext,等价于page环境类javax.servlet.jsp.PageContext的实例,用来提供访问不同的请求参数。6,initParam,包含所有应用程序初始化参数的集合。二,JSTL Core标签库:虽然ER可以用很多方式操作变量,但是他不能设置变量的值,也不能在作用域范围内删除变量。所以我们要使用JSTL标签。包括:Core标签库、XML processing标签库、I18N formatting标签库、Database access标签库、Functions标签库。Core标签库,又被称为核心标签库,该标签库的工作是对于JSP页面一般处理的封装。多用途核心标签:用于在JSP中显示数据。为变量或JavaBean中的变量属性赋值的工作。用于删除存在于scope中的变量。在JSP页面中捕捉异常。条件控制标签:用于简单的条件语句。,、,这三个标签用于实现复杂条件判断语句,类似“if,elseif”的条件语句。循环控制标签:循环控制标签。可以根据某个分隔符分隔指定字符串,相当于java.util.StringTokenizer类。URL相关标签:允许包含另一个JSP页面到本页面来。用于得到一个URL地址。用于页面的重定向,该标签的作用相当于response.setRedirect方法的工作。用来为包含或重定向的页面传递参数。javaweb总结通过一周多的学习时间JAVA WEB这本书的知识算是学完了,这本书所讲的原理和我们之前做的那个贷款计息查询服务器项目的原理是一摸一样的,下面对知识点做一个简单的总结:书上总共分为:Web工作原理、HTTP协议、Web容器Tomcat的使用、Servlet规范、Servlet处理HTTP响应和请求、Web应用程序状态管理、对象作用域、Servlet事件监听器、过滤器、JSP基础、Java Web开发模式以及如何编写无脚本的JSP页面这几部分内容,但这些知识点不是独立存在的,是一环扣一环的,上下之间的联系还是比较紧密的。首先,既然我们是要进行Web编程,所以我们要知道Web的工作原理包括的四个步骤: 1.连接:Web浏览器与Web服务器建立连接。2.请求:Web浏览器通过socket向Web服务器提交请求。3.应答:Web浏览器提交请求后,通过HTTP传送给Web服务器。Web服务器接到请求后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。4.关系连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。其次,重点就是Servlet容器的工作原理,一个功能健全的servlet容器对于每个 servlet 的HTTP请求会完成以下事情:当servlet 第一次被调用的时候,加载了 servlet类并调用它的init方法(仅调用一次)响应每次请求的时候 ,构建一个javax.servlet.ServletRequest 和 javax.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论