目录

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. 如何回答面试中问到的Hibernate和MyBatis的区别

    这边主要是写给那些准备去面试的(没什么经验的)应聘者看的,为了在面试中更好的回答这个问题,我做一个简单的梳理和总结. 作为一名职场新人,经历过多次的面试,由于在简历中提及了Hibernate和MyBa ...

  2. 一文带你走遍Git世界,教会你Git的使用

    @ 目录 这篇文章教会Git 1. Git是什么? 1.1 发展历程 1.2 Git是什么? 1.3 Git和SVN 2.Git有什么用? 2.1 代码合并 2.2 代码备份 2.3 代码还原 2.4 ...

  3. gitla 报错 The project you were looking for could not be found or you don't have permission to view it.

    gitlab项目组下创建项目 $ git push -u git@192.168.101.129:/DrvOps/Dev_Test : 报错信息如下: remote: ================ ...

  4. POJ 2236 Wireless Network 第一次做并查集,第一次写博客

    题意是判断两台电脑是否能通讯,两台修好的电脑距离在指定距离内可直接通讯,且两台修好的电脑能通过一台修好的电脑间接通讯.代码如下: #include <iostream> #include ...

  5. Channel Allocation 贪心涂色

    Channel Allocation 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> ...

  6. centos Sonarqube ldap(AD域) 配置

    1. 测试ad 连接 命令: ldapsearch -h 192.168.1.4 -D LXWJadmin@wjj.local -w 用户密码 -b "OU=蓝翔技校,OU=挖掘机事业群,O ...

  7. doc系统maven打包脚本

    chcp 65001@echo off title 打包神器,龙爷造. echo ============================= echo 姓名:Long echo 日期:2020-08- ...

  8. pybot参数

    p.p1 { margin: 0; font: 12px "Helvetica Neue" } p.p2 { margin: 0; font: 12px "Helveti ...

  9. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

    4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...

  10. XCTF easyGo

    拖入ida,发现符号表需要还原一下,载入一个还原符号表的脚本. go这个语言就有点恶心,字符串后面没有反斜杆零,ida识别出来,字符串就会挤在一堆,就很难看,看了某位师傅的wp,觉得这方法不错,就记录 ...