servlet01
一、什么是servlet?
servlet = server applet(服务器端小程序)
二、servlet本质
本质上是java代码,和以前写的java代码有些许的不同:
1.实现了特殊的接口、或继承了特殊的java类
2.servlet不能由程序员去执行,由支持servlet的web服务器运行
3.一个Servlet负责对应的一个或一组URL访问请求,并返回相应的响应内容。
三、servlet的运行流程
1.浏览器在地址栏中指定url,发起一个请求
2.服务器根据url的内容,进行解析,找到对应的servlet
3.serlvet执行代码,并返回数据给服务器
4.服务器将数据返回给浏览器
5.浏览器解析数据,展示数据
四、servlet的生命周期
1.载入并初始化
调用init()方法,只执行一次
2.运行
当用户请求该servlet时,服务器创建一个新的线程,调用servlet的service方法-->父类的service方法-->父类的doPost/父类doGet方法
1)当执行父类的doGet/doPost时,会报405错误。解决办法:在子类中重写doGet/doPost
2)尽量不要在servlet中使用成员变量
3.销毁
在服务器关闭之前,调用destroy()方法,只执行一次
5、tomcat安装配置:
一、下载
二、安装
三、使用
1)部署项目
1)myeclipse会将java代码编译过后的class文件,放在WebRoot/WEB-INF/classes文件夹下
2)只要将数据放在webapps的某个目录(项目名)下,就可以通过浏览器访问了!
2)启动服务器
1)运行bin/startup.bat
3)集成tomcat
1)将tomcat配置在myeclipse中:window-->prefrences-->输入“server”,在列表找tomcat-->将tomcat 8.x改为enabled --> 配置Tomcat Home Directory,在window找到Tomcat安装路径即可 -->ok
2)将项目部署在tomcat中:右键tomcat 8.x -->add Deployment-->在project选择要部署的项目名-->finish
3)启动:右键tomcat 8.x --> run Server
6、<url-pattern>的问题
– 必须以/开头(不然,启动 是会报错:invalid url-pattern ** in
servlet mapping)
– 常见的url 的模式:
• <url-pattern>/one/*</url-pattern>匹配所有one下面的请求
问题:/*能匹配/one/*里面的请求吗
• <url-pattern>/one</url-pattern>匹配one请求
• <url-pattern>*.one </url-pattern>匹配所有.one结尾的请求
问题:*.one能匹配/one/aaa.one的请求吗
• 错诨写法:<url-pattern>/yi/*.one</url-pattern>
• 一个<servlet>可以对应多个<servlet-mapping>,即多个url可以
对应一个serlvet