17.11.27,web学习第十三天,还有一年,努力吧青年Servlet

来源:互联网 发布:gina windows界面设计 编辑:程序博客网 时间:2024/06/02 21:06

Servlet

1.Servlet对象的生命周期:

init(ServletConfig config)  

ServletConfig代表着Servlet对象的配置信息。

servlet对象创建的时候执行,

Service(ServletRequest request,ServletResponse response) 每次请求都会执行

destroy()  servlet销毁的时候执行

2.servlet何时创建,何时销毁:

默认第一次访问服务器的时候创建。服务器关闭的时候销毁。

每次必执行的方法:serviceServletRequest sr,ServletResponse sre)。

可以认为ServletRequest中封装着http请求信息

ServletResponse中要封装着响应信息。

3.Servlet三个技术点:

Servlet技术   filter过滤器  listener技术监听器

4.记住每次访问service方法都会创建一对新的requestresponse对象。

5.关于Servlet的基本配置:

重点<url-pattern></url-pattern>的配置方式:

完全匹配: <url-pattern>/xxxx<url-pattern>

目录匹配: <url-pattern>aaa/bbb/ccc/*</url-pattern> *代表任意字符

扩展名匹配 <url-pattern>*.扩展名</url-pattern>

第二种和第三种不要混用!例:aaa/bbb/ccc/*.abc(错)

6.servlet是默认第一次访问时创建,为什么是默认?可以servlet在服务器启动时创建对象,数字代表优先级,数字越小,优先级越高。一般不配置1<load-on-startup>3</load-on-startup>

7.缺省的Servlet(重点理解)

<url-pattern>/<url-pattern>可以配置一个

在访问服务器时,如果我们没有配置缺省的Servlet,那么会先寻找服务器内置的<url-pattern>/<url-pattern>,根据<url-pattern>找到对应的servlet,由servlet去寻找我们所要寻找的资源,如果没找到,报404

如果我们覆盖了<url-pattern>/<url-pattern>,那么他会寻找对应的<servlet-name><servlet-name>对应的servlet,就不会去寻找我们所想要寻找的静态资源了。

欢迎页面:<url-pattern>/xxx<url-pattern>不是缺省的条件下!!!在当我们访问地址没有确定时:http://localhost:8080/目录名/   如果我们在web.xml配置了<welcome-file-list></welcome-file-list>欢迎页面,那么就会把服务器内置的欢迎页面覆盖掉,按照index.html  index.jsp ....的顺序去自己的文件中寻找相应的文件。如果没有配置,则显示内置的欢迎页面。

一旦配了<rul-pattern>/<url-pattern>,那么服务器一定就去匹配servlet了,不会寻找欢迎页面了。  

8.HttpServlet模板设置:preferences-templates-new...

9.Web应用发布过程:现在web-apps建一个目录名为项目名再将整个WebContent目录copy到该目录下。写在webcontent目录外的东西找不到。

10.HttpServlet类的方法:

Init()

doGet(HttpServletRequest hsr,HttpServletResponse hsr){}

doPost(HttpServletRequest hsr,HttpServletResponse hsr){}

doDestroy()

11.用户登录案例注意事项:

1><form action="/checkDemo/Checked" method="post">

2>DataSource cpds = new ComboPooledDataSource();   c3p0连接池

12.servletContext,可以看做整个web应用的上下文对象,一个web应用只有一个servletContext对象,该内部封装着web应用的信息,但可以有多个servlet对象。

创建:服务器启动或者发布web应用(前提,服务器启动状态)。

销毁:该web应用被移除,服务器关闭

获得servletContext对象:

ServletContext sc=config.getServletContext();

ServletContext sc=this.getServletContext();这是它爷爷的功能,本质上和上面的一样。

ServletContext的作用:

获得全局的初始化参数:web.xml中配置:

<context-param>

<param-name> </param-name>

<param-value></param-value>

</context-param>

获得:String   initparameetr=sc.getInitParameter(“”);

获得web应用中任何资源文件的绝对路径:

String str=context.getRealPath(”相对于该web应用的相对地址”);

class文件去要web-info下的classes(相对于src)下找

拓展:通过类加载器也可以获得资源文件:

String str=当前类名.class.getClassLoader().getResourse(“相对于当前的class文件”).getPath();

13.ServletContext是一个域对象,粗存数据的区域就是域对象。

作用范围整个web应用,所要资源都可向sevletContext中存取资源。

域对象的通用方法:

setAttribute(name,value);

getAttribute(name);

removeAttribute(name);这个可以用来计数!

14:补充

规定所要的servlet都得实现javax.servlet.Servlet接口

开发中绝对路径的编写:

服务器端:不需要加工程名

客户端: 需要加上工程名

ServletContextgetResourceAsStreampath)返回某个资源文件的inputStream

获取配置文件:

InputStream in=servletContext.getResourceAsStream(path);

Properties p=new Properties();

P.load(in);

阅读全文
0 0
原创粉丝点击