第一章
Servlet
使用入门
1. HTTP Servlet的基础知识:HttpServlet作为一个抽象类用来创建用户自己的HTTP Servle,扩展了GenericServlet类,HttpServlet类的子类必须至少重写两个方法的一个:doGet()和doPost()。
Ø Servlet格式:
public class ClassName extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
}
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
实例化
|
}
初始化
|
Ø Servlet生命周期:
1) 实例化:Servlet容器创建Servlet类的实例对象。
2)
服务
|
I nit()方法
3)
破坏
|
4) 破坏:在释放Servlet实例之前调用,通常会释放资源。destory()
5) 不可用:释放内存中的实例。
不可用
|
2. HttpServletRequest接口:
Ø 取中文参数:request.setCharacterEncoding(“GBK”)
Ø 取请求参数:String str=request.getParameter(“”);
String[] arr=request.getParameterValues(“”)
Ø 返回会话对象:HttpSession session=request.getSession(true/false);
Ø 绑定键值对:request.setAttribute(“attrName”,attrValueObject);
Ø 取绑定对象:Object obj=request.getAttribute(“attrName”);
Ø 内部跳转:request.getRequestDispatcher(“/url”).forward(request,response);
Ø 取得所有的Cookie:Cookies[] arr=request.getCookies();
3. HttpServletResponse接口:
Ø 设置中文参数:response.setContentType(“text/html;charset=GBK”);
Ø 获得响应体输出值:PrintWriter out=response.getWriter();
Ø 外部重定向:response.sendRedirect(“url”);
Ø URL重写把sessionID编写到url中:response.encodeURL(“url”);
Ø 在响应头中加入cookie: response.addCookie(cookie)
Ø 设置响应标头:response.setHead(“refalsh”,2)
Ø 两秒后刷新到url:
4. HttpSession接口:
Ø 绑定键值对:session.setAttrbute(“attrName”,attrValue);
Ø 主动无效:session.invalidate();
5. ServletContext接口:
Ø 绑定键值对:context.setAttrbute(“attrName”,attrValue);
Ø 获得文件在磁盘上的绝对位置:
String filepath=context.getRealPath(“/WEB-INF/password.txt”)
第二章
JSP
1. JSP页面构成:
l 静态网页:HTML内容
l 指令:<%@
%> 有三种:page指令,clude指令,taglib指令
如:<%page import=”” %>,<%@include file=”文件名” %>
l 表达式:<%=
%> 里面不能有符号,如”;”
l Sciptlet:JAVA代码 <%
%>
l 声明:<%!
%>
l 动作:<jsp:useBean /> 有六种
l 注释:有两种:1。<!--
-- > 和<%--
--%>
2. 隐式对象:JSP隐式对象是WEB容器加载的一组类的实例,它不象一般的Java对象那样用“new”去获取实例,而是可以直接在JSP页面使用的对象。JSP提供的隐式对象分为4个主要类别,如图:
隐式对象
|
输入输出对象
|
作用域通信对象
|
Servlet对象
|
错误对象
|
request
|
response
|
out
|
session
|
application
|
pageContext
|
page
|
config
|
exception
|
3. JSP标准动作简介:
l <jsp:useBean id=”” class=”” scope=”” />其中:
id 专用于创建Bean的引用名。
class 指定的Bean的类。Scope指定Bean的范围,默认情况是page
l <jsp:setProperty name=”” property=”” value=”” param=””/>其中:
Name指定useBean中使用的Bean的ID。
Property指定要为之设置值的Bean的属性名称。
Value指定要为属性设置的显式值
Param指定用于输入并给属性赋值的HTML标签
l <jsp:getProperty name=”” property=””/>
Name指定useBean中使用的Bean的ID。
Property指定要为之设置值的Bean的属性名称。
l <jsp:forward page=”url”/>
l <jsp:include page=”” flush=”true”/>,其中:
Page指定要嵌入当前页面的网址。
Flush属性用于在嵌入其他响应前清空存储在缓冲区中的数据。
<jsp:param>元素可与include动作同时使用。如:
<jsp:include page=”url” flush=”true”> <jsp:param name=”paramName” value=”paramValue”/>
</jsp:include>
4. JSP标准标签库,有四种。主要是核心标签库,如下是核心标签库的内容:
l
实例化
|
l 循环标签:两个
l 国际化和格式化标签库
5.
初始化
|
l 生命周期
过滤器必须实现javax.servlet.Filter接口以导入Filer接口中的所有方法
过滤
|
1. 实例化:
2. 初始化:调用init()方法完成过滤器的初始化。
3.
销毁
|
4. 销毁:调用过滤器的destroy()方法,完成必要的清除和释放资源。
l 过滤器定义和过滤器映射:使用过滤器之前,需要在web.xml文件中定义过滤
器及其映射。格式:
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>ClassName</filter-class>
<init-param>
可有可无
|
<param-value>参数值</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>MyFilter</fiter-name>
<url-pattern>/*</url-pattern>
<filter-mapping>
其中:<filter-name>指定过滤器的名称
<filter-class>指定类的名称。
<param-name>指定参数的名称
<param-value>指定参数的值
<url-pattern>指定Servlet、JSP页面或HTML页面的URL。要将过滤器应用Web应用程 序中的每个资源,请在<url-pattern>元素中使用/*
l 过滤器的格式:
public class FilterName extends HttpServlet implements Filter{
public void init(FilterConfig filterConfig) throws ServletException
{}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain filterChain)
{}
public void destroy(){}
}