Java Web 知识点总结(一)(2012-03-10 18:57:59)转载▼标签: 服务器端sql语言客户端浏览器mysql数据库it 分类: java
1、JavaEE的四层体系结构是什么?
客户端层 web层(表现层) 业务逻辑层 数据层
web层 请求、响应 ---- Servlet/JSP Struts
业务层 负责业务逻辑,EJB繁重 ---- 普通java类 --- spring
数据层 JDBC接口 ---- DAO模式 ----- 连接池技术 ---- Hibernate
2、Servlet和CGI区别?
CGI 编写 动态页面技术 、平台相关,语言相关
跨平台、性能
3、Servlet的生命周期是什么?
init(ServletConfig) service(ServletRequest,ServletResponse) destroy()
4、编写Servlet的步骤有哪些?
继承HttpServlet 配置web.xml 覆盖doGet doPost
5、ServletConfig和ServletContext的区别?
ServletConfig 用来为每个Servlet提供初始化数据
ServletContext 一个web应用 只提供一个ServletContext对象,初始整个web应用使用数据,数据共享
6、Servlet体系结构是什么(Servlet接口和类的继承关系)?
Servlet接口 GenericServlet HttpServlet MyServlet
GenericServlet类实现servlet接口,
HttpServlet 类继承GenericServlet 类
7、html 页面中 如何进行get和post方式提交
get方式提交:form method="get" 不写method默认 get、、直接在浏览器地址栏输入url
post方式提交 form method="post"
8、url-pattern 三种方式
完全路径、目录方式路径、扩展名路径
/login /* .do
9、请求转发和重定向区别? ---------------难点
请求响应次数、地址栏变化、转发站点内部使用,重定向定向到任何外部站点
性能上:转发性能好
如果使用request 数据域存储数据 request.setAttribute --------- 转发
有些资源 没有登陆情况下 不允许访问 ----- 如果访问,重定向定向登陆页面!
10、Servlet中三种数据范围是哪些?什么区别?
setAttribute getAttribute
request、session、servletcontext
request --数据存在request对象中,生成新的请求时,原request存放的数据会丢失
session --存放每个用户自己会话过程中的数据
SelvletContext -- 每一个Web应用对应一个ServletContext
存放所有用户都可以访问的数据
11、Cookie和Session的区别?---------------------- 难点
Cookie 是一个客户端技术,将与用户相关数据保存浏览器缓存区中/硬盘上
Session 是一个服务器端技术,将用户相关数据保存在服务器端,别为每个会话提供一个唯一session id 用来标识,通过将sessionid 以cookie 方式回写给客户端,完成session追踪
Cookie 数据安全性不高,所以企业中大多使用session技术
12、Servlet里请求中文乱码问题的处理?
post方式:request.setCharacterEncoding
get方式:手动转码、配置tomcat默认字符集
13、如果isCommitted为true,下列操作哪个可以使用? include、fo