Servle——Day24

Servlet

1.1、概述

Servlet时运行在Java 服务器的小程序
它提供了一套使Java类可以被浏览器(tomcat)所识别的规则(接口)

1.2、使用步骤

1、创建类实现Servlet接口
2、实现抽象方法
3、在web.xml配置映射文件

<servlet>
	<servlet-name>TestServlet</servlet-name>
	<servlet-class>com.wk.servlet.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>TestServlet</servlet-name>
	<url-pattern>/test</url-pattern>
</servlet-mapping>

1.3、执行步骤

1、前端页面点击提交按钮,将表单信息提交到制定action
2、action中的地址会在web.xml中查找是否有与之匹配的中的
3、如果有则查找是否有对应的中的与D <servlet-name》一致
4、如果有则执行该下的
5、将此servlet类进行编译,编译的文件在\WEB-INF\classes\xxx
6、当这个servlet第一被访问时,执行init方法,并执行servlet方法

1.4、servlet的生命周期

1、init:第一次访问servlet时进行初始化工作
2、service:每次访问servlet时执行,进行获取请求,做出响应
3、destroy:服务器正常关闭时,进行资源的释放

1.5、HttpServlet

HttpServlet继承GenericServlet实现Servlet

二、Request

2.1获取请求参数

1、getParameter(name)
2、getParameterValues(name):通过name值获取value字符数组
3、getParameterMap():获取所有提交参数的键值对

注:
中文乱码问题
页面提交的编码格式是utf-8,而tomcat默认的编码是iso8859-1,iso8859-1不支持中文,所以产生乱码。
解决:
request.setCharacterEncoding(“utf-8”);

2.2请求转发

步骤:
1、获取请求转发器,并明确跳转的目标地址
request.getRequestDispatcher(path);
2、执行转发器的转发功能
dispatcher.forward(req,resp);

细节:
1、请求转发只能访问服务器内部资源
2、地址栏不发生变化
3、请求转发只执行了一次请求

2.3 共享数据

域对象:可以在指定生命周期内共享数据的对象
Request:作用范围仅在一次请求中,如果使用的是请求转发,那么转发后的页面可以获取存在域中的数据;如果使用的是重定向,那么重定向后的页面无法获取域中的数据,因为重定向执行力两次请求,而请求转发是在一次请求内的。
ServletContext
Session

通用方法:
1、setAttribute(String,Object):向域中存储键值对
2、getAttribute(String):通过键获取值
3、removeAttribute(String):通过键删除键值对

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值