Java web部分-面试题

Posted huoyuer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java web部分-面试题相关的知识,希望对你有一定的参考价值。

1、Tomcat的优化经验

答:去掉对web.xml的监视,把jsp提前编辑成Servlet。

有富余物理内存的情况,加大tomcat使用的jvm的内存

 

2、Servlet的生命周期

答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost   Jsp页面中的FORM标签里的method属性为get时调用doGet(),为post时调用doPost())等,当服务器决定将实例销毁的时候调用其destroy方法。

web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法

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 { 

    } 
} 

3.重定向与转发的区别

1、 forward是服务器端的转向也就是请求转发而redirect是客户端的跳转也就是重定向

2、 使用forward浏览器的地址不会发生改变。而redirect会发生改变。

3、 forward是一次请求中完成。而redirect是重新发起请求。

4、 forward是在服务器端完成,而不用客户端重新发起请求,效率较高。

 

 

1、请求转发的特点:
1》只请求一次,而且属于内部跳转
2》地址栏不会发生变化
3》不允许访问外部资源
4》绝对路径的/代表的是根目录之后
5》效率偏高
请求转发的语法:

request.getRequestDispacher(地址).forward(请求对象,响应对象)

 

2、重定向的特点:
1》整个过程发出两次请求
2》地址栏会发生变化,并跳转到最新的页面,地址栏也是最新页面的地址
3》允许访问外部资源,因为服务器已经响应回了浏览器,而且浏览器也发出了新的请求,由于HTTP是无状态的所以两次请求没有联系,第二次请求可以随意去任何网页
4》绝对路径的/代表的是端口号之后
5》效率偏低,因为有两次请求,相对来说效率低
重定向语法:
response.sendRedirect(地址)

 

4、jsp九大内置对象

request 用户端请求,此请求会包含来自GET/POST请求的参数

response 网页传回用户端的回应

pageContext 网页的属性是在这里管理

session 与请求有关的会话期

application servlet 正在执行的内容

out 用来传送回应的输出

config servlet的构架部件

page JSP网页本身

exception 针对错误网页,未捕捉的例外

 

request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。

response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)

out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。

 session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息

 applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息

 config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。

 page表示从该页面产生的一个servlet实例

 

5、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的html里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

 

以上是关于Java web部分-面试题的主要内容,如果未能解决你的问题,请参考以下文章

java面试题全集(中)--Java Web和Web Service相关面试题

面试做java的要问些啥问题

Java工程师面试题,二级java刷题软件

小猿圈web前端面试题汇总

Java进阶之光!2021必看-Java高级面试题总结

Java面试题 Web