java——Servlet模型(一)

我们学习Servlet的时候用到的是Tomcat服务器

一、Servlet的编写、访问过程

1、什么是Servlet?

Servlet(Servlet Applet)是Java Servlet 的简称,是小服务程序或服务连接器,使用Java编写的服务器端程序,主要功能是:交互式的浏览和修改数据,生成动态Web内容

2、编写部署Servlet

WEB-INF:lib:第三方的包,
web.xml:部署描述文件 classes在这里插入图片描述
1)编写Servlet程序实现Servlet接口
2)编译Servlet源文件,生成字节码文件(注意:①DOS窗口中进入Servlet文件所在目录;②-cp参数 导入需要的jar包)
3)部署
4)运行

3、Servlet的访问过程

在地址栏输入地址:Tomcat服务器地址/站点名称/虚拟路径,到达服务器,解析url,拿到虚拟路径和web.xml配置文件对比,找到虚拟路径对应的servlet,找到虚拟路径对应的类别名 servlet-name,根据servlet-name找到对应的servlet-class,从而找到访问类,服务器自动调用servlet的service方法通过service方法的response参数向客户端返回响应。

4、实现servlet的三种方法

1)实现servlet接口
2)继承GenericServlet(一般不采用)
3)继承HttpServlet(推荐使用)
都需要对所创建的servlet类进行配置,也就是配置servlet访问时的虚拟路径

5、关于虚拟路径

1)虚拟路径配置不仅限于1个,但是多个servlet的虚拟路径不同,1种虚拟路径不能配置给2个或2个以上的servlet,1个servlet可以配置多个虚拟路径。
2)虚拟路径的配置方法主要有三种:
完整的URL虚拟路径
②**/目录/*** 方式:以“/目录”作为开头的URL
③***.ext**后缀名方式:以.ext结尾的地址

二、Servlet中的请求与响应

1、接收请求

1)Tomcat启动后Web容器首先做的工作:
①Servlet与URL对应
②完成Servlet名称注册
③创建Servlet实例
2)接收到请求后服务器转交给Web容器;Web容器产生请求对象和响应对象(常用的请求方式为GET和POST)
在这里插入图片描述
调用Servlet的service()方法,并将请求和响应对象多为参数传入该方法;Service方法根据请求方式调用doXXX()方法
在这里插入图片描述
3)HttpServletRequest接口以参数的形式传递到service方法里(接口不能实例化,实例化其子类)[HttpServletRequest继承ServletRequest]
在这里插入图片描述
4)Servlet接口的service方法
在这里插入图片描述
service()方法根据请求类型调用doXXX()方法,所以***必须重写doXXX()方法***。

2、返回响应

1)在doXXX()方法中使用请求对象获取请求信息,响应对象返回响应结果(PrintWriter对象);
2)销毁请求、响应对象(并不是servlet对象,servlet等待下一次请求)。
在这里插入图片描述
3)HttpServletResponse接口
在这里插入图片描述

3、解析请求

1)getParameter()方法:表单中的name属性值的获取
2)Attribute参数:
①setAttribute():设置参数
②getAttribute():获取某个参数的值

三、Servlet中请求数据的传递、请求转发与请求重定向

1、请求重定向、请求转发

1)请求转发
request.getRequestDispatcher(“targetURL”).forward(request,response);
2)请求重定向
response.sendRedirect(“taargetURL”);

2、请求数据的传递

1)请求数据的传递:
①request.setAttribute(String,Object);
②request.getAttribute(String);返回Object
2)注意事项:
①请求转发可以共享参数
②请求重定向无法共享参数

3、请求转发、请求重定向的区别

1)本质:请求转发:一次请求;请求重定向:二次请求
2)速度:请求转发 > 请求重定向
3)Attribute参数:请求转发可以共享参数;请求重定向无法共享参数

java——Servlet模型(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FF小迷糊吖~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值