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何时创建,何时销毁:
默认第一次访问服务器的时候创建。服务器关闭的时候销毁。
每次必执行的方法:service(ServletRequest sr,ServletResponse sre)。
可以认为ServletRequest中封装着http请求信息
ServletResponse中要封装着响应信息。
3.Servlet三个技术点:
Servlet技术 filter过滤器 listener技术监听器
4.记住每次访问service方法都会创建一对新的request和response对象。
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接口
开发中绝对路径的编写:
服务器端:不需要加工程名
客户端: 需要加上工程名
ServletContext的getResourceAsStream(path)返回某个资源文件的inputStream流
获取配置文件:
InputStream in=servletContext.getResourceAsStream(path);
Properties p=new Properties();
P.load(in);
- 17.11.27,web学习第十三天,还有一年,努力吧青年Servlet
- 17.11.13,web学习第三天,还有一年,努力吧青年!
- 17.11.23,web学习第十天,还有一年,努力吧青年
- 17.11.24,web学习第十一天,还有一年,努力吧青年
- 17.11.29,web学习第十五天,还有一年,努力吧青年Request
- 17.12.11,web学习第二十三天,还有一年,努力吧青年Listener
- 17.12.03,web学习第十七天,还有一年,努力吧青年JSP
- 17.12.04,web学习第十八天,还有一年,努力吧青年EL和JSTL
- 17.12.05,web学习第十九天,还有一年,努力吧青年事务mysql
- 17.12.21,web学习第三十天,还有一年,努力吧青年 商城项目第三天购物车操作
- 17.11.11,web学习第一天,还有一年,努力吧青年
- 17.11.12,web学习第二天,还有一年,努力吧青年!
- 17.11.14,web学习第四天,还有一年,努力吧青年!
- 17.11.15,web学习第四天,还有一年,努力吧青年!
- 17.11.16,web学习第五天,还有一年,努力吧青年!
- 17.11.18,web学习第六天,还有一年,努力吧青年
- 17.11.20,web学习第七天,还有一年,努力吧青年
- 17.11.21,web学习第八天,还有一年,努力吧青年
- 正态分布随机数算法
- 选择某种Map集合保存学号从1到15的学员的学号(键)和姓名(值)
- Python 练习实例20
- 浅谈2017noip信息奥赛普及组试题
- 最新版 Ubuntu下安装posgtresql
- 17.11.27,web学习第十三天,还有一年,努力吧青年Servlet
- 51Nod-1298 圆与三角形
- 11.27--一对多关联映射
- ImageList存储图像控件
- java_day08
- 对尺取法的一些理解
- c语言的左结合性与右结合性
- nm
- 简记Android源码设计模式——One