当前位置: 首页 > news >正文

利用网盘 建网站推广引流工具

利用网盘 建网站,推广引流工具,网页游戏大全手机游戏,免费公司网站如何建立设计目录 前言 request概述 request的使用 获取前端传递的数据 实例 请求转发 特点 语法 实例 实例1 实例2 【关联实例1】 域对象 组成 作用范围: 生命周期: 使用场景: 使用步骤 存储数据对象 获得数据对象 移除域中的键值…

目录

前言

request概述

request的使用

获取前端传递的数据

实例

请求转发 

特点

语法

实例

实例1 

实例2 【关联实例1】

域对象

组成

作用范围:

生命周期:

使用场景:

使用步骤

存储数据对象

获得数据对象

移除域中的键值对【数据对象】


前言

在之前我们学习到真正处理前后端交互是重写 doGet()方法和doPost()方法。我们有注意到这些方法都有一个共同的参数列表:

HttpServletRequest req, HttpServletResponse resp

request概述

request是Servlet.service()方法的一个参数【在上面指的是req 】,类型为javax.servlet.http.HttpServletRequest。在客户端发出每个请求时,服务器都会创建一个request对象,并把请求数据封装到request中,然后在调用Servlet.service()方法时传递给service()方法,这说明在service()方法中可以通过request对象来获取请求数据。

因此,我后面讲的request 对象 就是指 req 对象

如下图所示

request的使用

  • 封装了请求头数据;

  • 封装了请求正文数据,如果是GET请求,那么就没有正文;

  • request是一个域对象,可以把它当成Map来添加获取数据;

  • request提供了请求转发和请求包含功能。\

接下来我将针对 如何获得前端数据 ,域对象,请求转发进行详细叙述

获取前端传递的数据

  • 使用getParameter()方法获得前端界面传递给服务器的数据
  • getParameter()方法 是 HttpServletRequest 的继承父类 ServletRequest 的方法

我们注意以下的方法

// 参数为key ,在前端一般是 name 属性值 ,返回值一般是我们输入的值String getParameter(String var1);
// 获得所有存储 key 的集合 EnumerationEnumeration<String> getParameterNames();
//通过传递的key 值 返回的是一个String类型的数组String[] getParameterValues(String var1);

注意第三个方法,常用于复选框 type=checkbox 时,这种情况下 name(key)值都是相同的

重点是 掌握第一个方法的使用

实例

前端写一个简单的用户登录表单,使用getParameter() 获得你输入的内容

请求转发 

首先我先提一下 “ 资源跳转” 我们可以理解为网页的切换。在前端HTML网页,我们使用超链接

<a href="目标网页"></a>来实现跳转。 在后端我们有两种方式完成的网页的切换(资源跳转)

资源跳转有两种形式

  • 请求转发
  • 重定向

本篇博客,我介绍的请求转发的具有应用

特点

  • 1 不能访问外部资源
  • 2浏览器中的urL 是不变的,一直是同一个请求在浏览器看来

语法

1 创建一个 RequestDispatcher 类型的对象 

  • 通过请request对象 调用getRequestDispatcher("url")
 RequestDispatcher rd = request.getRequestDispatcher("/BServlet");

2 调用该对象的forword方法

 rd.forward(request, response);	

为了方便,我们也可以合并写,这个大家都懂

实例

实例1 

刚刚举例 说使用 请求转发无法访问外部资源。我现在通过请求转发的形式,来访问百度试一下

前端代码,一个简单的表单

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>第一个web项目</title><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
</head>
<body>
<div class="container"><!-- Content here --><form action="/login"  method="post"><div class="form-group" ><label for="exampleInputEmail1" >用户账户</label><input type="text" class="form-control" id="exampleInputEmail1" name="username" aria-describedby="emailHelp"><small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small></div><div class="form-group"><label for="exampleInputPassword1">用户密码</label><input type="password" class="form-control" id="exampleInputPassword1" name="password"></div><button type="submit" class="btn btn-primary">Submit</button>
</form>
</div></body>
</html>

后端 重写 doPost方法

@WebServlet("/login")
 @Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {System.out.println("欢迎使用post请求方式查询");req.getRequestDispatcher("https://www.baidu.com/").forward(req, resp);//resp.sendRedirect("https://www.baidu.com/");}

启动服务器,浏览器手动访问 该Servlet 

  • 不管提交的表单是否符合条件,观察是否会跳转到百度

但如果访问本机资源,如BServlet. 是可以的

BServlet 

发现

跳转成功

实例2 【关联实例1】

同时我们也应该注意到,浏览器的搜索栏一直都没有变化

即使在后面使用请求转发,跳转到BServlet,也是如此

域对象

组成
  • PageContext;

  • ServletRequest;

  • HttpSession;

  • ServletContext;

注意:

所有域对象都有存取数据的功能,因为域对象内部有一个Map,用来存储数据

这里的域对象,我只说ServletRequest类型的request 域对象,同时我们也知道request对象 是 访问Servlet 时,自动创建的。其他的域对象,当具体使用时,再添加到博客中。

特点

  • 可以作为一个仓库,存储数据,当我们要使用时,再从中获取相关数据
作用范围:
  • HttpServletRequest 对象的作用范围是单个 HTTP 请求。
  • 数据只能在同一个请求的生命周期内共享,即从客户端发送请求到服务器处理完请求并返回响应的这段时间内有效。
生命周期:
  • 每次新的请求都会创建一个新的 HttpServletRequest 对象。

  • 当请求处理完毕后,该对象会被销毁。

使用场景:
  • 适用于在同一个请求的不同处理阶段之间传递数据。

  • 例如,在一个请求处理过程中,前端控制器将数据传递给业务逻辑层或视图层。

使用步骤
存储数据对象

调用setAttribute(String name, Object value)方法,存储key-value 键值对形式的对象

  • void setAttribute(String name, Object value):用来存储一个对象,也可以称之为存储一个域属性,
获得数据对象

Object getAttribute(String name):用来获取request中的数据,当前在获取之前需要先去存储才行,例如:String value = (String)request.getAttribute(“xxx”);,获取名为xxx的域属性;

移除域中的键值对【数据对象】

void removeAttribute(String name):用来移除request中的域属性,如果参数name指定的域属性不存在,那么本方法什么都不做;

http://www.ds6.com.cn/news/92225.html

相关文章:

  • wordpress 中文广告插件南阳seo
  • 中山做营销型网站北京网站优化平台
  • 上海建设工程标准与造价信息网站全自动推广引流软件免费
  • 深圳营销型网站建设公司选择哪家好免费浏览网站推广
  • 合作做网站的总结和心得杭州seo推广公司
  • 佛山网站建设多少钱seoer是什么意思
  • 网站建设常规自适应客户关系管理系统
  • 网站设计制作说明东莞互联网公司排名
  • 网站建设改版 gov.cn域名注册服务商
  • 南昌专业网站排名推广湖州网站建设制作
  • 杭州小程序开发定制宁波seo关键词优化报价
  • 专注专业网站建设网站关键词怎样优化
  • 如何申请域名建立网站网站应该如何推广
  • 企业手机端网站模板下载百度爱采购平台登录
  • 单纯做网站的公司郑州seo管理
  • 网站托管套餐win7系统优化大师
  • 鄂州网吧什么时候恢复营业石家庄谷歌seo
  • 建设游戏网站需要什么设备合肥品牌seo
  • 龙岗网站关键词优化代理十种营销方式
  • 锡林郭勒盟建设工程造价信息管理网站seo推广怎么收费
  • 做冻品的网站热门国际新闻
  • 网站的会员系统怎么做seo长沙
  • 简易个人网站系列推广软文范例
  • html博客转wordpress短视频seo代理
  • 做网站0基础写代码百度收录网站
  • 杭州租车网站建设青岛seo计费
  • 网站做缓存吗seo搜索优化服务
  • 做彩票网站需要什么技术51外链代发网
  • 网站建设冷色调武汉网络推广公司
  • 大成建设株式会社网站贵州seo培训