请求对象(request)
**请求对象的作用:**封装了所有请求的数据,有服务器实现这个对象,我们直接调用sercive()方法
HttpServletRequest对象的常用方法
| request请求方法 | 描述 |
|---|---|
| request.getMethod() | 获得请求方式post\get |
| request.getRequestURI() | 获取资源名称 |
| request.gerRequestURL() | 获取资源路径 |
| request.getContextPath() | 获取上下文路径 |
| request.getHeader(headerName) | 获取请求头信息 |
| request.getParameter(name) | 通过参数名得到一项参数 |
| request.getParametervalues(name) | 获取复选框,下拉列表的值 |
| request.getParameterMap() | 获取表单的键值对并封装成对象 |
解决请求参数中文乱码问题
使用默认get方法发送请求时不会有乱码,只有将请求方式改为method=post会出现中文乱码
**出现原因:**浏览器发送数据给服务器使用的utf-8编码,与服务器的iso-8859-1编码不一致
解决方法:在service获取请求参数之前设置编码格式,必须写在请求方法的第一行
reqs.setCharacterEncoding(“utf-8”)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oz495MbF-1684896925024)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230412183945288.png)]](https://img-blog.csdnimg.cn/12adef30e0d74ccba95bac70b3458e4d.png)
响应对象(response)
响应数据的相关方法
| response响应方法 | 描述 |
|---|---|
| response.getOutputStream | 响应二进制文件 |
| response.getWriter | 响应文本内容 |
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-622Wyd8H-1684896925026)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230412185236423.png)]](https://img-blog.csdnimg.cn/2e346ee5614c48889d9bd9b79f8c6aeb.png)
解决响应时出现的中文乱码问题
| 方法 | 作用 |
|---|---|
| response.setCharaterEncoding(“字符集”) | 设置响应体的字符编码 |
| response.setContentType(“text/html”) | 告诉浏览器返回类容的类型 |
一次性拼写如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8IWJyV4s-1684896925027)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230412190158761.png)]](https://img-blog.csdnimg.cn/4688930b9b2c4a6f92d7b77ada29a5d9.png)
jsp
**含义:**做web服务端的动态页面,其底层就是一个servlet(由服务器翻译成servlet,执行java代码)
**特点:**方便美化和编写jsp代码,
可以在**<% %>**中写java代码
过程::服务器第一次访问jsp文件时翻译成Java文件
将该java文件编译成字节码文件,只生成一次
通过字节码文件创建xxx.jsp的对象
创建好对象后xxx.jsp调用service()方法处理请求和响应
jsp的基本语法
| 语法 | 说明 |
|---|---|
| <%–注释内容–%> | 该注释不会翻译到servlet中 |
| <%一行或者多行代码%> | 执行java代码,里面的内容必须符合java规范 |
| <%=变量名或表达式%> | 输出变量的值或对表达式进行计算 |
| <% ! String name %> | 用于在jsp中声明全局变量 |
| <% String name %> | 用于在jsp中声明局部变量 |
servlet中的数据共享和页面跳转
**作用域:**将数据进行共享
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ZRzTTFq-1684896925028)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230412193204235.png)]](https://img-blog.csdnimg.cn/835d9b2f33024bf58e58d4bd8825ae23.png)
**转发重定向:将页面展示操作给jsp,web组件的交互
req.getRequestDispatcher(“上下文路径+文件名”).forward(req,resp);
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IOLktgMn-1684896925029)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230412193513023.png)]](https://img-blog.csdnimg.cn/491f1b0278bf41d49ff0d81afc843bd1.png)
jsp中的EL表达式${变量名或表达式},使用value进行添加
作用:用于输出作用域的变量值,用于各种运算:算数,逻辑,关系,三元运算
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OBlUvPA7-1684896925029)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230412193742897.png)]](https://img-blog.csdnimg.cn/e8021b04030d4a8abf33b9325b17fca7.png)
获取作用域的数据(request.getAttribute):
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gIPHPDB1-1684896925030)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230414090959390.png)]](https://img-blog.csdnimg.cn/4d14a695c6064c0a8d6c8f69a1e07ee6.png)



















