JavaWeb

JavaWeb开发基础-Servlet基础

2018-10-15  本文已影响22人  蘑菇v5

【声明:】本文是作者(蘑菇v5)原创,版权归作者 蘑菇v5所有,侵权必究。本文首发在简书。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!

概念

Servelt可以完成将java程序运行到web环境中

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方法(见备注),doGetdoPost会自动调用service方法,通过request对象处理完请求之后可以通过resp对象向浏览器输出相应信息。当服务器关闭时调用destory方法销毁这个servlet

备注: init方法解释
1、init方法有两个一个带参数,一个不带参数,如果两个都覆盖了(这种情况基本不会出现),会调用带参数
2、带参数的这个init方法可以获取web.xml<init-param>中的数据,通过config.getInitParamxx("username")可以获取一下xmlTeacher这个值,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方法

上一篇下一篇

猜你喜欢

热点阅读