11、手工编写servlet类,编写servlet注册的web.xml文件
12、servlet URL映射路径是什么?
/abc:精密映射
*.do:扩展映射
/abc/* :路径映射
13、讲述servlet的生命周期
1 .启动WEB容器时,ide将读取每个web APP应用程序的web.xml文件配置信息并解析web.xml文件。 获取servlet配置信息。
2 .装入容器和实例化servlet
在web.xml文件中设置servlet时,如果大于或等于0,则会实例化启动容器;如果为负数或缺省值,则会首次请求实例化。)
3 .初始化容器调用init ()方法
4 .为每个请求调用service (方法完成逻辑
5 .容器丢弃servlet并调用destroy ()方法
14、服务器上下文的作用。
答:作用于整个网络APP应用程序
1、可以使用getRealPath ()获取资源的实际路径
2、可以使用getAttribute (,和setAttribute )方法共享全局变量。
15、Http响应信息状态代码是什么? 各位代表是什么意思
A(100-199 )显示消息代码,标记客户端要采取的其它操作,指示请求正在进行
200-299 :表示客户请求成功
300-399 :表示移动的资源文件,表示新地址
400-499 :指示客户端发生的错误
500-599 :表示服务器端发生的错误
16、如何设置响应信息的响应标头? (写代码)
a(response.setheader(「key "、" value " );
17 .如何向客户端输出字符串信息,如何向客户端输出二进制信息?
Response.getWriter ().print;
Response.getOutputStream ().writer );
18、页面重定向(写代码)的方法,谈谈重定向的机制。 谈谈重定向的好处。
a(response.sendredirect )转发的页面路径
原理:
1、浏览器向服务器发送HTTP请求。
2、服务器收到请求后,调用response.sendRedirect ()时
方法。 表示资源已被移动。 302的状态代码和
位置响应标头。 指定要转发到位置响应标头的地址。
3、浏览器接收到302状态代码后,将定位响应报头的
然后将地址栏的值指定给位置响应标头的内容。 因此
向服务器发送第二次请求。 因为是次要的要求,所以重新决定
无法获取封装在request中的属性信息
19、GET提交和POST提交的区别是什么?
get:提交的数据类型:文本; 提交的数据长度: 255个字符以下; 提交数据
可见性:作为url地址的一部分显示在浏览器中的地址; 提交数据缓存:缓存
浏览器的url历史记录状态
post:提交的数据类型:文本、二进制文本; 提交的数据长度:没有限制
提交数据的可见性:不作为请求的消息主体提交不可见的数据缓存
浏览器缓存
寻找资源的时候是get
数据传输时开机自检
20、如何解决提交中文时出现的乱码?
答:表格以信箱方式提交。 request.setcharacterencoding (gbk );
21、如何得到客户端的请求方法,得到servlet的请求路径?
request.getMethod ();
Request.getServletPath (;
22、如何得到请求报头
a(request.getheader(「key”) );
23、如何获得客户端表格数据? 如果表单数据具有相同的name值该怎么办?
a (stringstr=request.getparameter );
string [ ] strs=request.getparameter values (;
24、上传文件时,需要注意什么问题?
enctype=multipart/form-data
method=post
25、在request中设置属性。 这个属性的作用范围是什么?
a )单个请求响应完成后将被放弃。
26、编写内部传输的代码
a(request.getrequestdispatcher (已传输的网址) ).forward(request,response ) )。
27、为什么要进行状态跟踪? 状态跟踪有几种方法吗?
Http协议是无状态连接
表单隐藏字段
饼干
p>url重写
session会话跟踪
28、cookie有几种?cookie和session有什么不同?
答:一种以文件的方式保存在客户端,一种是保存在浏览器的缓存中,重新
开启浏览器则cookie消息。
区别:
1.session保存在服务器,客户端不知道它的信息;而cookie保存在客户端,服务器知道其中的信息。
2.session中 保存的是对象,而cookie中保存的是字符串
3.session是不能区分路径的,同一个客户在访问web服务器之间,
在任何地方都能够访问得到session中保存的信息的。而cookie
如果设置了路径参数,同一个网站下的不同路径的cookie互相是
访问不到的。
4.session是以cookie或URL重写为基础的,默认使用cookie来实现,
系统会创造一个名为JSESSIONID的输出cookie,我们叫做session
cookie,以区别persistent cookies,也就是我们通常所说的
cookie,注意session cookie是存储于浏览器内存中的,并不是
写到硬盘上的,这也就是我们刚才看到的JSESSIONID,我们通常
情是看不到JSESSIONID的,但是当我们把浏览器的cookie禁止后,
web服务器会采用URL重写的方式传递Sessionid,我们就可以在
地址栏看到sessionid=KWJHUG6JJM65HS2K6之类的字符串。
29、session的作用范围?并说出session的工作流程
答:作用范围:一个会话交互过程;
1.客户端先报个服务器请求,服务器调用request.getSession()创建会话对象
(session)同时给对象产生一个唯一标识(session)并将sessionID和session
对象放入一个map集合
2.服务器向客户端发送响应,sessionID会以响应头的方式发送给客户端
(set-cookie)
3.客户端再次请求,那么之前发给客户端的sessionID会以请求头的方式发给
服务器,而服务器根据sessionID从map集合中找到对应的session对象
30、如何销毁会话?
答:1.session超时
2.调用session对象的invalidate()方法
3.web容器关闭或崩溃
31、当客户端禁用cookie,如何进行状态跟踪?
答:url重写,将sessionID附加在请求参数后面,服务器得到sessionID后就能找到对应的session对象
32、说出ServletContext、HttpSession、ServletRequest各自的作用范围。
答:ServletContext:整个web应用程序
HttpSession:一个会话交互过程
ServletRequest:一次请求过程
33、什么是监听器。监听器监听的对象有哪些?监听器主要是对监听对象的哪些状态进行监听?
答: 监听对象:session,request,application,监听器用以监听这些对象的创建和销毁,以及属性值的添加、删除和替换
34、说出监听器开发的流程。哪个监听器不需要进行注册?
答: 实现一个监听器接口
实现接口里所有的方法
注册
HttpSessionBindingListener
35、什么是过滤器?
答:过滤器是一个中间组件,用于拦截源数据和目的数据之间的消息
过滤二者之间传递的数据
36、如何编写过滤器类,如何注册过滤器?
答:过滤器类都必须实现javax.servlet.Filter接口
public class HelloWorldFilter implements Filter {
private FilterConfig filterConfig;
public void init(FilterConfig
filterConfig) {//初始化方法
this.filterConfig = filterConfig;
}
public void doFilter(
ServletRequest request, ServletResponse
response,//请求和响应均不是基于Http协议的
FilterChain filterChain //将请求继续向后面的过滤器或目标资源发送
) throws ServletException,
IOException {//业务方法,书写过滤内容
PrintWriter pw = response.getWriter();
……
filterChain.doFilter(request,response);
}
public void destroy() {//销毁方法
}
}
注册
HelloWorldFilter
com.lovobook.HelloWorldFilter
HelloWorldFilter
/filter/*//对请求URL对应的资源过滤
testServlet//对servlet过滤
37、过滤器中哪个方法用于过滤逻辑?如何让请求到达下一个过滤器或请求目标?
答:Filter接口中的doFilter方法
filterChain.doFilter(request,response);
38、说说过滤器链的执行顺序。
首先调用匹配请求URI的过滤器
再查找用Servlet名匹配请求URI的所有过滤器
如果有多个,则按部署先后顺序排序
39、说出JSP的生命周期。
答:第一阶段:jsp页面翻译阶段
第二阶段:jsp页面编译阶段
第三阶段:jsp页面类装载阶段
第四阶段:jsp页面类实例化阶段
第五阶段:jsp页面初始化阶段
第六阶段:jsp页面服务阶段
第七阶段:jsp页面销毁阶段
40、什么是JSP引擎?为什么说JSP是Servlet?
答:帮助我们把jsp文件翻译成java类
jsp页面需要由web容器翻译成java类才能将内容显示到客户端,
jsp页面翻译的类必须实现httpJspPage接口,而该接口是servlet
子接口,所以jsp页面翻译的类也实现了servlet接口,所以jsp
本质是servlet.
Jsp主要用于页面的数据显示,而servlet主要用于数据逻辑处理
41、JSP脚本元素有哪些?用代码书写出来
答:声明:定义方法和成员变量
Scriplet: 丰富_jspService
脚本表达式:
相当于输出out.print();
42、JSP注释有哪些?各自有什么特点?
jsp注释:
容器不翻译,服务器和客户端均不可见。
html注释: