JavaWeb基础知识面试整理

1、JSP和Servlet有什么区别?

JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。

Sertvlet和JSP最主要的不同点在于,servlet的应用逻辑是在Java文件中,并且完全从表示层中的html里分离开来,而JSP的情况是JavaHTml可以组成一个扩展名为JSP的文件。

JSP侧重于视图,Servlet主要用于逻辑控制。

2、JSP有哪些内置对象?作用分别是什么?

JSP有9大内置对象:

  • request: 封装客户端的请求,其中包含来自getpost请求的参数
  • response:封装服务器对客户端的响应
  • pageContext:通过该对象可以获取其他对象
  • session:用来封装用户会话的对象
  • application:封装服务器运行环境的对象
  • out:输出服务器响应的输出流对象
  • Config:Web应用的配置对象
  • page:JSP页面本身(相当于Java程序中的this)
  • ·expection:封装页面中抛出的异常对象

3、说一下JSP的4种作用域

  • page: 代表一个与页面相关的对象和属性
  • reequest:代表与客户端发出的一个请求相关的对象和属性;一个请求可能跨越多个页面,涉及多个Web组件;需要在页面显示的临时数据可以置于此作用域
  • Session:代表与某个用户与服务器建立的一次会话相关的对象和属性。跟某个用户相关的数据应该放在用户自己的session
  • application:代表与整个WEB应用程序相关的对象和属性,它是指上是跨越整个Web应用程序,包括对个页面、请求和会话的一个全局作用域、

4、session与Cookie的区别?

JavaWeb基础知识面试整理_第1张图片

5、说一下Sessio的工作原理?

JavaWeb基础知识面试整理_第2张图片

6、如果客户端禁止Cookie能实现seesion吗?

可以用,session只是依赖cookie存储sessionid,如果cookie被禁用了,可以使用url中添加sessionid的方式保证session能正常使用

7、Spring MVC和structs的区别是什么?

JavaWeb基础知识面试整理_第3张图片

8、如何避免SQL注入?

  • 使用预处理PreparedStatement
  • 使用正则表达式过滤掉字符中的特殊字符

9、什么是XSS攻击,如何避免?

JavaWeb基础知识面试整理_第4张图片

10、什么是CSRF攻击,如何避免?

JavaWeb基础知识面试整理_第5张图片

你可能感兴趣的:(面试)