2024年3月31日发(作者:)
JAVA知识SERVLET面试题
Sun(Oracle)公司制定的一种用来扩展Web服务器功能的组件
规范。
appName---
-----WEB-INF
--------classes
-----------
--------lib
-----------(可选)
--------
HTTP协议是HyperText Transfer Protocol的简写,它是由w3c
(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务
器之间如何通信以及通信的数据格式。
请求头中的键值对:
t-Length:105表示请求消息正文的长度为105。
tion:Keep-Alive表示需要持久连接。
:localhost表示请求资源的Internet的主机为localhost,
端口为80。
响应头的键值对:
:Apache/
2.0.45表示服务器名字为Apache/2.0.45。
t-Type:text/html表示响应的MIME类型为text/html。
/doc/,st-Modified
月16日12点44分13秒,星期一。
404地址错误(拼写不正确,字母大小写错误)。
文件中的不一致。
404工程没有部署。
404Web应用程序部署结构没有遵守Servlet规范。
:
MON16Jan201212:44:13表示文档的最后改动时间为2012年1
405service方法名称写错。
405service方法参数类型与标准不一致。
405service方法异常、返回值类型与标准不一致。
500Servlet类没有继承HttpServlet或实现Servlet接口
文件中的写错
500service方法中的代码运行时抛出异常
500错误有可能是文件中配置错误。
404错误工程没有部署。
public void service(HttpServletRequest
request,HttpServletResponse response)
服务器在创建好Servlet对象之后,会调用该方法来处理请求。
PrintWriter out=ter();
获得向浏览器打印的输出流。
n(rs);
向流中输出数据,其实质是,将处理结果存放到response对象上。
GET和POST的区别如下:
1.从提交的数据量上来说,get方式会将请求参数及参数值放在请
求资源路径里面,携带的数据大小有限制,不适合提交大量的数据;
post方式会将请求参数及参数值放在实体内容里面,理论上没有限制,
适合大量数据的提交。
2.从安全上来讲,post方式相对安全(因为请求参数及值存放在
实体内容里面,而get方式会将请求参数及值显示在浏览器地址栏)。
但是要注意,post方式并没有将数据加密。
处理表单提交的中文,分为两种情况,一是post方式提交表单、
一是get方式提交表单。
1.处理post方式提交表单时的中文,步骤如下:
step1:确保表单所在的页面按照指定的字符集打开,在HTML中
设置如下:
另外,在HTML中,将表单form的提交方式设置为post。
step2:在服务器端按照上述设置的编码格式进行解码,代码如下:
racterEncoding(“utf-8”);
该行代码要在第一次使用request的时候进行设置。
2.处理get方式提交表单时的中文,步骤如下:
step1:使用meta确保表单所在页面按指定字符集打开,在
HTML中设置如下:
另外,在HTML中,将表单form的提交方式设置为get。
step2:将从表单中获取的信息使用上述设置的字符集utf-8进行
重新编码。例如:将从表单获取的username进行重新编码,代码如
下:
String username=ameter(“username”);
username=new
1”),“utf-8”);
String name=ameter("name");
获取请求参数name的值。
tentType("text/html;charset=utf-8");
保证servlet输出中文无乱码。
页面中可以包含Java代码,包含以下三种形式:
JSP表达式
JSP小脚本
JSP声明
其作用为控制页面中可变内容的产生。
页面中可以包含指令,语法规则为“<%@指令名属性=
值%>”。常用指令如下:
page指令
include指令
taglib指令
其作用为控制JSP在转译成Servlet类时生成的内容。
页面中包含隐含对象,所有隐含对象由容器自动创建,在
JSP文件中可以直接使用。隐含对象
--输入输出对象request respnose out
String(es(“iso-8859-
--作用域通信对象session application pageContext
--Servlet对象page config
--异常对象exception
其作用为JSP预先创建的这些对象可以简化对HTTP请求、响应
信息的访问
1.<%@page pageEncoding="utf-
8"contentType="text/html;charset=utf-8"%>
通过page指令设置了容器读取该文件时,按UTF-8进行解码;
设置tentType 方法的参数值为
"text/html;charset=utf-8"。
2.<%%>JSP小脚本,能够写在方法里的Java代码片段都可以作
为小脚本。
3.<%=()%>输出“()”的值到浏览器。
转发是一个Web组件(Servlet/JSP)将未完成的处理通过容器
转交给另外一个Web组件继续完成。
1.绑定数据到request对象
ribute(String name,Object obj);
2.获得转发器
RequestDispatcher rd=uestDispatcher(String
uri);
3.转发
d(request,response);
转发和重定向的区别有以下几点:
1.重定向是浏览器发送请求并收到响应以后再次向一个新地址发
请求,转发是服务器收到请求后为了完成响应转到一个新的地址。
2.重定向中有两次请求,不共享数据,转发只产生一次请求,且
在组件间共享数据。
3.重定向后地址栏地址改变,而转发则不会。
4.重定向的新地址可以是任意地址,转发到的新地址必须是同一
个应用内的某地址。


发布评论