目录

JAVAWEB的基本入门(JSP、Tomcat)

使用idea创建web项目的两种方式

1、直接创建一个web项目(这样创建好的项目可以直接运行)

2、创建一个普通的java项目并配置web模块

新建一个普通的java项目

添加web模块

添加一个打包构建(因为必须要打包才能部署到tomcat中)

配置tomcat并且部署项目到tomcat中

第一步:



第二步:



第三步:配置好该配置的名字(自定义),指定tomcat



第四步:将项目部署到tomcat服务器中

JAVAWeb项目与JAVA项目的区别?

  • JAVAWEB项目相比于JAVA项目需要用到JAVAEE的jar包
  • JAVAWEB相比于JAVA项目,实现了B/S架构
  • JAVAWEB项目可以存放动态网页与静态网页

工作目录与部署目录的区别

  • 工作目录是你写的代码所在的目录

  • 部署目录是发布到服务器上后映射的目录(访问项目时,以该目录为根目录)

    验证:tomcat启动后,访问资源(正常访问),然后删除该目录下的文件就访问不到了

稍微说一嘴,idea在运行tomcat的机制

idea会按照你配置的tomcat为模板,创建一个copy后的tomcat来运行你的项目,每一个项目都会创建一个新的tomcat,以你配置的tomcat为模板

这个路径就是生成的tomcat

浏览器与服务器的小问题

获取浏览器时间和服务器时间

<%@ page import="java.time.LocalDateTime" %>
<%@ page import="java.time.format.DateTimeFormatter" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<% LocalDateTime date = LocalDateTime.now();
String localDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
out.print("服务器时间为:"+ localDate);
Thread.sleep(3000);
%>
<script type="text/javascript">
var date = new Date().toLocaleTimeString();
document.write("浏览器时间为:" + date);
</script>
</head>
<body>
<h1>获得服务器时间和浏览器时间小案例</h1>
</body>
</html>

浏览器向服务器发送请求的3种方式

  • 在地址栏中直接输入URL访问(get)
  • 超链接的方式(get)
  • 表单提交的方式(get/post),推荐使用post

Get请求与Post请求的区别

Get请求的特点

  • 传输方式:数据通过URL传递
  • 传输格式:只能传输文本格式
  • 大小: 传输的数据大小受到限制(URL有最长限制)
  • 传输速度快

Post请求的特点

  • 请求方式:数据通过数据包的方式隐式传递
  • 传输格式:支持任意类型的传输格式
  • 大小: 理论上无大小限制(除非服务器端限制上传大小)
  • 传输速度相比get慢

Tomcat各目录的作用,以及在IDEA中时候tomcat的一点细节

Tomcat各目录的作用

IDEA中时候tomcat的一点细节

  • 运行tomcat项目时,解决修改了静态文件需要重启tomcat服务器的问题

  • 在浏览器中访问时,虚拟路径太长的问题

理解HTTP协议

什么是HTTP协议

HTTP协议是超文本传输协议,用于规定发送各种请求,返回何种响应

HTTP工作原理

  • HTTP协议遵循 请求(request)/响应(response)模型
  • 在客户端没有发送请求给服务端时,服务端无法推送信息给客户端
  • 请求时需要建立连接,在服务器完成响应后断开,连接不会一直存在(意味着每一次请求对于服务器来说都是一个新的用户访问了一个请求)
  • 一个请求的页面中一旦引入了n个资源文件,则会多出n个请求
  • HTTP1.0时,每次请求都会建立新的TCP连接,HTTP1.1 建立的TCP连接可以复用

HTTP协议的特点

  • 支持B/S模式
  • 简单快速>能够快速有效的处理大量请求
  • 灵活> HTTP允许任意传输文件类型,使用content-type设置
  • 无状态> 浏览器与服务器之间的连接是不持久的,无法保持事物处理的状态。例如记忆用户名等(需使用cookie或者session解决)

HTTP请求规则

HTTP协议默认端口为:80

HTTPS协议默认端口为:443

requet请求的格式为:

  • 请求行:统一资源定位符(URL)、协议版本号
  • 消息报头:包含请求的各种信息
  • 可能的内容:POST请求发送的数据

response响应的格式为:

  • 状态行:包含协议的版本号、响应码
  • 消息报头:服务器信息、字符编码格式、MIME类型(文件类型)
  • 响应的正文

常见的响应码

1XX:信息相响:表示接受到请求并且继续处理

2XX:处理成功响应:表示动作被成功的接收、理解和接受

3XX:重定向响应:为了完成指定的动作,必须完成进一步处理和操作

4XX:客户端错误:客户请求包含语法错误或者是不能正确执行

5XX:服务器端错误:服务器端不能正确执行一个正确的请求

200 OK //客户端请求成功

302 REDIRECT //重定向

403 Forbidden //服务器收到请求,但是拒绝提供服务(没有权限)

404 Not Found //请求资源不存在,如输入了错误的URL

500 Internal Server Error //服务器发生不可预期的错误

JAVAWEB的基本入门(JSP、Tomcat)>从零开始学JAVA系列的更多相关文章

  1. JSP的执行原理、JSP的内置对象、四大作用域解析、MVC模式理解>从零开始学JAVA系列

    目录 JSP的执行原理.JSP的内置对象.四大作用域解析.MVC模式理解 JSP的执行原理 这里拿一个小例子来解析JSP是如何被访问到的 首先将该项目部署到tomcat,并且通过tomcat启动 通过 ...

  2. JAVAWEB过滤器、监听器的作用及使用>从零开始学JAVA系列

    目录 JAVAWEB过滤器.拦截器的作用及使用 过滤器Filter 什么是过滤器 为什么要使用过滤器(过滤器所能解决的问题) 配置一个过滤器完成编码的过滤 编写一个EncodingFilter(名称自 ...

  3. JAVAWEB - Servlet原理及其使用>从零开始学JAVA系列

    目录 Servlet原理及其使用 什么是Servlet Servlet的使用 编写一个Servlet,使用继承HttpServlet的方式 配置web.xml 很简单的几个JSP文件 小提示,如果继承 ...

  4. JAVA数组的基础入门>从零开始学java系列

    目录 JAVA数组的基础入门 什么是数组,什么情况下使用数组 数组的创建方式 获取数组的数据 数组的内存模型 为什么数组查询修改快,而增删慢? 查询快的原因 增删慢的原因 数组的两种遍历方式以及区别 ...

  5. IDEA使用Tomcat时控制台乱码的解决方案>从零开始学JAVA系列

    IDEA使用Tomcat时控制台乱码的解决方案 解决方案1,修改启动时虚拟机参数 解决方案2,修改idea的设置 解决方案3,修改idea配置文件 在最后添加一行 '-Dfile.encoding=U ...

  6. spring框架的学习->从零开始学JAVA系列

    目录 Spring框架的学习 框架的概念 框架的使用 Spring框架的引入 概念 作用 内容 SpringIOC的学习 概念 作用 基本使用流程 SpringIOC创建对象的三种方式 通过构造器方式 ...

  7. Session与Cookie的原理以及使用小案例>从零开始学JAVA系列

    目录 Session与Cookie的原理以及使用小案例 Cookie和Session所解决的问题 Session与Cookie的原理 Cookie的原理 Cookie的失效时机 小提示 Session ...

  8. 数据库建模、面向对象建模>从零开始学java系列

    目录 数据库建模 前置知识 使用PowerDesigner数据库建模设计 一对多CDM概念数据模型设计 多对多的PDM物理数据模型设计(针对mysql) PowerDesigner将不同的模型进行转换 ...

  9. 进入mysql的学习>从零开始学JAVA系列

    目录 MySQL的学习 什么是MYSQL 安装MYSQL Window安装MYSQL(压缩包版) 什么是MYSQL 安装MYSQL Window安装MYSQL(压缩包版) MYSQL基本指令 DDL ...

随机推荐

  1. 初学springboot

    现在总是与数据库和前端打交道,让我觉得好厌烦,还是喜欢敲代码.最近问了几个朋友,都说潮流要学springCloud,然后学springCloud又要先学springboot,所以这段时间我会慢慢把sp ...

  2. 精尽Spring Boot源码分析 - Jar 包的启动实现

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  3. jenkins+nexus上传插件发布制品到nexus

    nexus安装 nexus安装参考:https://www.cnblogs.com/afei654138148/p/14974124.html nexus配置 创建制品库 制品库URL:http:// ...

  4. 29、Tomcat只允许指定域名访问,禁用IP地址访问,防止恶意解析

    1.1.测试环境说明: Linux版本:7.6 IP地址:10.11.220.123/24 Tomcat版本:tomcat-8.5.37(端口号为8080) Jdk版本:1.8.0_202 1.2.配 ...

  5. CSP_J 纪念品题解

    题目: 小伟突然获得一种超能力,他知道未来 T 天 N 种纪念品每天的价格.某个纪念品 的价格是指购买一个该纪念品所需的金币数量,以及卖出一个该纪念品换回的金币数量. 每天,小伟可以进行以下两种交易无 ...

  6. kubernates 1.20.6安装

    kubernates 安装 1. 前置要求 硬件条件 三台主机 1主2从 硬件配置 master 2核4G slave 2核2G 2. 安装 访问GitHub 仓库 https://github.co ...

  7. RabbitMQ 常用知识点总结

    基础 为什么使用 MQ? 1.削峰:在某个模块接收到超过最大承受的并发量时,可以通过 MQ 排队来使这些削减同一时刻处理的消息量.减小并发量. 2.解耦:在发送 MQ 处理业务时,可以使业务代码与当前 ...

  8. 可执行jar包在windows server2008下的自启动

    最近要部署项目的服务端在windows server2008下面,所以把项目打包成可执行的jar包,然后希望它能开机自启动,毕竟每次都在cmd下输入java -jar xxx.jar才能启动太繁琐了. ...

  9. linux之软连接 硬链接 link ln

    p.p1 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(220, 161, 13, 1) } p.p2 { margi ...

  10. [小技巧] 在bash中生成随机数

    译至:http://d.hatena.ne.jp/anmino/20091017/1255705586 bash的SHELL参数RANDOM可以生成0-32767的随机数.想设定从1到N的随机数范围的 ...