Servlet/JSP面试题目-----近期总结
最近在面试的时候,发现有一些关于Servlet/JSP的问题,记忆有点模糊,所以做一点这方面的总结如下:
1、 Servlet和GCI的区别?
答:Servlet是基于Java编写的,处于服务器进程中,它能够通过多线程方式运行service()方法,一个实例可以服务于多个请求,而且一般不会销毁;而CGI对每个请求都生产新的进程,服务完成后销毁,所以从效率上低于Servlet。
2、 牢记Servlet的生命周期?
答:Servlet的生命周期从Web加载Servlet开始,通过调用Servlet的init()方法进行Servlet的初始化,通过调用service()方法处理请求,,根据不同的请求调用不同的方法。服务结束,Web容器调用Servlet的destroy()方法。
3、 JSP是Servlet技术的扩展,更加强调表现层的处理。Servlet和JSP最主要的不同点在于,答:服务器端有一个JSP容器,主要处理JSP页面请求,容器首先把JSP转成一Servlet,所有的JSP元素都会被转换为Java代码,然后编译这个Servlet类。JSP侧重于视图,Servlet主要用于控制业务逻辑。
4、 JSP有那些内置对象?作用分别是什么?
·HttpServletRequest类的request对象:代表请求对象,主要用于接收客户端通过HTTP协议连接传输到服务端的数据
·HttpServletResponse类的response对象:代表响应对象,主要用于向客户端回应发送数据。
·ServletContext类的application对象:主要用于保存所有应用系统中的共有数据,它是一个共享的内置对象,即是一个容器中的多个用户共享一个application对象,只要没有关闭服务器,application一直存在。
·HttpSessoin类的session对象:主要用来区分每个用户信息和会话状态。
·Pagecontext类的pageContext对象:主要用来管理页面属性,代表了一个页面的上下文,pageContext对象的创建和初始化都是有容器自动完成的。
·Object类的page对象:代表正在运行的JSP页面,也就是说page对象代表了JSP被编译后的Servlet。page对象只能用在当前的JSP范围之内。
·ServletConfig类的config对象:代码片段配置对象,用于初始化Servlet的配置参数。
·JspWriter类的out对象:主要用于向客户端输出数据。
·exception对象:处理JSP文件执行时发生的错误和异常,只要在错误页面里才能使用。
5、 说出JSP的6个动作指令和作用?
·jsp:include:在页面被请求的时候引入一个静态或动态的文件。
·jsp:useBean:寻求或者实例化一个JavaBean。
·jsp:setProperty:设置JavaBean的属性。
·jsp:getProperty:获取某个JavaBean的属性。
·jsp:forward:把请求转到一个新的页面(html文件、jsp文件或者一个程序段)。
·jsp:plugin:根据浏览器类型为Java插件生成object或embed标记。
6、 JSP的3种跳转方式
·response.sendRedirct()方法:重新发送请求。
·response.setHeader()方法:与response.sendRedirect()方法。
·<jsp:forward page=”跳转的页面”/>:是服务器端的跳转。