您的位置:首页 > 其它

servlet基础知识

2016-11-03 16:19 330 查看
一、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=
4000
"")……}

)

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:在页面上用标签进行显示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: