JavaWeb基础知识面试整理
1、JSP和Servlet有什么区别?
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。
Sertvlet和JSP最主要的不同点在于,servlet的应用逻辑是在Java文件中,并且完全从表示层中的
html
里分离开来,而JSP
的情况是Java
和HTml
可以组成一个扩展名为JSP
的文件。
JSP
侧重于视图,Servlet
主要用于逻辑控制。
2、JSP有哪些内置对象?作用分别是什么?
JSP有9大内置对象:
request:
封装客户端的请求,其中包含来自get
或post
请求的参数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的区别?
5、说一下Sessio的工作原理?
6、如果客户端禁止Cookie能实现seesion吗?
可以用,session只是依赖cookie存储
sessionid
,如果cookie
被禁用了,可以使用url
中添加sessionid
的方式保证session能正常使用
7、Spring MVC和structs的区别是什么?
8、如何避免SQL注入?
- 使用预处理PreparedStatement
- 使用正则表达式过滤掉字符中的特殊字符