JavaWeb开发基础-Servlet基础

【声明:】本文是作者(蘑菇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方法(见备注),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方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,518评论 18 399
  • 用三年的时间,试着专门管理自己,真的发现自己是最难管理的。 比如以身作则,从考勤机到按时上班上下课在校园的角角落落...
    像话读书爻阅读 1,450评论 0 1
  • 真诚去了哪里 跌跌撞撞地在红尘里走过四十几个春夏秋冬,领略了柳绿桃花,也见识了霜冰雪浓,目光越来越混浊,世...
    倚风听雨666阅读 1,616评论 3 2

友情链接更多精彩内容