selvert 小解
什么是Servlet?答:可以从两个方面去看Servlet:Servlet的生命周期,并说出Servlet和CGI的区别?答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.servlet接口中的init、service、destroy方法表达。web容器加载servlet,生命周期开始。通过调用serv
什么是Servlet?
答:可以从两个方面去看Servlet:
Servlet的生命周期,并说出Servlet和CGI的区别?
答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及
服务结束。
这个生存期由javax.servlet.servlet接口中的init、service、destroy方法表达。
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet
的初始化。通过调用service()方法实现
根据请求的不同调用不同的do**()方法。结束服务,web容器调用servlet的
destroy()方法。区别:
Servlet处于服务器进程中,它通过多线程运行service()方法,一个实例可以服
务于多个请求,并且实例一般不会被销毁;而CGI对每个请求都产生一个新的进Servlet API中forware()和redirect()的区别?
答:
a、浏览器显示
重定向会改变URL地址,请求转发不会改变URL地址。
b、资源共享
重定向不可以资源共享,请求转发可以。
c、功能
重定向可以用URL绝对路径访问其他Web服务器的资源,而请求转发只能在一个
Web应用程序内进行资源转发,即服务器内部的一种操作。
d、效率
重定向效率低,相当于再一次请求;请求转发效率相对较高,跳转仅发生在服务
器端。request.getParameter()和request.getAttribute()的区别?
答:
a、request.getParameter()获取的类型是String;
request.getAttribute()获取的类型是Objectb、request.getPrameter()获取的是POST/GET传递的参数值和URL中的参数;
request.getAttribute()获取的是对象容器中的数据值/对象c、request.setAttribute()和request.getAttribute()可以发送、接收对象;
request.getParamter()只能接收字符串,官方不开放request.setParamter()
(也就是没有这个方法)setAttribute()和getAttribute()的传参原理:
setAttribute()是应用服务器把这个对象放在该页面所对应的一块内存中去,当
你的页面服务器重定向到另外一个页面时,
应用服务器会把这块内存拷贝到另一个页面所对应的那块内存中。这个就可以通
过getAttribute()获取到相应的参数值或者对象。JSP有哪些内置对象?作用分别是什么?
答:JSP一共有9个内置对象:
request:负责得到客户端请求的信息,对应类型:
javax.servlet.http.HttpServletRequestresponse:负责向客户端发出响应,对应类型:
javax.servlet.http.HttpServletResponsesession:负责保存同一客户端一次会话过程中的一些信息,对应类型:
javax.servlet.http.httpsessionout:负责管理对客户端的输出,对应类型:javax.serlvet.jsp.jspwriter
application:表示整个应用环境的信息,对应类型:
javax.servlet.servletcontextconfig:表示ServletConfig,对应类型:javax.servlet.servletconfig
exception:表示页面中发生的异常,可以通过它获得页面异常信息,对应类型:
java.lang.exceptionpagecontext:表示这个JSP页面上下文,对应类型:
javax.servlet.jsp.pagecontextpage:表示当前JSP页面本身。
更多推荐
所有评论(0)