Java web 部份
1 、Tomcat 的优化经验
答:去掉对 l 的监视,把jsp 提前编辑成 Servlet。
有富余物理内存的情况,加大 tomcat 使用的jvm 的内存
2 、HTTP 请求的 GET 与 POST 方式的区别
答:servlet 有良好的生存期的定义, 包括加载和实例化、 初始化、 处理请求以
及服务结束。这个生存期由javax.servlet.Servlet 接口的 init,service 和 destroy 方法 表达。
3、解释一下什么是 servlet;
答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求
以及服务结束。这个生存期由javax.servlet.Servlet 接口的 init,service 和 destroy 方法表达。
4、说一说 Servlet 的生命周期?
答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以
及服务结束。这个生存期由javax.servlet.Servlet 接口的 init,service 和 destroy 方法 表达。
Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法, service 方法自动派遣运行与请求对应的 doXXX 方法(doGet ,doPost) 等,当服务器决定将实例销毁的时候调用其 destroy 方法。
web 容器加载 servlet,生命周期开始。通过调用 servlet 的 init()方法进行 servlet 的初始化。通过调用 service()方法实现,根据请求的不同调用不同的 do***()方 法。结束服务, web 容器调用 servlet 的 destroy()方法。
5 、Servlet 的基本架构
public class ServletName extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
6 、SERVLET API 中 javabean是干什么的forward() 与 redirect()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转
向后的地址; 后者则是彻底的跳转, 浏览器将会得到跳转的地址, 并重新发送请 求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更 加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于 隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源, 则必须使用 sendRedirect()方法。
7、什么情况下调用 doGet()和 doPost()?
Jsp 页面中的 FORM 标签里的 method 属性为 get 时调用 doGet(),为 post 时调用 doPost()。
8 、Request 对象的主要方法:
setAttribute(String name,Object):设置名字为 name 的 request 的参数值 getAttribute(String name):返回由 name 指定的属性值
getAttributeNames():返回 request 对象所有属性的名字集合,结果是一个枚举的 实例
getCookies():返回客户端的所有 Cookie 对象,结果是一个 Cookie 数组
getCharacterEncoding():返回请求中的字符编码方式
getContentLength():返回请求的 Body 的长度
getHeader(String name):获得 HTTP 协议定义的文件头信息
getHeaders(String name):返回指定名字的 request Header 的所有值,结果是一个 枚举的实例
getHeaderNames():返回所以 request Header 的名字,结果是一个枚举的实例
getInputStream():返回请求的输入流,用于获得请求中的数据
getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有 name 指定的参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一 个枚举的实例
getParametervalues(String name):获得有 name 指定的参数的所有值
getProtocol():获取客户端向服务器端传送数据所依据的协议名称
getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址
getRemoteAddr():获取客户端的 IP 地址
getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关 Session
getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性
9 、forward 和 redirect 的区别
forward 是服务器请求资源, 服务器直接访问目标地址的 URL,把那个 URL 的响应内容读取过来, 然后把这些内容再发给浏览器, 浏览器根本不知道服务器 发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect 就是服 务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,普通来说浏览 器会用刚才请求的所有参数重新请求,所以 session,request 参数都可以获取。
10 、Attribute() 和 Parameter() 有何
区别?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论