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

顺的做网站便宜吗有效的网站推广方式

顺的做网站便宜吗,有效的网站推广方式,网站建设与网页设计 教材,亚马逊网站request对象的继承关系 1.HttpServletRequest接口继承了ServletRequest接口,对其父接口进行了扩展,可以处理满足所有http协议的请求 2.HttpServletRequest和ServletRequest都是接口,不能创建对象,因此在tomcat底层定义实现类并创…

request对象的继承关系

1.HttpServletRequest接口继承了ServletRequest接口,对其父接口进行了扩展,可以处理满足所有http协议的请求

2.HttpServletRequest和ServletRequest都是接口,不能创建对象,因此在tomcat底层定义实现类并创建实现类对象

public class RequestFacade implements HttpServletRequest{}

tomcat底层创建门面类RequestFacade对象

ServletRequest request=new RequestFacade();多态 

request对象的API方法

获取请求行

String getMethod()

Get the request method, e.g. GET, POST, etc.

获取请求方法

 public String getContextPath()

访问虚拟目录(项目访问路径)就是我们在Tomcat配置的位置设置的路径,是虚拟的,就是随便定义的 如果设置虚拟路径位置是/ 那么该方法获取的内容是空字符串

public StringBuffer getRequestURL()

返回的 URL 包含一个协议、服务器名称、端口号、服务器路径,但是不包含查询字符串参数(获取的是请求资源的绝对路径,包含三要素(IP协议,IP地址,端口号)),没有请求参数
 

public String getRequestURI()

获取的是请求资源的绝对路径,但是不包含三要素,没有请求参数
 

public String getQueryString()

返回包含在请求 URL 中路径后面的查询字符串。如果 URL 没有查询字符串,则此方法返回 null只能获取GET请求的请求参数(因为get请求的请求参数在URL后面)
 

测试

浏览器页面

 

@WebServlet("/requestDemo1")
public class requestDemo1 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获取请求方法String method = request.getMethod();System.out.println(method);//GET//访问虚拟目录String contextPath = request.getContextPath();System.out.println(contextPath);//如果是/ 则为空字符串//获取URL路径(资源的URL路径,包含三要素)StringBuffer requestURL = request.getRequestURL();//StringBufffer和StringBuilder都是字符串缓冲区 ,字符可以改变//StringBuilder线程不安全,效率高//StringBuffer线程安全,效率低String rs = requestURL.toString();System.out.println(rs);//http://localhost:8080/requestDemo1//获取URI路径(不包含三要素的URL路径)String requestURI = request.getRequestURI();System.out.println(requestURI);///requestDemo1//获取请求参数(GET方式适用)String queryString = request.getQueryString();System.out.println(queryString);//username=aa&pwd=bb}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

 

获取请求头

public String getHeader(String name)

String 的形式返回指定请求头的值。如果该请求不包含指定名称的头,则此方法返回 null。如果有多个具有相同名称的头,则此方法返回请求中的第一个头。头名称是不区分大小写的。可以将此方法与任何请求头一起使用。

name指定头名称的 String
return包含请求头的值的 String,如果该请求没有该名称的头,则返回 null

 name就是冒号左边的标识

获取请求体(POST请求)

 public ServletInputStream getInputStream()

获取字节和字符数据

public java.io.BufferedReader getReader()

获取字符数据

前端页面

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h2>POST请求</h2>
<form action="/requestDemo2" method="post"><input type="text" name="username"/> <br><input type="text" name="password"/> <br><input type="submit" value="提交"> <br>
</form>
</body>
</html>

@WebServlet("/requestDemo2")
public class RequestDemo2 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.获取输入流对象BufferedReader reader = request.getReader();String line=null;while((line=reader.readLine())!=null){System.out.println(line);//username=hhhh&password=123456}}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

浏览器:


 

获取请求参数的通用方式

get请求是getQueryString()方法

post请求是getReader(),getInputStream() 

目录

request对象的继承关系

request对象的API方法

获取请求行

String getMethod()

 public String getContextPath()

public StringBuffer getRequestURL()

public String getRequestURI()

public String getQueryString()

获取请求头

public String getHeader(String name)

获取请求体(POST请求)

 public ServletInputStream getInputStream()

public java.io.BufferedReader getReader()

获取请求参数的通用方式

public java.util.MapgetParameterMap(),>

String[] getParameterValues(String name)

 String getParameter(String name)


通用方法

public java.util.Map<String, String[]>getParameterMap()

获取所有请求参数的map集合 

String[] getParameterValues(String name)

根据参数名字获取参数值(数组)

name是前端请求参数的等号左边的key 

 String getParameter(String name)

根据参数名字获取参数值(单个值)

注意:如果参数name有多个值,取第一个

前端

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><form action="/requestDemo3" method="post">用户:<input type="text" name="username"> <br>密码:<input type="password" name="pwd"> <br>爱好:<input type="checkbox" name="hoppy" value="1">爬山<input type="checkbox" name="hoppy" value="2">游泳<br><input type="submit" value="提交"></form></body>
</html>

 

@WebServlet("/requestDemo3")
public class requestDemo3 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("前端提交数据的方式是"+request.getMethod());//获取所有请求参数的map对象Map<String, String[]> map = request.getParameterMap();map.forEach((key,value)-> System.out.println(key+"--->"+ Arrays.toString(value)));//获取指定name的参数值(数组)String[] usernames = request.getParameterValues("username");System.out.println(Arrays.toString(usernames));// //获取指定name的参数值(单个值)String hoppy = request.getParameter("pwd");System.out.println(hoppy);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

 

浏览器

 

结果:

前端提交数据的方式是POST
username--->[hhhh]
pwd--->[aa]
hoppy--->[1, 2]
[hhhh]
aa 

POST请求 如果输入的值有中文就会出现乱码的问题 

前端提交数据的方式是POST
username--->[?????????]
pwd--->[qqq]
hoppy--->[1, 2]
[?????????]
qqq 

解决方法

        //方法一://使用request对象调用方法request.setCharacterEncoding("UTF-8");//告知tomcat使用UTF-8进行解码//注意:解决请求体数据的乱码(解决POST乱码的)//方法二://使用javase的API方法String username = request.getParameter("username");username = URLEncoder.encode(username, "ISO-8859-1");//编码username = URLDecoder.decode(username,"UTF-8");//解码System.out.println(username);//方法三://使用javase的API解决即String类byte[] bytes = username.getBytes("ISO-8859-1");//编码String s = new String(bytes,"UTF-8");//解码System.out.println(s);

 

http://www.ritt.cn/news/27316.html

相关文章:

  • 最火的网站开发框架市场营销公司有哪些
  • 视频 播放网站怎么做的seo短视频
  • 安庆网站建设公司手机在线制作网站
  • iis配置静态网站龙岗网站设计
  • 网站优化公司多少钱湖南专业seo推广
  • 免费文档模板下载一键优化
  • 海安做网站博客网站seo
  • 一台服务做两个网站吗专业网络推广公司排名
  • 怎么用自己电脑做网站seo和sem的联系
  • 滕州营销型网站建设网络营销10大平台
  • 连云港市建设局网站安全员考试短链接在线生成器
  • 做网站选哪个语言网络服务商怎么咨询
  • 潍坊知名网站建设价格低站长工具seo综合查询广告
  • 网络营销具体做什么seo课程培训入门
  • 太原微网站建设app制作一个需要多少钱
  • 大连政府招标网官方网站深圳谷歌网络推广公司
  • 寮步网站建设公司百度关键词价格怎么查询
  • 5173网站做的很垃圾深圳网站优化公司
  • 做的网站百度搜索不出来的百度数据研究中心官网
  • 做视频怎样传到网站线上营销方式主要有哪些
  • 网页游戏开服表时间表seo课程
  • 重庆高端网站开发百度广告业务
  • 委托别人建设网站的合同的版本搜索引擎优化实训
  • 高级网站建设费用智慧教育
  • 做母婴的网站有哪些常用的关键词挖掘工具有哪些
  • 如何再网站上做免费广告词新产品推广方式有哪些
  • 郑州做网站的论坛广州seo外包多少钱
  • 网站推广的重要性网站推广的方式有
  • 网站建设入账哪个科目人民日报今天新闻
  • 上海网站建设服务器济南网站推广公司