一、上传文件须要有什么条件?
a、必须以POST方式请求
b、在表单中加入enctype="multipart/form-data"
c、在servlet中加入注解@MultipartConfightml
二、请求转发和重定向的区别。
一、请求转发由RequestDispatcher发出,重定向由response发出
二、请求转发客户端向服务器发出一次请求,而重定向客户端向服务器发出两次请求。因此请求转发能够共享request中绑定的数据,而重定向不行。
三、请求转发只能转发服务器内部资源,而重定向能够在第二次请求时转发别的服务器。java
三、解释Web应用程序保存客户端状态有哪些形式
一、隐藏表单、
二、cookie
三、session
四、URL重写安全
四、cookie的工做流程。
客户端请求服务器,服务器调用response.addCookie()方法,产生响应时,会产生set-cookie的响应头,将cookie对象信息以文本方式发送给客户端。当客户端再次请求,会将cookie信息,再以cookie响应头的方式发送给服务器。从而跟踪状态。服务器
五、sessoin的工做流程。
客户端请求服务器,服务器为了跟踪客户端的状态,调用request.getSession()产生一个session对象,同时给该对象分配一个惟一标识sessionId。为了管理全部用户的session对象,WEB容器以sessionId为键,session对象为值,存放进一个Map集合。产生响应时,会将sessionId以set-cookie响应头的方式发送给客户端。客户端再次请求,将sessionId以cookie请求头的方式发送给服务器。而服务器根据sessionId找到session对象。从而跟踪状态。cookie
6.解释session和cookie的区别。
一、session是存放在服务器端的对象,而cookie信息保存在客户端
二、session能够经过绑定共享对象的方式保数据,而cookie只能以文本方式保存数据
三、使用session时客户端和服务器只交互sessionId,而使用cookie时,客户端和服务器交互的是具体的数据。因此,使用session更为安全。session
7.为何须要管理session?如何销毁session。
由于http协议是一种无状态的协议,因此,客户端是否下线,服务器并不知道。那么,即便客户端下线,服务器还在为当前客户保存session对象。因此,必须对过时的session及时清理以释放服务器内存。销毁有三种方式:
一、会话超时
二、调用invalidate()方法强行销毁
三、应用程序结束jsp
8.若是客户端禁用cookie,session还能记录客户端状态吗?
若是不能,有什么方法能够在客户端禁用cookie时,session仍然有效。
若是客户端禁用cookie,那么意味着服务器发送给客户端的sessionId就不能从客户端,以cookie方式发送给服务器。服务器得不到sessionId,那么会认为是新用户,从而没法取出以前保存的信息。spa
解决方案是,对URL进行从新编写,将sessionId,附加在URL后面。这样即便客户端禁用cookie,服务器一样能够获得sessionId,取出session对象翻译
九、JSP引擎是什么?
JSP引擎的做用是:将jsp页面翻译成java类。orm
十、JSP为何是servlet?
按照Servlet规范,由jsp引擎所翻译的jsp类,必须实现HttpJspPage接口,而该接口是servlet的子接口,因此一样知足servlet规范。jsp的本质是servlet。只不过jsp重在数据展现,而servlet重在逻辑处理。
十一、描述JSP生命周期
十二、JSP的隐式对象有哪些?
1三、JSP脚本元素有哪些?
声明<%! %>
脚本<% %>
表达式<%= %>
1四、JSP注释有哪些?
jsp注释<%-- --%>
html注释<!-- --%>不能注释java代码
java注释// /**/
1五、JSP动做包含和指令包含的区别是什么
1六、完成商品评论系统。
1.自定义标签
<?xml version="1.0" encoding="utf-8"?>
<taglib>
<tlib-version>1.2</tlib-version><!-- 标签库版本 -->
<jsp-version>1.2</jsp-version><!-- jsp版本 -->
<tag><!-- 注册标签 --> <name>tt</name><!-- 标签名称 --> <tag-class>com.project.tag.MyTag</tag-class><!-- 标签类全路径 --> </tag></taglib>