Servlet编程

Servlet编程

学习小白

1)servlet是一个普通的java类,它继承了HttpServlet类。(HttpServlet实现了Servlet接口的大部分方法)。
2)servlet是实现了servlet接口的Java类。
3)servlet技术需转交tomcat服务器实现。

2、servlet的执行过程:
1)Tomcat启动时会把每个网站的web.xml文件加载进内存。
2)创建过程:
例:
在Tomcat的webapps文件夹(可以发布到网上)下创建web项目——day09,并在src中创建gz.itcast.a_servlet.HelloServlet(注:gz.itcast.a_servlet为包名,HelloServlet为类名,HelloServlet继承HttpServlet类)。
在这里插入图片描述
HelloServlet简单写法如下:
在这里插入图片描述

Servlet上传的信息访问流程:(如下)

1)、在浏览器输入;http://localhost:8080/day09/hello(注:先运行Tomcat服务器
在这里插入图片描述
2)、 截取URL(统一资源定位符,用于定位文件的路径)的字符串,得到需要访问的资源名称: /hello
3)、在day09网站下的web.xml信息中搜索是否存在 /hello 匹配的url-pattern。
4)、匹配到对应的url-pattern之后,取出当前映射信息中的servlet-name的名称,然后在web.xml信息中搜索是否存在一个相同名称的servlet-name的servlet配置信息。
5)、找到对应的servlet配置信息之后,取出当前配置信息的servlet-class的内容
字符串: gz.itcast.a_servlet.HelloServlet
6)、创建HelloServlet对象,然后调用HelloServlet类中的方法。
7)、Servlet就把内容返回给浏览器用户。
图列如下:(图片中内容在web.xml中配置。)

在这里插入图片描述
您可以自己尝试一下!!!
下面对映射路径和缺省路径做简单介绍:
1)映射路径:访问自定义的servlet类可以用映射路径代替。如:
<servlet-mapping>
<servletname>HelloServlet</servletname>“内部名称“
<url-pattern>/hello</url-pattern>
</servlet-mapping>”映射路径“(即在浏览器上可以直接输入”/hello"访问”/HelloServlet"
精确匹配和模糊匹配不做累述。。。

2)缺省路径
什么是缺省路径呢?
在tomcat服务器内部配置了一个缺省路径 /, 这个缺省路径在tomcat服务器内部被一个缺省Servlet(DefaultServlet)匹配。缺省的这个Servlet的作用是专门用于处理所有网站中的静态网页。
一个路径在tomcat服务器的执行过程:
1)搜索day09下面的web.xml文件信息。搜索是否存在匹配的
2)匹配到对应的url-pattern,执行对应的Servlet程序。
3)如果没有匹配的url-pattern,就把这个请求交给tomcat服务器的DefaultServlet处理。
4)DefaultServlet会在day09的根目录下搜索是否存在一个名称叫hello.html的文件。
5)如果找到文件, 那么DefaultServlet读取该文件内容返回给用户。
6)如果找不到文件, 那么就给用户返回一个404状态码+404错误页面。
结论: 先找动态网页,再找静态网页。

servlet的生命周期:(重点!!!)
1)构造方法: 创建servlet对象时调用,只调用1次。
2)init方法:创建完对象之后调用。只调用1次。该方法用于初始化对象。
3)service方法: 在每次请求时调用,调用n次。该方法入口方法,我们的逻辑代码在这里被调用。(主要方法,其他方法被集成开发工具自动生成。
4)destory方法:在servlet对象销毁之后调用。只调用1次。重新部署网站或者停止服务器,servlet对象就会销毁了。
因为我也是刚起步,就先介绍到这,关于servlet,我们还要掌握
1) Servlet的线程并发问题
2)Servlet的自动加载机制
3)Servlet的init方法
4)ServletConfig对象 (重点)
5)ServletContext对象 (重点)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值