Web面试题

1、简述HttpSession的作用、使用方法,可用代码说明
HttpSession 中可以跟踪并存储用户信息,把值设置到属性中,有 2 个方法:setAttribute(),getAttrribute();
例如在一个方法中用 session.setAttribute(“student”,student);在session中设置一个属性名为 student,值为 student 的对对象。然后在同一个 session 范围内用 getAttribute(“student”) 取出该属性,得到 student 对象。·

2、Cookie 和 Session 的区别?
Cookie:存储在客户端,一般的话把用户不重要信息存储到 Cookie、不可靠,典型应用:3个月不用再登录
Session:存储在服务端,一般把用户的一些重要信息存储到 Session,相对来说比较安全、可靠,典型应用:用户登录(用户名,账号,手机号等等)

3、forward(转发) 和 redirect(重定向) 的区别?
forward 是服务器请求资源,服务器直接访问目标地址的 URL,把那个 URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的数据从哪来的,所以它的地址栏还是原来的地址(URL地址不会变),可以共享作用域的数据
redirect 是重定向,页面地址栏会变,数据不能共享(request,session等等)

4、jsp有哪些内置对象?作用分别是什么?分别有什么方法?
9个内置对象:
request(请求):表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie、header、和 session 数据的有用的方法
response(响应):表示HttpServletResoonse对象。并且提供了几个用于设置送回、浏览器的响应的方法(如 cookies,头信息等)、
session(会话):表示一个请求的 HttpSession 对象,Session 可以存贮(zhu)用户的状态信息
out(输出):表示 JspWriter 的一个实例,页面输出
pageContext:表示一个 PageContext 对象。网页的属性在这里管理、他是用于方便存取各种范围的名字空间、servlet 相关对象的 API,并且包装了通用的 servlet 相关功能的方法
page(页面):jsp网页本身、表示从该页面产生一个实例
config:表示一个 ServletConfig 对象。该对象用于存取 servlet 实例的初始化参数。
execption(错误):针对错误的页面,未捕获的例外
application(应用程序):正在执行的内容、表示一个 ServletContext 对象。这有助于查找有关 servlet 引擎和 servlet 环境的信息

5、JSP中如果使用JavaBeans?
在 jsp 中 JavaBean常用的动作有:
1)jsp:useBean/:用来创建和查找 bean 对象;
2)jsp:setProperty/:用来设置 bean 的属性,即调用 sexXxx()方法;
3)jsp:getProperty/:用来获得 bean 的属性,即调用 getXxx()方法;

6、JSP有哪些动作,作用分别是什么?
jsp:include:在页面被请求时引入一个外部文件
jsp:useBean:用于创建和查 bean 对象 在 page 属性中
jsp:setProperty:设置 JavaBean 的属性。
jsp:getProperty:获取某个 JavaBean 的属性。
jsp:forward:把请求转到一个新的页面,URL 不会变
jsp:plugin:根据浏览器类型为 Java 插件生成 Object 或 Embed 标记

7、JSP 的常用指令??
isErrorPage(是否能使用 Exception 对象),isELignored(是否忽略表达式)

8、JSP的四种范围?
page:page 是代表一个页面的对象和属性。
request:request 是代表与 Web 客户机发出的一个请求相关的对象和属性。
session:是代表与用于某个 Web 客户机的一个用户体验相关对象和属性。一个会话(session)可以也经常会跨越多个客户机请求
application:代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域。

9、两种跳转方式分别是什么?有什么区别?
其实说的就是forward 和 sendRedirect 的区别
不就是转发和重定向吗?
forward:转发<jsp:forward page = “index.jsp” 也可以 pageContext.forward() ;//转发url地址不会变,属于内部转发,可以共享作用域的数据。
sendRedirect:重定向 response.sendRedirect(URL地址);//整个页面跳转,不能共享作用域的数据,地址栏会变

10、页面间对象传递的方法?
就是说通过什么可以传递数据
request session application cookie 等

11、过滤器有哪些作用?
可以验证客户来自可信的网络,可以对客户提交的数据进行重新编码,可以从系统中获取配置信息,可以过滤掉客户的某些不应该出现的词汇,可以验证用户是否登录(用springMVC拦截器也能做),可以验证客户的浏览器是否支持当前的应用,可以记录系统的日志等等

12、过滤器的用法?(对客户端的请求同一编码和对客户端进行验证)
首先要实现(implements)Filter 接口,同时重写 Filter 接口中的三个方法:

  • init(FilterConfig config) //用于获得 FilterConfig 对象;
  • doFilter(ServletRequest request,ServletResponse response,FilterChain chain) //进行过滤处理一些业务;
  • destory() //销毁 Filter。

13、jsp和Servlet中的请求转发分别如何实现?
JSP中的请求转发可利用 forward 动作实现:jsp:forward/;
Servlet 中实现请求转发的方式为:req.getRequestDispatcher(path).forward(req,res);

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

  1. JSP 就是 Servlet 技术的扩展,就是Servlet(运行的时候会编译成 Servlet),而 Servlet 是服务端小程序,所以JSP 应该属于后端。
  2. 因为在 MVC 分层中,JSP 属于 View 层,现在 jsp 更多的作用变为数据的展示和页面的显示,渐渐不用于逻辑的处理,所以综合起来虽然是后端的技术,但是应用上更接近前端
  3. Servlet 与 jsp 不同点在于,Servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 HTML 里分离开来。而 JSP 的情况是 Java 和 HTML 可以组合成一个扩展名 .jsp 文件,JSP侧重于视图,Servlet主要用于控制逻辑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值