Servlet与过滤器

1.Servlet做了什么
本身不做业务处理,只是接受请求并决定电泳·调用哪个JavaBean去处理请求
确定用哪个页面来显示处理返回的数据

2.Servlet是什么
Servlet+Applet,服务器端的Java应用程序
只有服务器端的应用程序使用了Servlet API的时候,这个服务端的程序才能称为Servate

3.Servate API
1、javax.servlet.Servlet接口:基础接口,所有实现类的方法集
2、javax.servlet.GenericServlet:是Servlet的通用版本,与协议无关的Servlet

4.创建Servlet创建方式
创建类实现javax.servlet.Servlet接口
创建类继承javax.servlet.GenericServlet类
创建类继承javax.servlet.http.HttpServlet类

5.Servlet的主要方法
init():Servlet的初始化方法,仅执行一次
service()        处理请求和生成响应       
destroy()Servlet对象不再使用时调用,仅执行一次

6.ServletRequest
相当于JSP内置对象request

7.ServletResponse
相当response

8.ServletConfig
包含Servlet的初始化参数信息

9.Servlet生命周期

生命周期

谁来做

何时做

实例化

Servlet 容器

Servlet容器启动或者容器检测到客户端请求时

初始化

Servlet 容器

实例化后,容器调用Servletinit()初始化对象

处理请求

Servlet 容器

得到客户端请求并做出处理时

销毁

Servlet 容器

当程序中的Servlet对象不再使用的时候,
或者
Web服务器停止运行的时候

10.Servlet部署运行
修改web.xml(部署描述文件) 
添加<servlet>:把Servlet内部名映射到一个Servlet类名
添加<servlet-mapping>:把用户访问的URL映射到Servlet的内部名
<servlet-mapping>与<servlet>中的<servlet-name>必须一致
通过URL访问Servlet

11.
配置<servlet>元素
<servlet>
    <servlet-name>myServlet3</servlet-name>
    <servlet-class>demo.web.servlet.MyServlet3</servlet-class>
</servlet>
配置<servlet-mapping>元素
<servlet-mapping>
    <servlet-name>myServlet3</servlet-name>
    <url-pattern>/myServlet3</url-pattern>
</servlet-mapping>

12.初始化参数设置
配置<init-param>元素
<servlet>
    ……
<init-param>
<param-name>charSetContent</param-name>
<param-value>utf-8</param-value>
</init-param>  
</servlet>
public void init(ServletConfig config) throws ServletException {
    String initParam=config.getInitParameter("charSetContent");
    System.out.println(initParam);
}

13.MVC
14.过滤器
是向Web应用程序的请求和响应添加功能的Web服务组件
统一处理请求和响应

15.配置过滤器的初始化参数
配置<init-param>元素
<filter>
<init-param>
    <param-name>Encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
</filter>
读取过滤器的初始化参数
init(FilterConfig fConfig)  {
    String encoding=fConfig.getInitParameter("Encoding");
}

16.多个过滤器会形成过滤链

17.EL表达式
${EL表达式}
操作符‘.’        获取对象的属性
[]        获取对象的属性        ${news["title"]}
        获取集合中的对象,例如:${newsList[0]}

18.访问作用域
request.setAttribute("news", news);
两种方式取数据:
使用Java小脚本:request.getAttribute("news");
使用EL表达式:    ${ news } 或者 ${ requestScope.news }

作用域

Java代码取值

EL取值

请求作用域

request.getAttribute("news");

${ requestScope.news }

会话作用域

session.getAttribute("username");

${ sessionScope.username }

程序作用域

application.getAttribute("count");

${ applicationScope.count }

页面作用域

pageContext.getAttribute("userNum");

${ pageScope.userNum }

19.JSTL
 JSP标准标签库
实现JSP页面中的逻辑控制

20.JSTL使用步骤
下载jstl.jar和standard包
下载jstl.jar和standard.jar包
http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
将这两个包复制到WEB-INF\lib目录
在JSP页面中添加指令
 

21.JSTL标签分类

标签库名称

资源标示符(uri

前缀(prefix

核心标签库

http://java.sun.com/jsp/jstl/core

c

国际化/格式化标签库

http://java.sun.com/jsp/jstl/fmt

fmt

XML标签库

http://java.sun.com/jsp/jstl/xml

x

数据库标签库

http://java.sun.com/jsp/jstl/sql

sql

函数标签库

http://java.sun.com/jsp/jstl/functions

fn

 22.JSTL标签

标签名称

作用

<c:out />

输出文本内容到out对象,常用于显示特殊字符,显示默认值

<c:set/>

在作用域中设置变量或对象属性的值

<c:remove/>

在作用域中移除变量的值

<c:if/>

实现条件判断结构

<c:forEach/>

实现循环结构

<c:url/>

构造url地址

<c:param/>

url后附加参数

<c:import/>

在页面中嵌入另一个资源内容

<fmt:formatDate/>

格式化时间

<fmt:formatNumber/>

格式化数字

<c:out value="value" default="default" escapeXml="true|false" />

<c:set  var="name"  value= "value" scope="scope" />
<c:set value= "value" target="target" property="propertyName" />
<c:forEach var="varName" items="items" varStatus="varStatus">
     ……
</c:forEach>
<c:if test="condition" var="varName" scope="scope">
         ……
</c:if>
<c:url  value="url" />
<c:param name="name"  value="value"/>
<c:import url="URL" />
<fmt:formatDate  value="date"  pattern="yyyy-MM-dd HH:mm:ss"/>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值