专栏首页墨白的Java基地JavaWeb相关面试题!

JavaWeb相关面试题!

  • 简述Servlet和JSP的关系

答∶JSP是以另外一种方式实现的Servlet,Servlet是JSP的早期版本,在JSP中,更加注重页面的表现,而在Servlet中则更注重业务逻辑的实现。

因此,当编写的页面显示效果比较复杂时,首选是JSP。或者在开发过程中,HTML代码经常发生变化,而Java代码则相对比较固定时,可以选择JSP。而我们在处理业务逻辑时,首选则是Servlet。 同时,JSP只能处理浏览器的请求,而Servlet则可以处理一个客户端的应用程序请求。因此,Servlet加强了Web服务器的功能。

  • 简述Servlet的生命周期。(企业笔试题)

答∶Servlet运行机制和Applet类似,Servlet是载服务器端运行的,但是Applet是在客户端运行的。Servlet是javax.servlet包中HttpServlet类的子类,由服务器完成该子类的创建和初始化。

Servlet的生命周期主要由3个过程组成。

1、init()方法:服务器初始化Servlet。

2、service()方法:初始化完毕,Servlet对象调用该方法相应客户的请求。

3、destroy()方法:调用该方法消灭Servlet对象。

其中,init()方法只在Servlet第一次被请求加载的时候被调用一次,当有客户再请求Servlet服务时,Web服务器将启动一个新的线程,在该线程中,调用service方法相应客户的请求。

  • jsp有哪些内置对象?作用分别是什么?

答∶JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):

request

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

response

网页传回用户端的回应

pageContext

网页的属性是在这里管理

application servlet

正在执行的内容

config servlet

构架部件

session

与请求有关的会话期

out

用来传送回应的输出

page JSP

网页本身

exception

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

  • jsp有哪些动作?作用分别是什么?

答∶JSP共有以下6种基本动作

jsp:include

在页面被请求的时候引入一个文件。

jsp:useBean

寻找或者实例化一个JavaBean。

jsp:setProperty

设置JavaBean的属性。

jsp:getProperty

输出某个JavaBean的属性。

jsp:forward

把请求转到一个新的页面。

jsp:plugin

根据浏览器类型为Java插件生成OBJECT或EMBED标记

  • MVC的各个部分都有那些技术来实现?如何实现?

答∶MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑

(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),

"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

  • 转发和重定向的区别

答∶

forward方式:request.getRequestDispatcher("/somePage.jsp").forwardrequest, response);

redirect方式:response.sendRedirect("/somePage.jsp");forward是服务器内部重定向, 程序收到请求后重新定向到另一个程序,客户机并不知道;redirect则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,这里多了两次网络通信的来往。当然forward也有缺点,就是forward的页面的路径如果是相对路径就会有些问题了。

forward 会将 request state , bean 等等信息带往下一个 jspredirect 是送到 client 端后再一次 request ,所以资料不被保留.使用 forward 你就可以用 getAttribute() 来取的前一个 jsp 所放入的 bean 等等资料

  • 使用HTTP协议将客户端的请求传送到服务器端有哪两种方式?请简述它们的区别

答∶1) get是从服务器上获取数据,post是向服务器传送数据。

2) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。

3) 对于get方式,服务器端用request.getQueryString()可以获取GET请求参数的变量值,对于post方式,服务器端用request.getParameter获取提交的数据。

4) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。

5) 安全性问题。正如在(1)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。

  • jsp主要内置对象有?

答∶

request

response

out

exception

session

application

config

pageContext

page

  • 请简述Cookie, Session 和Application它们的区别

答∶1) Cookie会在客户端硬盘上创建Cookie文件

2) Session大部分情况下会在服务器端硬盘上写入Cookie文件

3) Cookie安全性最低

4) Application 表示Servlet上下文环境,在整个WEB应用中只有一个Application对象,用于存储些全局性的数据

  • 三个Statment区别,用法

答∶Statment,基本的;PreparedStatement是可编译的,提高效率,callablestatment,存储过程

  • 什么是mvc模式?

答∶是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

模型

model

视图

view

控制器

controller

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

本文分享自微信公众号 - 框架师(mohu121),作者:MoBai白

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何利用码云搭建一个自己的图床?

    最近因为在开发自己的小博客,遇到了一个问题,我在博客发文章的时候图片老是上传不上去,就想着做一个自己的图床,网上找了找教程,发现推荐码云和Coding比...

    框架师
  • Java高级开发必会的50个性能优化的细节(珍藏版)

    在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。

    框架师
  • Tomcat到底能承受多少并发,并发量计算方法

    一、经典公式1: 一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据

    框架师
  • Python中的基础定义

    Python中的文档字符串:可以当作一种特殊的注释,简单的说明可以使用单引号或双引号,较长的文字说明可以使用三引号

    py3study
  • 深入理解计算机系统(3.1)---走进汇编的世界

      本系列拖了蛮久了,主要是因为LZ写的时候其实刚看到第二章,因此这一段时间快速看了下第三章,并花了点时间沉淀了一下,这才耽误了下来。

    YGingko
  • 深入理解计算机系统(3.1)---走进汇编的世界

    本文转载地址:http://www.cnblogs.com/zuoxiaolong/p/computer13.html

    YGingko
  • 深入理解计算机系统(3.1)---走进汇编的世界

      本系列拖了蛮久了,主要是因为LZ写的时候其实刚看到第二章,因此这一段时间快速看了下第三章,并花了点时间沉淀了一下,这才耽误了下来。

    YGingko
  • Python 基础知识学习

          Python中默认的编码格式是 ASCII 格式在没修改编码格式时无法正确打印汉字所以在读取中文           时会报错解决方法为只要在文件开...

    py3study
  • 如果面试官再问你消息队列,就把这篇甩给他!

    A 系统产生了一个比较关键的数据,很多系统需要 A 系统将数据发过来,强耦合(B,C,D,E 系统可能参数不一样、一会需要一会不需要数据,A 系统要不断修改代码...

    黄泽杰
  • 某疑似针对中东地区的APT攻击事件分析

    在疑似APT攻击事件的跟踪过程中,遇到过很多难题。多数情况是,这次,它不是你的显在对手,我们不会获得足够多的线索,却偏偏想要满足好奇的欲望,经典的人生三问,用来...

    FB客服

扫码关注云+社区

领取腾讯云代金券