javaWeb基础复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J a v a w e b复习资料
1.理解Jsp的page指令。
page 指令可以定义下面这些大小写敏感的属性(大致按照使用的频率列出):import、contentType、pageEncoding、session、isELIgnored(只限 JSP )、buffer、autoFlush、info、errorPage、isErrorPage、isThreadSafe、language 和 extends。
2. 理解Jsp的include指令。
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改。由于被包含的文件是在编译时才插入的,因此如果只修改了include文件内容,而没有对JSP修改,得到的结构将不会改变,所以直接执行已经存在的字节码文件,而没有重新编译。因此对不经常变化的内容,用include指令是合适的,如果需要的内容是经常变化的,则需要动作元素
指令
include可以在JSP页面转换成Servlet之前,将JSP代码插入其中。它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。
语法:<%@ include file="" %>
动作
jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet 或JSP页面。服务器以通常的方式运行被包含的页面,将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。
语法: value="value"/>
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文件:、,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动T omcat;如果是解压版,那么会有和文件,用来启动Tomcat,但需要先配置JAVA_H OME环境变量才能启动,用来停止Tomcat;
2、conf:这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:
:配置整个服务器信息。例如修改端口号,添加虚拟主机等;
:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;
:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些M IME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!
:对所有应用的统一配置,通常我们不会去配置它。
3、lib:Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的ja r文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomca t下时就不能再共享这个目录下的Jar包了,所以建议只把Tomcat需要的Jar包放到这个目录下;
4、logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。
5、temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!
6、webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。就是项目名,即文件夹的名字。
7、work:运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。
8、LICENSE:许可证。
9、NOTICE:说明文件
6.指令include和标签include的共同点和不同点。
相同点:都用于包含其他页面
不同点:
(1)文件包含指令: <%@ include file="path" %>
动作包含指令:
(2)文件包含的include指令是静态包含。即使被包含的文件中有JSP代码,在包含时也不会被编译执行。将两个页面组合成一个后,编译处理为一个Java文件,最后返回结果页面
(3)jsp:include动作和include指令之间的根本性的不同在于它们被调用的时间。jsp:include动作标签在请求期间被激活,而include指令在页面转换期间被激活。
7.服务端跳转和客户端跳转的共同点和不同点。
服务端跳转又称为请求转发,客户端跳转又称为重定向。
服务端跳转后浏览器地址栏URL不变,刷新会导致重复提交;客户端跳转后浏览器地址栏URL将改变。
服务端跳转是一次请求一次响应,可以使用request传递数据;而客户端跳转是两次请求两次响应,request中的数据会丢失。
服务端跳转只能跳转到同一个应用程序的其他资源;而客户端跳转则可以重定向到任意的URL
8.说说Session和Cookie的关系。
关系:Cookies是属于Session对象的一种。但有不同,Cookies不会占服务器资源,是存在客服端内存或者一个cookie的文本文件中;而“Session”则会占用服务器资源
区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。