1、servlet的生命周期:
a、实例化
b、初始化
c、处理请求服务
d、对象销毁
简述:servlet在首次访问时会实例化一个servlet对象,然后调用init()方法初始化对象,继而servlet可以处理接下来的请求服务,当web项目被移除或服务器关闭时,会调用derstory(),servlet对象被销毁
2、 HttpServletRequest的常用方法:
a、getMethod()
b、getContextPath()
c、getRequestURL()
d、getRequsetURI()
e、getQueryString()
3、过滤器的实现主要依靠哪几个核心接口?阐述什么是过滤器链?
a、Filter
b、FilterConfig
c、FilterChain
过滤器链:服务器会按web.xml中过滤器定义的先后顺序组装成一条链
4、HTTP请求结构和请求行的组成部分:
请求结构:请求行、请求头部、空行、请求数据
请求行:请求方法(GET,POST),URL字段,HTTP版本字段
5、HTTP响应结构和状态行的组成部分:
响应结构:状态行、消息报头、响应正文
状态行:http版本+状态码+状态代码的文本描述
6、常见的response的响应类型及其客户端分别对应类型的展现形式:
a、text/plain:纯文本
b、text/html:HTML文档
c、text/xml:XML文档
d、text/css:CSS文件
e、text/mp3:MP3音频
7、Tomcat的常用目录结构及其作用
bin:启动和关闭应用服务器的bat批处理命令
conf:支持配置Tomcat的文件
server.xml:是指端口号、设置域名或IP、默认加载的项目、请求编码
web.xml:设置Tomcat支持的文件类型
context.xml:用来配置数据源
tomcat-users.xml:配置管理Tomcat的用户与权限
lib:存放jar包
temp:Tomcat运行过程中产生的临时文件
webapps:存放项目,以文件或jar包的形式
work:存放Tomcat运行时的编译后文件
8、HTTP协议(简略描述):
HTTP协议又称超文本传输协议,基于TCP/IP通信协议传输数据,默认端口为80
HTTP报文分为请求报文和响应报文,请求报文包括请求行、请求头部、空行、请求数据,
响应报文包括状态行、消息报头、响应正文。
请求行:请求方法(GET,POST),URL字段,HTTP版本字段
状态行:http版本+状态码+状态代码的文本描述
9、常用的会话跟踪技术
a、URL重写:URL 可以在后面附加参数,和服务器的请求一起发送,这些参数为名字/值对
b、隐藏表单域:<input type="hidden">
c、cookie:通过在客户端记录信息确定用户身份,可以在客户端保存临时数据
d、session:setAttribute(String name,Object object)
10、Servlet中能实现跳转的基本方法
a、response.sendRedirect("login.jsp")
b、request.getRequestDispatcher("login.jsp").forward(request, response);
c、response.setHeader("refresh","30;URL="login.jsp"");
d、window.location.href = "login.jsp"
11、http请求的结果:
400-Bad Request:请求出现语法错误
401-Unauthorized访问被拒绝,客户试图未经授权访问受密码保护的页面
404:请求资源未找到
401.1-登录失败
500:服务器遇到了意料不到的情况,不能完成客户的请求
500.13:Web服务器繁忙
12、Cookie 进行会话跟踪的过程
a、请求开始
b、使用cookie保存数据:new Cookie(String name,Object object)
c、响应携带cookie数据:response.addCookie(cookie)
d、服务器使用响应头传递cookie数据:
e、浏览器自动保存cookie
f、浏览器自动携带cookie数据
g、获得请求中携带的cookie数据:request.getCookies()
13、MVC模式
业务模型(Model):负责存储系统的中心数据。
用户界面(View):将信息显示给用户(可以定义多个视图)。
控制器(Controller):处理用户输入的信息。负责从视图读取数据,控制用户输入,并向模型发送数据,是应用程序中处理用户交互的部分。负责管理与用户交互交互控制。
定义:MVC是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。
目的:在于将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式
14、 从表单中获得参数常用方法
a、request.getParamter(String name)
b、request.getParameterNames()
c、document.getElementById(String id).value
15、session对象的使用
HttpSession hs = requset.getSession(true)
存储传递数据:hs.setAttribute(String name,Object object)
取出传递数据:hs.getAttribute(String name)
移除session中指定的对象:hs.removeAttribute(String name)
销毁session:hs.invalidate()
16、Servlet上下文监听器
a、ServletContextListener:用于监听ServletContext对象的创建和销毁
b、ServletContextAttributeListener:用于监听ServletContext对象中属性的增加、修改和删除
17、JavaBean的规范,即满足什么要求的Java类可以称为JavaBean。
a、JavaBean类不应有公众属性,属性都应该是private
b、必须保证有公正无参数构造器
c、为私有属性提供符合命名规范的get/set方法
d、应该要实现serizlizeable接口
e、JavaBean类必须是一个公共类,将其访问属性设置为public