servlet基础知识

一、SERVLET
1、servlet是用java开发的运行于服务端的小程序
2、servlet的生命周期:加载、初使化、服务和销毁
3、工作流程:
a:客户端发起请求
b:通过web.xml配置文件寻找到合适的servlet
c:如果是首次使用这个servlet,则将servlet加载到web容器中,如不是则直接运行servlet
d:将处理后的数据发往web服务器,而后返回到客户端。
4、servlet销毁的3个时机
一是长时间不使用时;二是关闭web服务器时;三是执行reload操作时
5、servlet常用的方法主要有三个:init(),service(),destory();其中service方法通常由doPost()和doGet()方法来替代,如果在servlet中复写了service方法,则servlet中的doPost()和doGet()方法无效;
6、servlet一般是在需要时进行加载,如果需要有容器启动时进行加载,则需要在web.xml文件中加入<load-on-startup>1<load-on-startup>
7、servlet是属于HTTP协议的,可以通过req.getsession()来获得session,可以通过getServletContext()方法得到Application的对象;
如:ServletContext app = req.getServletContext();
9、servlet过滤器
工作流程:
a:启动Web容器时,读取web.xml文件,根据Filter的url-pattern来确定对哪些请求进行过滤
b:Http发送请求,如果符合过滤条件,则进入到Filter中对数据进行处理,不符合则继续往下执行
c:数据处理完成后将结果按程序要求转到某一servlet进行处理
d:处理后根据程序要求转到客户端或者servlet,在此之前会匹配web.xml中的过滤器配置文件,如满足则重重以上的步骤,结束后将结果发送到客户端
10、过滤器配置时,需要先配置过滤器再配置servlet
11、servlet的初使化参数配置,
可以在web.xml的
<servlet> 
<init-param>
<param-name>   </param-name>
<param-value>    </param-value>
</init-param>
</servlet> 
进行设置,
也可以在servlet中通过
@WebServlet( 
name="",
urlpattern={""},
init-param={@WebInitParam(name="",value="")……}
)
12、访问配置参数可以通过servlet的ServletConfig对象进行访问,如:
ServletConfig sc=new ServletConfig();
sc.getInitParameter("");

13、由于Filter,FilterChain,FilterConfig都是java.servlet包下,所以在使用request,response时,需要强制转化为HttpServletRequest,HttpServletResponse再进行操作
14、Listener





二、JSP
(一)9大内置对象
1、Page:某一个页面内
2、Session:在一个会话内
3、Request:在一个请求内
4、Application:整个服务器运行过程中(惟一线程不安全的内置对象)
5、Response:转发和重定向
6、Config:读取配置文件
7、Out:输出
8、Exception:少用
9、PageContext:用于获取JSP页面间的共享数据,如:PageContext pc=new PageContext; pc.getAttribute(String name,int scope);
其中scope的取值可为:pc.PAGE_SCOPE,pc.SESSION_SCOPE,pc.REQUEST_SCOPE,pc.APPLICATION_SCOPE
(二)3个编译指令(加载时进入容器)
1、include:用于包含另外一个引用页面
2、taglib:使用自定义的标签库
3、page:在页面中定义的指令
(三)7个动作指令(运行时的动作)
1、jsp:include:包含另一个页面
2、jsp:forward:转发到另外的地址
3、jsp:param:不能单独使用,传递参数
4、jsp:usebean 创建javabean实体
5、jsp:setproperty 设置javabean实体属性
6、jsp:getproperty 获取javabean实体属性值
7、jsp:plugin 用于下载javabean或Applet到客户端
(四)知识点
1、request.getParameter(),获得的是一个字符型数据,获得session的值,request.getAttribute()获得的是一个对象,获取表单提交的数据
2、创建标签库的步骤:
a:创建实现标签库的实体类 




b:创建.tld文件:
<?xml version="1.0" encoding="UTF-8" ?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">

<tlib-version>1.0</tlib-version>:标记版本(不重要)
<jsp-version>1.2</jsp-version>:标记版本(不重要)
<shorttag-name>hellotag</shorttag-name>:标记名称(不重要)
<uri>/WEB-INF/MyTags/MyTags</uri>:uri地址(重要)
<display-name>helloTag</display-name>
<small-icon></small-icon>
<large-icon></large-icon>
<description>simple hello tags tag</description>
<tag>:标签开始处
<name>query</name>:标签名
<tag-class>MyTags.MyTags</tag-class>:标签实现类的路径
<attribute>:标签属性
<name>driver</name>:属性名
<required>true</required>:属性是否为必须
<flagment>true</flagment>:属性是否可以在JSP中调用
</attribute>

<small-icon></small-icon>
<large-icon></large-icon>
<description></description>
<example></example>
</tag>
</taglib>
c:在页面上用标签进行显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值