ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:26.25KB ,
资源ID:6842124      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6842124.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(javaweb工作原理总结.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

javaweb工作原理总结.docx

1、javaweb工作原理总结总结-第一章java web 工作原理1.1、web应用程序有web服务器,web客服端浏览器,HTTP协议以及静态HTML文件等。 Web服务器的作用是接受客服端请求,然后向客服端返回些结果;浏览器的作用是允许用户请求服务器上的某个资源,并且向用户显示请求的结果;HTML是用于告诉浏览器怎么样向用户显示内容;HTTP是web上客服端和服务器之间通信所用的协议。1.1.2 HTTP协议将来自于客服端的请求信息封装成HTTP请求;封装的信息当中包括请求行、请求头、消息体、分隔请求头、消息体的一个空行。请求行是一个ASCII文本行,由三个标记组成:请求的HTTP方法、请求

2、的URL、HTTP版本;中间用空格分开例如:GET /lovobook/index.html HTTP/1.0在HTTP1.1版本中请求方法有八种分别是下面:GET:用于向服务器检索资源 在HTTP请求头POST:用于向服务器发送资源,并要求指定的URI处理 在消息体HEAD:于GET方法相同,服务器只返回状态行和头标,并不返回请求文档。PUT:请求服务器保持请求数据作为指定的URI新内容;DELETE:请求服务器删除URI中命名的资源;OPTIONS:请求关于服务器支持的请求方法信息;TRACE:请求web服务器反馈HTTP请求和其头标;CONNECT:已文档化但当前未实现的一个方法,预留做

3、隧道处理;请求头:HTTP协议使用HTTP头来传递请求的元信息。HTTP头是一个用冒号分隔的名称/值对,冒号前面是HTTP头的名称,后面是HTTP头的值。1.1.3HTTP响应包括:状态行、响应头、消息体、分割消息头、响应头。状态行里面出现:1XX:表示信息,请求收到,继续处理。2XX:表示成功3XX:表示重定向4XX:表示客服端错误5XX:表示服务器错误1.2Web服务器的缺陷是只能向用户提供静态网页内容。1.3服务器端网页编程就是web服务器创建动态服务器端内容的过程。1.3.1服务器端网页编程出现得最早的技术就是CGI,它的缺点就是每次请求一个CGI资源,将在服务器上创建一个新的进程,并

4、且通过标准输入和环境变量将信息传递给该进程。还有微软公司的ASP和ASP.NET技术Java 运用的是servlet/JSP技术Servlet主要用于在服务器端产生动态内容。它在服务器上主要的工作是向客户端读取和发送显示数据和隐式数据,以及在读取和发送中间生成结果。PHP技术,它的特点是能快速创建小网站,但不能创建大型网站。1.3.2web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器。Web容器对Servlet的支持包括:通信支持,生命周期管理,

5、jsp支持和处理安全性。一、B/S模式的优点和缺点B/S结构的优点 (1)、具有分布性特点,可以随时随地进行查询、浏览等业务处理。 (2)、业务扩展简单方便,通过增加网页即可增加服务器功能。 (3)、维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 (4)、开发简单,共享性强 B/S 模式的缺点 (1)、个性化特点明显降低,无法实现具有个性化的功能要求。 (2)、操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。 (3)、页面动态刷新,响应速度明显降低。 (4)、功能弱化,难以实现传统模式下的特殊功能要求。 二、C/S 模式的优点和缺点C/S 模式的优点 1.由于客户端实现与服

6、务器的直接相连,没有中间环节,因此响应速度快。 2.操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。 3.C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。 C/S 模式的缺点 1.需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。 2.兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。 3.开发成本较高,需要具有一定专业水准的技术人员才能完成。Web容器的功能是网络连接管理,会话管理等功能都由容器实现。ServletServlet是一种服务器端的Java应用程序,具有独立于

7、平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机Servlet的方法分为以下几个类。1. init()方法;一个servlet在服务器上最多只会驻留一个实例。所以说第一次调用Servlet时,将会创建一个实例。在实例化的过程中,HttpServlet中的init方法会被调用。因此将

8、一些初始化代码放在该函数内。2. doGet()/doPost()/service()方法Servlet 有两个处理方法:doGet()和doPost()。doGet()在以get方式请求Servlet时运行。常见的get请求方式有链接、get方式表单提交,直接访问Servlet。doPost()在以post方式请求Servlet运行。常见的post请求为post方式表单提交。事实上,客服端对Servlet发送一个请求过来,服务器端将会开启一个线程,该线程会调用service()方法,service()方法会根据收到的客服端的请求类型来决定是调用doGet()还是doPost()。但是一般情况

9、下不用覆盖service()方法,使用doGet()与doPost()方法,同样可以达到处理目的。3. destroy()方法destroy()方法在Servlet实例消亡时自动调用。在web服务器运行Servlet实例时,因为一些原因,Servlet对象会消亡。但是在此Servlet消亡之前,还必须进行某些操作,比如释放数据库连接以节省资源等,这个时候就可以重写destroy()方法。Servlet中如何获得内置对象的方法:1. 获得out对象Import java.io.PrintWriter;.Public void doGet(HttpServletRequest request, H

10、ttpServletResponse response) throws ServletException, IOException PrintWriter out = response.getWriter();/获得out对象在默认情况下out对象是无法打印中文的。因为out输出流中有中文却没有设置编码。解决这个问题可以讲doGet代码改为:response.setContentType(“test/html;charset=gb2312”);PrintWriter out = response.getWriter();2获得request和response对象。这两个作为参数传给了doGet

11、()或doPost()方法中。3获得session对象。Session对象对应的是HttpSession接口。HttpSession session = request.getSession();将session当成session对象来使用。4获得application对象application对象对应的是ServletContext接口ServletContext application=this.get ServletContext();将application当成application对象来使用。可以使用application实现服务器内跳转。由于Servlet和JSP的同质性常用的Se

12、rvlet内跳转有两种:(1) 重定向response.sendRedirect(“URL地址”);(2) 服务器内跳转ServletContext application=this.get ServletContext(); RequestDispatcher rd =application.getRequestDispatcher(“URL地址”);rd.forward(request,response);设置参数:Web.xml文件有两种类型的参数设定。1设置全局参数,该参数所有的Servlet都可以访问。参数名参数值(3) 设置局部参数,该参数只有相应的Servlet才能访问Servl

13、et名称Servlet类路径参数名参数值获取参数:获取全局参数的方法是:ServletContext application=this.get ServletContext(); application.getInitParameter(“参数名称”);获取局部参数的方法是:this.getInitParameter(“参数名称”);注意:此处的this是指Servlet本身。 Servlet基础一、什么是Servlet? 1、是运行在Web服务器或应用服务器上的Java程序 2、是在Web上创建动态内容的有效而强大的解决方案 3、有容器来管理生命周期与Web服务器交互 4、由sun规范了其功

14、能二、Servlet的生命周期 1、在整个服务器运行过程中,一个Servlet只有一个对象 2、这个对象在第一次请求来的时候产生,所有对相同Servlet的请求都是访问同意对象 3、Servlet不是线程安全的 4、Servlet对象会在服务器关闭或重新加载的时候被销毁 5、方法调用 init()-service(doget/dopost)-destory 解释:init():初始化 重写service()方法:真正接受请求的,了解生命周期,判断请求类型(get/post),在调用doget()或dopost()方法 destroy() :servlet销毁方法 注意:Servlet在第一次请

15、求来的时候产生对象这不是绝对的,可以在web.xml里面配置,在服务器启动的时候产生对象并告诉产生的顺序三、控制生命周期(出现的顺序) 在web.xml文件中servlet元素中添加子元素自然数(改变顺序)四、参数的初始化 在web.xml文件中servlet元素添加子元素 (需要注意添加顺序),写在之前 例: encoding utf-8 五、Servlet的架构体系 Servlet(接口) ServletConfig(接口) GenericServlet(抽象类) HttpServlet六、Request对象 1、什么叫request对象:客户端请求对象,对象里面封装了当次客户请求的所有

16、2、用request对象来取得请求的参数req.getParameter(String s) 3、参数的传递格式 :url?xx=xx&yy=yy. 4、表单提交的时候表单控件参数就是name=value 5、处理中文乱码 1)、post方式请求设置页面以及request对象的字符编码级utf-8 setCharacterEncoding(utf-8) 2)、get方式配置服务器端口元素的字符编码 URIEncoding=utf-8七、通过流取到动态的网页 resp.setCharacterEnconding(utf-8) /乱码 resp.setContentType(text/html;c

17、harset=utf-8) /设置响应格式里的消息体(乱码)八、一个键获取多个值: String str = req.getParameterValues(che); for(String s = str) System.out.println(s+=); 总结:1、Servlet的配置2、初始化参数的配置以及获取 3、Servlet的对象创建顺序的配置 4、HttpServletRequest对象的方法:getParameter(),getParameterValues(),setCharacterEnconding()5、response对象的方法:setContentType(),set

18、CharacterEnconding(),getWriter() Session会话Session表示通话,会话,对话期间,对谈时间的意思。Session:服务器端的一块内存,可以和服务器对应,每个客户端都有自己独立的一个区域。Session里面所有的方法都是键值对Session里面的内容并不是永无止境的保存,它会有一定的时间限。Session课堂总结: session会话:就是客户端(浏览器)对服务器的一次会话范围,也就是在服务器端的一块内存区域,一个客户端对应自己的一块内存区域,可以向这块内存里面存取数据。数据的格式就是键值对。(key的类型只能是String,value的类型是Objec

19、t) :HttpSession session = req.getSession(); /从服务器得到session对象 session.setAttribute(User,你好); /把session对象放进去 :HttpSession session = req.getSession(); /从服务器得到session对象 Object o = session.getAttribute(User); /把session对象取出来:HttpSession session = req.getSession().removeAttribute(User); /删除,移出session对象 :Ht

20、tpSession session = req.getSession(); /从服务器得到session对象 session.setMaxInactiveInterval(10); /设置请求的时间(秒) 多少秒后就取不到了ServletContentServletContent:Servlet上下文,与session用法相同课堂总结: 请求转发:RequestServlet req.getRequestDispatcher(s2).forward(req,resp); 请求转发(服务器端跳转):不会结束当次请求,而是直接在服务器内部把这一次请求进行跳转。request范围一样,可以通过req

21、uest范围传递数据。 重定向:resp.sendRendriect(s2); 重定向(客户端跳转):结束当次请求,让客户端发起新的请求去访问。request范围不是一般在这一次请求结束的时候,为了导致后台的混乱时使用。三大范围: 1、request:当次请求范围,只能在一次请求的过程当中存取数据,一般用来数据的简单传递。请求开始时产生,请求结束时消失(一次请求中)。 2、session:会话,用来保存客户端的状态,只是服务器端的一块内存区域。每个客户端都有自己的一块内存区域,相互之间不冲突。(第一次请求时产生,可以控制超时时间)。 3、ServletContent:servlet上下文,整个

22、服务器端最大的一块内存区域,所有的Servlet共享,保存全局性的数据。(开始时就有,结束时消失) 过滤器:Filterfilter概念:拦截客户端到服务器端的请求(过滤),可以帮助我们在执行具体 业务之前进行请求的过滤。常用来做权限,分类,以及一些通用项目设置。书写方式:要让自己的类成为一个过滤器(拦截器)去实现filter接口,要让filter起作用就必须在web.xml里面配置。生命周期:在服务器启动的时候创建对象,整个运用过程中只有一个对象服务,服务器重新加载或者关闭的时候销毁。初始化参数:跟servlet的初始化一样注意:1、页面上资源访问,比如图片,音乐,视频等等都是在向服务器发送

23、请求,所以注意拦截器拦截这请求的时候会让资源不能访问。 2、拦截器只能够拦截客户端发送到服务器端的请求,不能够拦截服务器内部的跳转。cookie:服务器向客户端发送的一个文本信息,并且保存在客户端。文本信息的格式是key-value,最大不能超过4k. 可以通过request对象里面把当前请求的客户端的所有cookie拿到,可以通过response对象发送cookie到客户端。cookie的生命周期通过设置存在的时间长度来决定。session就是通过cookie实现的,每个session对象都有一个id值(唯一的),这个id会发送到浏览器的cookie里面,每次浏览器请求服务器,服务器都会把这

24、个id从cookie取出来,然后再去匹配session对象的id,这样来确定到底当前的浏览器该使用哪一个session对象。session比cookie更安全。通常情况下都会选择使用session.cookie不安全,一般用来保存一些不是特别关键的数据,可以减少服务器的压力。因为session是服务器端的内存。cookie是客户端保存。一旦客户禁用了cookie,这个时候session就会失效,我们可以通过URL重写来让session继续生效。URL重写就是改变你原来的访问地址和URL,让URL上面跟上session ID作为参数来传递 监听器一、监听器:在servlet里面用来监听三大范围对

25、象的事件,提供了8个借口来针对3个对象的事件监听。二、事件触发主要有两大类型: 1、对象自身的生命周期(产生,销毁) 2、对象范围内数据的变化(添加,移除,替换)三、三大对象对这两大类型都有自己的接口: ServletContextListener ServletRequestListener ServletContextAttributeListener ServletRequestAttributeListener HttpSessionListener HttpSessionAttributeListener四、session对象还有另外两个自己的监听: 1、和某个特定的类型的对象绑定的

26、监听器接口(只监听该类型的对象被添加或者销毁的事件)。 HttpSessionBindingListener2、监听session被钝化或者激活的一个监听接口(了解) HttpSessionActivationListener注意:所有的监听器都需要在web.xml里面注册了才能生效,只有HttpSessionBindingListener监听器不需要注册。第八章:JSP基础一、JSP就是服务器端的动态网页技术,就是能够在HTML网页上面书写java代码。二、JSP的工作原理: jsp在被访问的时候会被翻译成一个servlet(处理jsp翻译的servlet类)类,然后编译成class文件,然

27、后产生servlet对象来接收请求。(jsp本质就是一个servlet,在服务器里面都有jsp引擎)3、JSP的生命周期: 它只比servlet多一点“翻译”(生命周期和servlet一样)4、JSP的基本语法: 、它们之间能够书写Java代码,这里的代码就相当于在翻译成德servlet的service方法内部(局部变量) 、它们之间能够书写Java代码,这里的代码就相当于在方法的外面类的里面(成员变量) 、等号后面可以跟一个变量或者一个具体的值相当于、五、JSP内置对象:jsp已经准备好的可以直接使用的对象(9个) 、request 请求对象 、response 响应对象 、pageCont

28、ext 当前页面的上下文,里面包含了当前页面的所有数据信息 、page 当前页面的对象指针 、config servlet参数(servletConfig) 、out 输出流(PrintWriter) 、session 会话 、application 服务器上下文(servletContext) 、excption 异常处理对象(throws,excption)六、三大指令 page(页面指令) taglib(引入标记库) include(静态包含)七、动作 include(动态包含) forward(请求转发)注意:静态包含和动态包含的区别 1、静态包含是在编译期执行包含这个步骤,把包含的页

29、面的所有的代码直接拿到本页面的代码里面来,所有两个页面最终只会生成一个Java类,也就是说所有的属性,对象都共享。 2、动态包含会在执行期间动态的把包含页面的信息拿到本页面来,它们还有独立的两个页面会生成两个类,它们各自使用各自的参数,对象。向本页面传递的参数在包含页面也能够取到。但是它们的request对象不是同一个。 标 记 库EL表达式:sun公司定义一套方便处理Java表达式的语法,通常 用来在JSP进行范围取值。语法:$ 注意:1、在对对象取值的时候一定要有get方法,而且后面的 那个名称不是属性名,而是get方法后面的名称(首 字母小写) 2、取值的顺序是:pageContext、request、session、 applicaton 3、可以对集合、数组、Map进行取值,能够进行逻辑 表达式,关系表达式JSTL:sun公司定义一套JSP标签库,用来处理业务逻辑,核心标签 是 c 注意:怎么引入标签会使用逻辑判断语法,以及迭代语法,设置语法,了解一下格式 化与函数判断为空,用=(在EL表达式里) MVC

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1