在Java中,动态Web资源开发技术统称为Java Web,而动态web资源开发技术有JSP/Servlet、ASP、PHP等。Java Web系统的知识和涉及到的技术有很多,这些技术都是Java Web面试题中的常客,下面为小伙伴们带来Java Web面试题中比较经典的10道面试题。
web 容器加载 servlet,生命周期开始。通过调用 servlet 的 init()方法进行 servlet 的初始化。通过调用 service()方法实现,根据请求的不同调用不同的 do***()方法。结束服务,web 容器调用 servlet 的 destroy()方法。
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用 forward()方法,并且,这样也有助于隐藏实际的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用
sendRedirect()方法。
request 用户端请求,此请求会包含来自 GET/POST 请求的参数
response 网页传回用户端的回应
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application servlet 正在执行的内容
out 用来传送回应的输出
config servlet 的构架部件
page JSP 网页本身
exception 针对错误网页,未捕捉的例外
JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。
JSP 编译后是"类 servlet"。Servlet 和 JSP 最主要的不同点在于,Servlet 的应用逻辑是 在 Java 文件中,并且完全从表示层中的 HTML 里分离开来。而 JSP 的情况是 Java 和HTML 可以组合成一个扩展名为.jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。
MVC 是 Model-View-Controller 的简写。Model 代表的是应用的业务逻辑(通过JavaBean,EJB 组件实现), View 是应用的表示面(由 JSP 页面产生),Controller 是提供应用的处理过程控制(一般是一个 Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
MVC 是 Model-View-Controller 的简写。Model 代表的是应用的业务逻辑(通过JavaBean,EJB 组件实现), View 是应用的表示面(由 JSP 页面产生),Controller 是提供应用的处理过程控制(一般是一个 Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
答:去掉对 web.xml 的监视,把 jsp 提前编辑成 Servlet。
有富余物理内存的情况,加大 tomcat 使用的 jvm 的内存
答:
public class ServletName extends HttpServlet
{
//初始化方法
public void init()
{
……
}
//GET请求处理的方法
public void doGet(HttpServletRequest request,HttpServletResponse response)
{
……
}
//POST请求处理的方法
public void doPost(HttpServletRequest request,HttpServletResponse response)
{
……
}
//结束服务的方法
public void destroy()
{
……
}
}
答:a、cookie数据保存在客户端,session数据保存在服务端。
b、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,相当重要的数据,应该使用session保存到服务端。
c、session会在一定时间内保持在服务器上,但是会占用内存资源,当访问的用户过多,会加重服务器的负载,考虑到减轻服务器的压力,可以将不重要的数据放在cookie中持久的保存。
d、单个cookie保存的数据不能超过4k,很多浏览器都限制站点最多保存20个cookie。
答:1)page是代表一个页面相关的对象和属性。一个页面由一个编译好的java servlet类(可以带有include指令,但不可以带有include动作)表示。这既包括servlet又包括编译成servlet的jsp页面。
2)request是代表与web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个web组件(由于forware指令和include动作的关系)
3)session是代表与用于某个web客户机的一个用户体验相关的对象和属性。一个web回话也可以经常跨域多个客户机请求。
4)application是代表与整个web应用程序相关的对象和属性。这实质上是跨域整个web应用程序,包括多个页面、请求和回话的一个全局作用域。
以上就是为大家带来的10道经典的Java Web面试题,希望能够为求职的小伙伴略尽绵薄之力。当然,这些只是出现频率比较高的面试题,想要稳拿offer还是要付出相应的努力的,动力节点在线的Java面试题库里面有海量高质量Java面试题,小伙伴们可以随时去刷题检验自己的Java水平哦。
代码小兵49806-11 15:28
代码小兵49806-11 15:51
代码小兵49806-11 16:22
代码小兵51603-29 17:28
暴风城-小飞04-06 20:49