JavaEE之Servlet

本文详细介绍了Servlet的概念、生命周期及其在服务器端的应用。包括如何配置web.xml、处理客户端请求与响应的方法及Servlet的初始化与销毁过程。

Servlet

什么是Servlet
Servlet是一个java类,它是一个运行在服务器端的使用java编写的程序,通常使用http协议来接受和相应客户端的请求。

Servlet的执行过程
这里写图片描述

web.xml的配置
这里写图片描述

url-pattern两种写法

  1. 以/开头的路径匹配
    绝对匹配<url-pattern>/first/aaa/aaa</url-pattern>
    模糊匹配<url-pattern>/*</url-pattern>
    *匹配所有的字符串
  2. 以扩展名为结尾的
    *.do<url-pattern>*.do</url-pattern>
    *.action<url-pattern>*.action</url-pattern>
    .后面的后缀名可以出现任何字母
    /aaa.do<url-pattern>*.action</url-pattern>
    注意:以扩展名形式的模糊匹配,前面不能加上/,如果加了 会报错, aaa.do这种写法前面要加上/,否则tomcat启动不了,以扩展名结尾的地址模糊匹配的话。前面不能有任意的字符串,若是绝对匹配的话可以出现任意字符串。

Servlet生命周期

  • 构造方法:第一次请求的时候执行且只执行一次
  • init():只执行一次,在servlet实例化以后就会执行
  • service()
    • doGet()
    • doPost()
    • 每次请求都会执行
    • 作用:接受和响应客户端的请求,当服务器接受到客户端的请求时,会判断该请求是什么类型的请求(get和post),如果是get请求,service会将该请求分配给doGet来处理请求,如果是post,会分配给doPost来处理请求。
    • 注意:Service方法一般情况下不会去重写,因为父类已经将该方法完善,不需要再进行重写。
  • destroy()
    • 在servlet被卸载之前,会执行,且只执行一次。
    • 当程序卸载的时候,需要释放一些资源,这些资源可以放在此方法中。
  • 生命周期(总)
    记载Servlet(Tomcat加载)–>实例化(构造方法)–>初始化(init)–>service(根据请求分配处理方法)–>destroy()

  • 在服务器启动的时候实例化和初始化Servlet,需要在web.xml的servlet标签中加入如下语句。<load-on-startup>1</load-on-startup>

客户端传递数据

  1. 将参数直接拼接到URL地址上,如http://localhost:8080/MyWeb/index?user=123&pass=123;
  2. 表单传递数据
    get表单提交
    表单的数据会拼接在URL地址上,如http://localhost:8080/MyWeb/index?user=123&pass=123;
    post表单提交
    提交的数据不会显示在URL上面比较安全。

服务器端的响应

  1. 通过PrintWriter
    • 可以用流编写一个网页显示出来
      这里写图片描述
    • 可以用流编写js代码跳转一个网页
      out.write(<script>location.href=\"http://www.baidu.com\"</script>");
  2. 通过respnose.sendRedirect(“路径/网址”);
    response.sendRedirect("http://www.baidu.com");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值