JavaWeb开发 —— Web入门

目录

一、Spring

二、SpringBootWeb快速入门

三、HTTP协议

1.  概述

2.  请求协议

3.  响应协议

四、Web服务器 - Tomcat

1.  介绍

2.  基本使用

3.  入门程序解析


一、Spring

① 官网:http://spring.io

 Spring 发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能。

③ Spring全家桶:

而我们直接基于 Spring Framework 框架的开发会存在配置繁琐、入门难度大两大缺点。

因此,又推出 Spring Boot 来简化配置、快速开发,但是其底层仍是Spring 。


Spring Boot 可以帮助我们非常快速的构建应用程序、简化开发、提高效率。

如何快速构建一个Spring应用:https://spring.io/quickstart

二、SpringBootWeb快速入门

① 需求:使用 SpringBoot 开发一个web应用,浏览器发起请求 /hello 后,给浏览器返回字符串 "Hello World ~"。

基于 Spring Boot 开发一个Web应用并启动,再打开浏览器并在地址栏访问Web应用(http:协议、localhost:当前本机服务、8080:端口号、/hello:访问的资源),发送请求会被Web程序处理,最终返回字符串给浏览器并展示。

 ② 开发步骤:

  1. 创建 springboot 工程,并勾选web开发相关依赖。
  2. 定义 Hellocontroller 类,添加方法 hello,并添加注解。
  3. 运行测试。
//请求处理类
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        System.out.println("hello world");
        return "hello world";
    }
}

//启动类:启动Springboot工程
@SpringBootApplication
public class SpringbootWebPro01Application {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootWebPro01Application.class, args);
    }

}

三、HTTP协议

1.  概述

① 概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

  • 客户端浏览器请求服务器获取数据,因此浏览器就需要向服务器端发送请求,服务器端进而向浏览器响应对应数据。
  • 而浏览器向服务器发送请求就需要携带请求数据,服务器接收这些数据后就解析这些数据,而服务器要想成功解析这些数据,就需要知道浏览器发送过来的数据的具体信息。
  • 因此,浏览器和服务器之间要建议一定的协议,浏览器发送数据按照该格式发送,服务器端也按照该格式进行解析。

例如上述 /hello 案例:

 ② 特点:

  1. 基于TCP协议:面向连接,安全
  2. 基于请求-响应模型的:一次请求对应一次响应
  3. HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。缺点:多次请求间不能共享数据。优点:速度快

2.  请求协议

 常见请求头:

Host请求的主机名
User - Agent浏览器版本,例如Chrome浏览器的标识类似MOzilla/5.0 ... Chrome/79,IE浏览器的标识类似Mozilla/5.0 (WindowsNT ....) like Gecko
Accept表示浏览器能接收的资源类型,如 text/* ,image/* 或者 */* 表示所有。
Accept - Language表示浏览器偏好的语言,服务器可以据此返回不同语言的网页。
Accept - Encoding表示浏览器可以支持的压缩类型,例如gzip,deflate等。
Content - Type请求主体的数据类型。
Content - Length请求主体的大小(单位:字节)。

请求方式 - GET:请求参数在请求行中,没有请求体,如:/brand/findAll?name=OPPO&status=1。GET请求大小是有限制的。

请求方式 - POST:请求参数在请求体中,POST请求大小是没有限制的。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="get">
  姓名:<input type="text" name = "name">
  密码:<input type="password" name="password">
  <input type="submit" value="提交表单Get">
</form>

<br><br><br>

<form action="" method="post">
  姓名:<input type="text" name = "name">
  密码:<input type="password" name="password">
  <input type="submit" value="提交表单Get">

</form>
</body>
</html>

3.  响应协议

① 响应状态码:

1xx响应中-临时状态码,表示请求已经接收,告诉客户端应该继续请求或者如果它已经完成则忽略它。
2xx成功-表示请求已经被成功接收,处理已完成。
3xx重定向-重定向到其他地方,让客户端再发起一次请求以完成整个处理。
4xx客户端错误-处理发生错误,责任在客户端。如:请求了不存在的资源、客户端未被授权、禁止访问等。
5xx服务器错误-处理发生错误,责任在服务端。如:程序抛出异常等。

② 常见的响应状态码:

状态码英文描述解释
200OK客户端请求成功,即处理成功,这是我们最想看到的状态码
302Found指示所诸求的资源已移动到出Location响应头给定的URL,浏览器会自动重新访问到这个页面。
304Not Modified告诉客户端。你请求的资源至上次取得后,服务端并未更改。你直接用你本地级存吧,隐式重定向。
400Bad Request客户端请求有语法错误,不能被服务器所理解。
403Forbidden服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源。
404Not Found请求资源不存在,一般是URL输入有误,或者网站资源被删除了。
405Method Not Allowed请求方式有误,比如应该用GET请求方式的资率,用了POST
428Precondition Required服务器要求有条件的请求,告诉客户端委想访问该资源,必须携带特定的请求头。
429Too Many Requests指示用户在给定时间内发送了太多请求("限速"),配合Retry-After(多长时间后可以请求]响应头一起使用。
431Request Header Fields Too Large请求头太大,服务器不题愈处理请求,因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交。
500Internal Server Error服务器发生不可预期的错误。服务器出异常了,赶紧看日志去吧。
503Service Unavailable服务器尚未准备好处理请求。服务器刚刚启动,还未初始化好。

 状态码大全:http://cloud.tencent.com/developer/chapter/13553

③ 常见响应头:

Content-Type表示该响应内容的类型,例如:text/html,application/json。
Content-Length表示该响应内容的长度(字节数)。
content-Encoding表示该响应压缩算法,例如gzip。
Cache-Control指示客户端应如何缓存,例如:max-age=300表示可以最多缓存300秒。
Set-Cookie告诉浏览器为当前页面所在的域设置cookie。

四、Web服务器 - Tomcat

Web服务器是一个软件程序,对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让web开发更加便捷。主要功能是"提供网上信息浏览服务”。

我们只要在服务器端安装一个Web服务器,比如Apache Tomcat,我们就可以将我们开发好的应用部署在Tomcat服务器上,启动服务器后就可以打开浏览器直接访问到部署在Tomcat服务器上的应用程序。

1.  介绍

① 概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范 
② JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJBRMI、JSP、Servlet、XML、JMS、Java lDL、JTS、JTA、JavaMail、JAF。
③ Tomcat 也被称为Web容器、Servlet容器。Servlet程序需要依赖于Tomcat才能运行。
④ 官网:https://tomcat.apache.org/

2.  基本使用

① 下载:官网下载,地址 https://tomcat.apache.org/download-90.cgi

② 安装:绿色版,直接解压即可

③ 卸载:直接删除目录即可

④ 启动:双击:bin\startup.bat

  • 控制台中文乱码:修改 conf / logging.properties
  • java.util.logging.ConsoleHandler.level = FINE
    java.util.logging.ConsoleHtandler.formatter = org.apache.juli.OneLineFormatter
    java.util.logging.ConsoleHandler.encoding = GBK

⑤ 关闭:

  • 直接x掉运行窗口:强制关闭
  • bin\shutdown.bat:正常关闭
  • Ctrl+C:正常关闭

常见问题:

① 启动窗口一闪而过:检查JAVA_HOME环境变量是否正确配置。

② 端口号冲突:找到对应程序,将其关闭掉。

  • 可以通过任务管理器-详细信息,结束掉java.exe进程
  • 也可以重新配置Tomcat端口号(conf/server.xml)
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"/>

注意事项:HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号。

⑥ Tomcat 部署项目:将项目放置到webapps目录下,即部署完成

3.  入门程序解析

① 起步依赖:

② 内嵌Tomcat:

  •  在SpringBoot Web开发当中,已经将Tomcat集成进来。
  •  所以在我们运行启动类在启动SpringBoot项目时,会自动将内部的Tomcat服务器启动起来,并且占用Tomcat默认端口号8080。
  •  而这个端口号并不是之前安装的Web的Tomcat,而是SpringBoot外部环境内置的Tomcat,也叫内嵌Tomcat。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hgngy.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值