【声明:】本文是作者(蘑菇v5)原创,版权归作者 蘑菇v5所有,侵权必究。本文首发在简书。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!
概念
Servelt
可以完成将java
程序运行到web
环境中
Servlet的创建
- 写一个类让其继承
HttpServlet
。 - 覆盖
doGet
方法,在doGet
方法中加入一些测试程序 - 配置
web.xml
让该servlet
可以访问
Servlet的配置
a.创建<servlet>
<servlet-name>xxxx</servlet-name> //为该servlet设定一个名称
<servlet-class>xxx.xxx.xxx</servlet-class>//servlet的类,要加入包路径
b.创建<servlet-mapping>
<servlet-name>xxxx</servlet-name>//说明servlet的name
<url-pattern>/xxx<url-pattern>//声明在浏览器中需要访问的地址
图1示例代码,如下图1所示:
图2调用过程如下图2:
resp响应的使用
使用doGet
或者doPost
方法中的resp
参数可以向浏览器输出相应的数据
1、设置MIME类型
resp.setContentType("text/html");
2、通过resp获取PrintWriter的输出流,并且向浏览器写入数据
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<body><h1>Its Work</h1></body>");
out.println("</html>");
Servlet的生命周期
对应Servlet
而言,用户将请求提交给Servlet
,首先会由web
容器(Tomcat
)截获,并且在web.xml
中解析请求获取相应的Servlet
,之后根据情况判断是否执行init方法
(见备注),doGet
和doPost
会自动调用service方法
,通过request
对象处理完请求之后可以通过resp
对象向浏览器输出相应信息。当服务器关闭时调用destory方法
销毁这个servlet
备注: init方法
解释
1、init方法
有两个一个带参数,一个不带参数,如果两个都覆盖了(这种情况基本不会出现),会调用带参数
2、带参数的这个init方法
可以获取web.xml
中<init-param>
中的数据,通过config.getInitParamxx("username")
可以获取一下xml
的Teacher
这个值,init
什么时候执行需要根据web.xml
中servlet配置中的<load-on-startup>
来确定
<init-param>
<param-name>username</param-name>
<param-value>Teacher</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
load-on-startup
的值为 0或者不写load-on-startup
都是在第一次调用servlet
时才执行init方法
,如果值>0会在启动时调用init方法
网友评论