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