免费预览已结束,剩余3页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
岁月静好,不负好时光Javaweb复习资料1理解Jsp的page指令。page 指令可以定义下面这些大小写敏感的属性(大致按照使用的频率列出):import、contentType、pageEncoding、session、isELIgnored(只限 JSP 2.0)、buffer、autoFlush、info、errorPage、isErrorPage、isThreadSafe、language 和 extends。2. 理解Jsp的include指令。include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改。由于被包含的文件是在编译时才插入的,因此如果只修改了include文件内容,而没有对JSP修改,得到的结构将不会改变,所以直接执行已经存在的字节码文件,而没有重新编译。因此对不经常变化的内容,用include指令是合适的,如果需要的内容是经常变化的,则需要动作元素.下面将详细区分他们之间的不同1.include指令include可以在JSP页面转换成Servlet之前,将JSP代码插入其中。它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。语法:2.include动作jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的 结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面, 将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页 面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。语法: 3. 理解Jsp的include标签和forward标签。forward是转发的另一个页面.include是把另一个页面加载到当前页面.JSP:include 是将一段java代码或页面放到页面指定的位置 jsp:forward 是跳转页面的include标签forword标签4理解HTTP协议。HTTP:是基于一种请求/响应模式的、无状态的、应用层的协议,基于TCP协议传输数据,支持客户/服务器模式,每次完整交互都包含HTTP请求和HTTP响应。 Http请求由三个部分组成,请求行、消息报头、请求正文(可选,为空也行); 请求方法主要包括:GET、POST、HEAD、PUT、DELETE.,在我工作中常用的就GET跟POST GET:请求获取Request-URI所标识的资源; POST:在Request-URI所标识的资源后附加新的数据(body); 每种方法规定了客户与服务器联系的类型不同,由于http协议简单,使得http服务器的程序规模小,因而通信速度快。 HTTP有5种状态码:5.理解Tomcat的目录1、bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat;2、conf:这是一个非常非常重要的目录,这个目录下有四个最为重要的文件: server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等; tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了; web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的! context.xml:对所有应用的统一配置,通常我们不会去配置它。3、lib:Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的Jar包了,所以建议只把Tomcat需要的Jar包放到这个目录下;4、logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。5、temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!6、webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。http:/localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。7、work:运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。8、LICENSE:许可证。9、NOTICE:说明文件6.指令include和标签include的共同点和不同点。相同点:都用于包含其他页面不同点:(1)文件包含指令: 动作包含指令: (2)文件包含的include指令是静态包含。即使被包含的文件中有JSP代码,在包含时也不会被编译执行。将两个页面组合成一个后,编译处理为一个Java文件,最后返回结果页面动作标签的原理是将被包含的页面编译处理后将结果包含在页面中。当该标识被执行时,程序会请求转发到被包含的页面并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码(3)jsp:include动作和include指令之间的根本性的不同在于它们被调用的时间。jsp:include动作标签在请求期间被激活,而include指令在页面转换期间被激活。7.服务端跳转和客户端跳转的共同点和不同点。服务端跳转又称为请求转发,客户端跳转又称为重定向。服务端跳转后浏览器地址栏URL不变,刷新会导致重复提交;客户端跳转后浏览器地址栏URL将改变。服务端跳转是一次请求一次响应,可以使用request传递数据;而客户端跳转是两次请求两次响应,request中的数据会丢失。服务端跳转只能跳转到同一个应用程序的其他资源;而客户端跳转则可以重定向到任意的URL8.说说Session和Cookie的关系。关系:Cookies是属于Session对象的一种。但有不同,Cookies不会占服务器资源,是存在客服端内存或者一个cookie的文本文件中;而“Session”则会占用服务器资源区别:1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。5、可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。9.用图形和文字描述hello.jsp的执行过程第一步:请求进入Web容器,将JSP页面翻译成Servlet代码第二步:编译Servlet代码,并将编译过的类文件装入Web容器(JVM)环境第三步:Web容器为JSP页面创建一个Servlet类实例,并执行jspInit方法第四步:Web容器为该JSP页面调用Servlet实例的_jspService方法;将结果发送给用户10.请写出9个内置对象的生存周期和功能1.request对象客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。2.response对象 response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。 3.session对象session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例. 4.out对象 out对象是JspWriter类的实例,是向客户端输出内容常用的对象.5.page对象page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例.6.application对象 application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。7.exception对象 exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象 8.pageContext对象 pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。9.config对象 config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)11.表单和超链接发请求的共同点和不同点。 表单提交简单易操作,依靠在标签对中的提交按钮进行请求发送和参数提交。其中form标签的post属性决定提交方式是get还是post。超链接提交请求的话,方式比较单一。传递参数值是被写死的,并且只能使用get方式去发送请求。如果不用javascript的话,超链接还是作为一个页面跳转按钮比较合适12.理解request对象、session对象 、application对象 、config对象 1.session对象:指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。2.application对象:实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。 3.request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。一般用来获取页面传参的值。4:response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。13.理解Mvc设计模式。MVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,主要提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。主要使用的技术:数据模型:实体类(JavaBean),数据访问:JDBC,Hibernate等。View(视图):负责进行模型的展示,一般就是我们见到的用户界面,比如JSP,Html等Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。主要使用的技术:servlet,Struts中的Action类等。MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式14,理解POST 和GET请求。使用get方法提交表单,请求的参数在请求的头部,可以通过request.getQueryString()方法获取请求参数,且request.getContentLength()方法返回值为-1;使用post方法提交表单,请求的参数存放在请求体里,所request.getQueryString方法获取不到请求参数,request.getContentLength()可以获得请求体的长度。通过get方法提交表单,因为请求表单存放在请求的头部,所以会在浏览器地址栏显示;而通过post
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保监会公务员考试真题试题及答案
- 巴中乡镇公务员考试试题及答案
- 安仁公务员考试试题及答案
- 城市道路环境整治提升改造项目建议书
- 城乡污水处理工程申请报告
- 2025甘肃省兰州市赴京专项引进人才(企业262人)易考易错模拟试题(共500题)试卷后附参考答案
- 2025甘肃古浪交通投资限公司驾驶员招聘网易考易错模拟试题(共500题)试卷后附参考答案
- 十五五行政事业单位资产共享:公共资源盘活的改革探索
- 医疗旅游产业的市场分析与发展策略探讨
- 微珠填充PVC材料在智能家居的应用前景
- 2025年服饰设计真题试卷及答案
- 深部静脉血栓形成预防措施培训
- 汽车吊安全管理
- 相变储热材料介绍
- 2025年农业种植技术员实操技能考核试卷及答案
- 全国大学生职业规划大赛《智能交通技术》专业生涯发展展示【高职(专科)】
- 干眼症课件资料
- 电网QC比赛项目汇报答辩课件
- 工厂水电气安全知识培训课件
- 工会安全知识培训内容课件
- 污染溯源课程标准解读
评论
0/150
提交评论