20160320servlet学习笔记
来源:互联网 发布:seo外包公司北京华网 编辑:程序博客网 时间:2024/05/29 09:06
1.开发servlet有三种方法,a.实现servlet接口b.继承GenericServletc.继承HttpServlet(实际开发中用这种方法).
2.用实现接口的方式开发一个servlet,实现hello,world和当前时间.
①建立一个WEB应用
②在WEB应用里建立WEB-INF文件夹,配置web.xml
③在WEB-INF文件夹下建立classes文件夹和lib文件夹(开发在classes文件夹中完成)
④在classes文件夹下建立.java文件,当编译完成后tomcat调用的是.class文件,此时删除源文件也可以运行.
⑤每开发一个servlet都要部署到web.xml里一次.
部署代码示例
<servlet>
<!--servlet-name给该servlet取个名字,可以和当前servlet名字不一样,但最好一致-->
<servlet-name>MyFirstServlet</servlet-name>
<!--servlet-class指明该servlet放在哪个包下,格式是包.包.类(不用带class)-->
<servlet-class>com.gzl.MyFirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<!--这个部分的servlet-name要与上面的一致-->
<servlet-name>MyFirstServlet</servlet-name>
<!--url-pattern是访问该servlet资源名的一部分-->
<url-pattern>/ABC</url-pattern>
</servlet-mapping>
⑥详细代码如下
package com.gzl;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class MyFirstServlet implements Servlet{//该函数功能是initialize servlet(只在开始时调用一次)public void init(ServletConfig config)throws ServletException{}//获取ServletConfig对象public ServletConfig getServletConfig(){return null;}//服务函数,业务逻辑代码写在这里.该函数每次请求都会被调用.public void service(ServletRequest req,ServletResponse res)throws ServletException,java.io.IOException{//在控制台中输出System.out.println("hello,world"+new java.util.Date());//在浏览器中输出,此处记得即便reloadable值为true也要重启tomcat,未知原因导致不重启不生效.res.getWriter().println("hello,world"+new java.util.Date().toLocaleString());}//获取Servlet配置信息public java.lang.String getServletInfo(){return null;}//销毁该servlet,与init函数相对应,destroy的功能是从内存中清除该servlet,只调用一次.public void destroy(){}}⑦访问http://localhost:8080/WEB3/ABC即可访问该servlet资源.
3.在tomcat的网页管理器中可以不重启tomcat实现reload一个web应用
4.servlet生命周期分析
①servlet第一次被调用时会运行init方法将servlet加载到内存
②运行service函数
③第二次以及以后调用service值运行service方法
④当web应用reload或者tomcat重启或者关机会调用destroy方法销毁当前servlet.
5.即使url-pattern映射为abc.html也不会报错,服务器可以正常调用servlet,另外映射可以多级映射.
6.如果某个url-pattern的映射是/*则所有找不到的资源都会访问他.
7.通配符映射只有两种格式一种是*.后缀名另一种是/*开头/*结尾.
8.匹配规则是谁的匹配度高谁就命中,*.do的优先级最低.
9.一个变量被多个用户共享可以用synchronize(this){}同步机制解决.
10.如果不想共享一个变量,那在方法里定义变量即可.
- 20160320servlet学习笔记
- Servlet学习笔记 Servlet原理
- 《Servlet学习笔记》Servlet 简介
- Servlet学习笔记
- servlet学习笔记
- Java Servlet学习笔记
- Servlet学习笔记
- servlet 学习笔记(1)
- servlet 学习笔记(2)
- Servlet学习笔记
- Servlet学习笔记
- JSP/Servlet学习笔记
- servlet学习笔记
- Servlet学习笔记
- SERVLET学习笔记
- servlet学习笔记
- Servlet 学习笔记
- servlet学习笔记
- OpenCV 依据颜色的车牌定位
- Ubuntu登陆界面循环登陆不进去(已解决)
- Remote Code Execution as System User on Android 5 Samsung Devices abusing WifiCredService (Hotspot 2
- BZOJ 1565 [NOI2009]植物大战僵尸
- Java设计模式 -- 抽象工厂模式
- 20160320servlet学习笔记
- BZOJ2803: [Poi2012]Prefixuffix
- FFmpeg教程(三)视频解码器
- u-boot分析 二 (u-boot目录结构)
- (一)ionic开发环境搭建
- 序
- Android中resource参数变量使
- 面向接口编程的好处
- PHP学习笔记-PHP概述与环境搭建