-
Servlet生命周期
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
init(),service(),doget(),dopost(),destroy()
init service doget dopost destroy
2. 请求提交的方法,Get和Post区别。
在页面提交数据时,get数据大小受限制,post没有限制。
get请求提交的数据会在地址栏显示,post不会。
get不安全,post安全。 -
请求转发和请求重定向的区别。
重定向是客户端行为,转发是服务器行为。
重定向时服务器产生两次请求,转发产生一次请求。
重定向可以转发到项目以外的任何网址,转发只能在当前项目里转发。
请求转发:地址不变,可以传数据
重定向:地址改变,不传数据 -
描述一下Session的工作原理。
session工作原理:
服务器在创建会话对象时,会为其分配一个SessionId,以“JSESSIONID”的属性名保存在客户端Cookie中,在用户随后的请求中,服务器通过读取Cookie中的JSESSIONID属性值来识别不同的用户,从而实现对每个用户的会话跟踪。 -
Cookie和Session的区别。
Cookie:主要用在保存客户端,其值在客户端与服务端之间传送,不安全,存储的数据量有限。
Session:保存在服务器端,每一个session在服务器端有一个sessionID作一个标识,存储的数据量大,安全性高,但占用服务端的内存资源。 -
request.getParameter和request.getAttribute的区别。
有setAttribute,没有setParameter方法。
getParameter获取到的值只能是字符串,不可以是对象,而getAttribute获取到的值是Object类型的。
通过form表单或者URL来向另一个页面或者Servlet传递参数的时候需要用getParameter来获取值;getAttribute只能获取setAttribute的值。 -
JSP生命周期
编译,初始化,执行,销毁 -
列举出几个JSP的内置对象,及他们的作用。
request:请求对象,提供客户端HTTP请求数据的访问
response:响应对象,用来向客户端输出响应。
out:输出对象,提供对输出流的访问
session:会话对象,用来保存服务器与每个用户端会话过程中的信息
application:应用程序对象,用来保存整个应用环境的信息
pageContext:页面上下文对象,用于存储当前JSP页面的相关信息
config:页面配置对象,JSP页面的配置信息对象
page:当前JSP页面对象,即this
exception:异常对象,用于处理JSP页面中的错误 -
JSP的指令有哪些?
page,include,taglib -
描述JSP的动态引入,和静态引入区别。
动态引入:在运行时调用另一个页面,变量可以重复。
静态引入:转译时合在一起,成为同一个类,变量不可以重复。
11.编写一个过滤器,解决请求和响应的乱码问题。
package com.neuedu.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter("/*")
public class Filter2_Encoding implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
}
}
- 描述MVC架构,MVC分别代表什么。每层的职责是什么?
MVC是Model-View-Controller的简写。
Model代表的是应用的业务逻辑;
View是应用的表示面;
Controller是提供应用的处理过程控制,通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。 - 编写一个Servlet, 登录功能,接收前台username, password两个参数,如果用户名和密码都等于admin, 请求转发到main.jsp, 否则,请求重定向回login.jsp.
网友评论