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

网站建设技术招聘黄石市下陆区建设管理局网站

网站建设技术招聘,黄石市下陆区建设管理局网站,志鸿优化网官网,东莞网站推广渠道Web入门 HTTP协议HTTP请求数据的格式响应数据的格式 Web服务器前言创建和部署项目IDEA中使用Tomcat 请求响应请求响应 HTTP协议 HTTP 超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 简单来说,HTTP协议是浏览器和服务器之间建立好的约定&a…

Web入门

  • HTTP协议
    • HTTP
    • 请求数据的格式
    • 响应数据的格式
  • Web服务器
    • 前言
    • 创建和部署项目
    • IDEA中使用Tomcat
  • 请求响应
    • 请求
    • 响应

HTTP协议

HTTP

超文本传输协议,规定了浏览器和服务器之间数据传输的规则。
在这里插入图片描述
简单来说,HTTP协议是浏览器和服务器之间建立好的约定,是数据传输的规则和格式,包括请求数据的格式和响应数据的格式。
HTTP协议特点:
1.基于TCP协议:面向连接,安全
2.基于请求-响应模型的:一次请求对应一次响应
3.HTTP请求是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的

  • 缺点:多次请求不能共享数据。Java中会采用会话技术(Cookie、Session)来解决这个问题。
  • 优点:速度快。

请求数据的格式

在这里插入图片描述

请求数据分为3部分:
1.请求行:请求数据的第一行。其中GET表示请求方式,/ 表示请求资源路径,HTTP/1.1表示协议版本。
2.请求头:第二行开始,格式为key : value形式。
常见HTTP请求头:

  • Host:表示请求的主机名
  • User-Agent:浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 … Chrome/79,IE浏览器的标识类似于Mozilla/5.0(Windows NT … )like Gecko;
  • Accept:表示浏览器能接收的资源类型。
  • Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页。
  • Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip、deflate等。

3.请求体:POST请求(特有)的最后一部分,存放请求参数。
在这里插入图片描述
GET请求和POST请求的区别:
1.GET请求的请求参数在请求行中,没有请求体,POST请求的请求参数在请求体中。
2.GET请求的请求参数大小有限制,POST没有。

响应数据的格式

响应数据分为3部分:
1.响应行:响应数据的第一行。其中HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态码描述。
2.响应头:第二行开始,格式为key: value形式。
常见的HTTP响应头:

  • Content-Type:表示该响应内容的类型,例如text/html,image/jpeg;
  • Content-Length:表示该响应内容的长度(字节数);
  • Content-Encoding:表示该响应压缩算法,例如gzip;
  • Cache-Control:指示客户端应如何缓存,例如max-age=300,表示可以最多缓存300秒。

3.响应体:最后一部分,存放响应数据。
在这里插入图片描述
状态码详解

Web服务器

前言

Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让web开发更加便捷。Web服务器的作用:

  • 封装HTTP协议操作,简化开发。
  • 可以将web项目部署到服务器中,对外提供网上浏览服务。

Tomcat是一个免费开源的轻量级Web服务器,支持Servlet/JSP少量JaveEE规范,Tomcat也称为Web容器、Servlet容器,Servlet需要依赖于Tomcat才能运行。

创建和部署项目

使用org.apache.maven.archetypes:maven-archetype-webapparchetype创建Maven项目即可创建出相应的webapp目录,但是Maven项目的Java文件和resources文件需要手动添加:
在这里插入图片描述

然后将项目放置到/Tomcat/webapps目录下,即可部署完成。
在这里插入图片描述
一般JavaWeb项目会被打成war包,然后将war包放到webapps目录下,Tomcat会自动解压缩war文件。

IDEA中使用Tomcat

当我们在编写JaveWeb项目时,每写一点代码就要测试一下,所以每次就需要将项目打包然后放在Tomcat的webapps目录下,这个过程非常的麻烦。
(一)集成本地Tomcat
IDEA界面右上角Edit Configurations… --> Add New Configuration --> Tomcat Server --> Local --> Application Server --> Configure -->选择Tomcat的文件路径 --> Apply --> OK
(二)使用Tomcat Maven插件
在pom.xml页面右键generate,选择plugin template,然后添加以下代码:

<plugins><!--tomcat的插件--><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>8080</port> <!--访问端口号--><path>/</path>    <!--项目访问路径--></configuration></plugin>
</plugins>

请求响应

请求

简单参数
1.参数名与形参变量名相同,定义形参即可接收参数。

@RequestMapping("/simpleParam")
public String simpleParam(String name, Integer age){System.out.println(name+" "+age);return "OK";
}

2.方法形参名称与请求参数名称不匹配,可以使用@RequestParam完成映射

@RequestMapping("/simpleParam")
public String simpleParam(@RequestParam(name='name')String username, Integer age){System.out.println(username+" "+age);return "OK";
}

该注解的required属性默认是true,代表请求参数必须传递。
实体参数
1.简单实体对象:请求参数名与形参对象属性名相同,定义POJO接收即可。

@RequestMapping("simplePojo")
public String simplePojo(User user){System.out.println(user);return "OK";
}

2.复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套POJO属性参数。

@RequestMapping("complexPojo")
public String complexPojo(User user){System.out.println(user);return "OK";
}

数组集合参数
1.数组参数:请求参数名与形参中数组变量名相同,可以直接使用数组封装。

@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby){System.out.println(Arrays.toString(hobby));return "OK";
}

2.集合参数:请求参数名与形参中集合变量名相同,通过@RequestParam绑定参数关系。

@RequestMapping("/listParam")
public String listParam(@RequestParam List<String> hobby){System.out.println(hobby);return "OK";
}

日期参数
使用@DateTimeFormat注解完成日期参数格式转换。

@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updatetime){System.out.println(updatetime);return "OK";
}

json参数
json数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要@RequestBody标识。

@RequestMapping("/jsonParam")
public String jsonParam(@RequestBody User user){System.out.println(user);return "OK";
}

路径参数
通过请求URL直接传递参数,使用{…}来标识该路径参数,需要使用@PathVariable获取路径参数。

@RequestMapping("/pathParam/{id}/{name}")
public String pathParam(@PathVariable Integer id, @PathVariable String name){System.out.println(id);System.out.println(name);return "OK";
}

响应

1.@ResponseBody
位置:Controller类上/方法上
作用:将方法返回值直接响应,若返回值类型是实体对象/集合,转JSON格式响应。
2.统一响应结果
Result(code,msg,data)

http://www.dtcms.com/a/455963.html

相关文章:

  • 公司网站域名申请网络营销顾问
  • 前端网站开发实例网站怎么做双机房切换
  • 企业介绍微网站怎么做网站推广软件有哪些
  • 上海专业建设网站网络购物消费者行为论文
  • 网站建设 域名主机做网站哪家专业
  • 甘肃省城乡与建设厅网站首页9377网页游戏排行榜
  • wordpress更改站点名称建网站公司销售
  • 广西金兰工程建设管理有限公司网站摄影网站源码 国外
  • h5网站开发软件有哪些wordpress 图片放大
  • ppt网站源码网上广告宣传怎么做
  • 网站建设过程小结做网站之前需要准备什么条件
  • 外贸如何建立网站神箭手wordpress
  • dedecms 子网站谷歌网站推广好做吗
  • 12360官方网站下载营销型建设网站公司
  • 织梦网站如何做二级导航栏一级消防工程师考试条件
  • 北京公司网站制作企业网站备案多少钱
  • 加强单位门户网站建设的通知网站开发类标书报价明细表
  • 商业网站建设知识点怎么看一个网站是用模板什么做的
  • 选图片的网站做怎么样的网站好
  • 网站维护一般怎么做互联网保险案例
  • cms建站系统介绍自适应网站建设都找全网天下
  • 石家庄市规划建设局网站手机制作表格的软件免费
  • 自己建设网站怎么挣钱红色主题网站模板
  • 苏州建设工程合同备案网站莆田网站建设电话
  • 辽宁建设厅查询网站黄江二手车东莞网站建设
  • 建网站的费用论坛建站哪个比较好
  • 网站信息内容建设自查报告泸州做网站
  • 重庆商城网站建设公司wordpress 跳转插件
  • 简约、时尚、高端 网站建设专业优化网站排名
  • 西安网站建设招商虚拟网站源码