尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版
illuca
2025年11月17日 00:20

099.尚硅谷_Tomcat-JavaWeb概念 P99 - 03:21

100.尚硅谷_Tomcat-Web资源的分类 P100 - 01:25

101.尚硅谷_Tomcat-常见Web服务器 P101 - 01:11

各种java web服务器

  1. javaweb

  2. Jboss

  3. GlassFl

  4. Resin

  5. WebLogic

102.尚硅谷_Tomcat-Tomcat服务器和Servlet版本的对应关系 P102 - 00:12

Tomcat服务器和servlet版本的对应关系

104.尚硅谷_Tomcat-Tomcat目录的介绍 P104 - 03:14

112.尚硅谷_Tomcat-第二种部署web工程的方式 P112 - 00:32

第二种部署方法

113.尚硅谷_Tomcat-手托html页面和在浏览器中输入地址访问的背后不同原因 P113 - 01:11

手托浏览器和ip访问有什么区别?

116.尚硅谷_Tomcat-如何创建动态的web工程 P116 - 03:26

  1. 选用Java Enterprice版本, 勾选Web application

  2. 创建成功

117.尚硅谷_Tomcat-动态web工程目录的介绍 P117 - 04:02

各目录、各文件有什么用?

  1. src

  2. web

    1. WEB-INF

      1. lib

      2. web.xml

    2. index.jsp

  3. 05_web.iml

118.尚硅谷_Tomcat-给Tomcat添加第三方jar包 P118 - 04:56

  1. File-> Project Structure->Libraries,添加jar包

  2. artifact fix

119.尚硅谷_Tomcat-如何在IDEA中启动部署web模板 P119 - 00:53

部署到Tomcat上

把tomcat实例改成对应工程名

可以修改打开地址

119.尚硅谷_Tomcat-如何在IDEA中启动部署web模板 P119 - 11:41

tomcat run文件各个按钮

必须把把brew的 tomcat给关了, 防止端口占用8080

120.尚硅谷_Tomcat-Tomcat实例使用的其他细节说明 P120 - 01:19

修改模块的工程路径

121.尚硅谷_Servlet-什么是Servlet P121 - 01:35

什么是servlet?

122.尚硅谷_Servlet-第一个Servlet程序 P122 - 01:19

手动实现servlet程序

122.尚硅谷_Servlet-第一个Servlet程序 P122 - 05:02

web.xml配置

  1. servlet-name有什么用

122.尚硅谷_Servlet-第一个Servlet程序 P122 - 09:35

servlet-mapping

/hello对应HelloServlet是怎么做到的?

125.尚硅谷_Servlet-Servlet生命周期方法 P125 - 00:43

servlet生命周期

126.尚硅谷_Servlet-请求的分发处理 P126 - 06:00

继承Servlet实现service方法

service {

getMethod来获得请求方式,

对get、post做出不同回应

}

127.尚硅谷_Servlet-通过继承HttpServlet类实现Servlet程序 P127 - 05:16

继承Httpervlet重载doGet、doPost来做出不同回应

128.尚硅谷_Servlet-IDEA菜单生成Servlet程序 P128 - 02:14

选上create java就会是3.0注解版本进行配置

不选就是2.5

129.尚硅谷_Servlet-整个Servlet类的继承体系 P129 - 12:46

Servlet的体系:

重写doGet,doPost实现请求分发

130.尚硅谷_Servlet-ServletConfig类使用介绍 P130 - 00:54

在init中使用

ServletConfig类的作用:

  1. 别名

  2. 初始化参数

  3. context

131.尚硅谷_Servlet-ServletConfig类的补充说明 P131 - 00:41

ServletConfig类是从哪来的?

是tomcat创建的

我们负责使用

132.尚硅谷_Servlet-ServletContext对象的介绍 P132 - 01:31

  1. 什么是ServletContext?

    1. 是域对象

  2. 什么是域对象?

    1. name, value

133.尚硅谷_Servlet-ServletContext对象作用的演示 P133 - 01:15

ServletContext有什么用?

getRealPath("/")对应web文件夹

对应工程路径: /Users/illuca/JavaWeb/out/artifacts/06_servlet_war_exploded/

即web=06_servlet_war_exploded

说明web是被当成vscode中的workspace

135.尚硅谷_Servlet-什么是HTTP协议 P135 - 01:27

什么是HTTP协议?

HTTP协议就是规则

136.尚硅谷_Servlet-GET请求HTTP协议内容介绍 P136 - 05:57

Get请求的HTTP协议格式:

  1. 请求行

    1. 请求方式 GET

    2. 请求的资源路径

  2. 请求头, 不同的键值对

    1. accpet: 告诉服务器客户端可以接受的数据类型

    2. 告诉服务器客户端可以接受的语言类型

    3. accept-encoding

    4. host

    5. keep-alive

    6. closed

137.尚硅谷_Servlet-POST请求HTTP协议内容介绍 P137 - 00:49

什么是POST请求?

请求行的格式?

点击context_post请求按钮,会发送post请求

137.尚硅谷_Servlet-POST请求HTTP协议内容介绍 P137 - 03:10

通过action=""跳转到相应路径

137.尚硅谷_Servlet-POST请求HTTP协议内容介绍 P137 - 09:36

referer: 表示请求发起时浏览器的地址

这样我就可以知道谁给我导流比较多

138.尚硅谷_Servlet-常用请求头 P138 - 00:07

常用请求头

139.尚硅谷_Servlet-哪些是GET请求,哪些是POST请求 P139 - 02:00

  1. 那些是Get请求

    1. 回车是get

  2. 那些是Post请求

140.尚硅谷_Servlet-响应的HTTP协议介绍 P140 - 05:28

响应行

响应头: 键值对

响应体

143.尚硅谷_Servlet-谷歌浏览器和火狐浏览器如何查看HTTP协议 P143 - 02:37

在google中response是响应体

144.尚硅谷_Servlet-HttpServletRequest类的介绍 P144 - 01:34

HttpServletRequest有什么用?

客户端发送的请求进入tomcat服务器,

服务器把请求封装到request对象中

传递到service方法中(doGet、doPost)

即可以通过HttpServletRequest获取到所有请求的信息

149.尚硅谷_Servlet-请求转发 P149 - 00:23

什么是请求转发?

149.尚硅谷_Servlet-请求转发 P149 - 20:56

不能访问外面的资源

150.尚硅谷_Servlet-base标签的作用 P150 - 11:32

base目录

../是去掉目录

不是目录直接去掉, 不消耗../

b/表明是一个目录

否则就会认为是文件

151.尚硅谷_Servlet-回顾javaweb中的路径 P151 - 01:09

绝对路径:

http://ip:port/工程路径/资源路径

152.尚硅谷_Servlet-斜杠在web中的不同意义 P152 - 01:52

斜杠的不同含义

154.尚硅谷_Servlet-两个响应流的介绍 P154 - 03:36

字符流和字节流冲突

158.尚硅谷_Servlet-请求重定向 P158 - 06:16

什么是重定向

159.尚硅谷_Servlet-请求重定向第二种实现方案 P159 - 00:36

请求重定向的第二种方法

resp.sendRedirect("http://localhost:8080")

161.尚硅谷_书城项目-JavaEE三层架构介绍 P161 - 03:17

JavaEE三层架构

视图层spring mvc

业务层

持久层 jdbc, mybatis

162.尚硅谷_书城项目-搭建书城项目环境 P162 - 01:14

为什么要分层?

为什么要解耦?

  1. web层

  2. service

  3. dao

  4. 实体bean

166.尚硅谷_书城项目-编写BaseDao P166 - 01:13

复用代码类一般是抽象的

abstract166.尚硅谷_书城项目-编写BaseDao P166 - 09:14

查询返回多个javabean

166.尚硅谷_书城项目-编写BaseDao P166 - 11:16

返回一行一列的sql语句

168.尚硅谷_书城项目-编写UserService和测试 P168 - 02:58

接口有一种大纲的感觉,而具体的实现就根据大纲来

接口中写注释,实现中就不用写注释了

170.尚硅谷_书城项目-IDEA工具Debug的使用 P170 - 17:32

方法栈调用

173.尚硅谷_jsp-jsp的小结 P173 - 00:16

jsp是什么?

因为html是静态页面, 而jsp是动态页面,

这样我们可以通过服务器改变变量数据,

我之前用nodeJS是用

173.尚硅谷_jsp-jsp的小结 P173 - 02:22

jsp存放在web目录下

每次启动tomcat服务器,都会清空08_servlet缓存

而启动后,第一次访问index.jsp,就会翻译为java源文件,并且编译成class字节码

第一次访问test.jsp也是

关闭tomcat服务器又会清空

该java源文件间接继承了HttpServlet,即该文件是一个Servlet程序

即jsp就是Servlet程序

其实还是不停地writer,只不过不用我们自己干了

175.尚硅谷_jsp-jsp的page指令 P175 - 03:40

jsp page

  1. jsp返回的数据类型

  2. jsp页面本身用的什么字符集

  3. 支持的语言

  4. 导包import

  5. 当writer缓冲区满了后, 是否自动刷新

  6. 缓冲区大小8kb比较好用

176.尚硅谷_jsp-声明脚本 P176 - 03:13

写jsp其实就是写操纵java

只是所有的变量都必须声明在<%! %>中

177.尚硅谷_jsp-表达式脚本 P177 - 07:30

表达式脚本不以分号结束

178.尚硅谷_jsp-代码脚本 P178 - 06:13

代码脚本翻译之后都在jspService中

179.尚硅谷_jsp-jsp中的三种注释 P179 - 00:03

只有jsp注释才是真正的注释

180.尚硅谷_jsp-jsp中的九大内置对象 P180 - 01:27

jsp九大内置对象

  1. 请求

  2. 响应对象

  3. jsp上下文对象

  4. 会话对象

  5. ServletContext对象

  6. ServletCOnfig对象

  7. jsp输出流对象

  8. j指向当前jsp的对象

  9. 异常对象

181.尚硅谷_jsp-四个域对象的演示 P181 - 02:22

jsp四大域对象

域对象是可以像Map一样存取数据的

request域有值: 一次请求

session有值: 浏览器没关

application有值: 服务器没关

182.尚硅谷_jsp-out和response输出的区别 P182 - 09:36

两种写入页面有什么区别?

out.wirte和response.getWriter().write

他们有各自的缓冲区

out.flush会把out缓冲区的东西写入response缓冲区

因为out.write会把int转换为char,丧失原数据意思

统一用out.print就完了

183.尚硅谷_jsp-常用标签 之 静态包含 P183 - 08:54

什么是静态包含?

只是把东西囊括

184.尚硅谷_jsp-常用标签 之 动态包含 P184 - 00:51

什么是动态包含?

188.尚硅谷_jsp-请求转发的使用说明 P188 - 08:47

jsp仅仅是负责显示

req.getRequestDispatcher("/test/showStudent.jsp").forward(req, resp);

调用了showStudent.jsp,但是没有跳转到那里

因为jsp的本质也是servlet,其实就是jsp_servlet改变了body的值,造成了页面的变化

190.尚硅谷_jsp-ServletContextListener监听器演示 P190 - 05:46

ServletContextListener有什么用?

  1. 监听Servlet创建

  2. 监听Servlet销毁

191.尚硅谷_EL表达式-什么是EL表达式,以及它的作用 P191 - 01:33

为什么要用EL表达式?

193.尚硅谷_EL表达式-EL表达式输出复杂的Bean对象 P193 - 14:52

EL找的是属性的get方法

隐式调用

200.尚硅谷_EL表达式-pageScope、requestScope、sessionScope、applicationScope的示例 P200 - 02:59

四个域都含有相同的key

会遵循一定的优先顺序

而scope可以解决这个问题

201.尚硅谷_EL表达式-pageContext演示 P201 - 09:48

在EL表达式中没有request对象

只能通过各种context

但是我们可以进行简化

比如pageContext.setAttribute("req",request)

${req.scheme}代替${pageContext.request.scheme}

212.尚硅谷_JSTL标签库-forEach标签所有属性组合使用介绍 P212 - 04:22

输出dollar表示内部类

212.尚硅谷_JSTL标签库-forEach标签所有属性组合使用介绍 P212 - 13:00

boolean在生成get方法时是is而不是get

216.尚硅谷_文件上传-使用fileupload解析上传的数据 P216 - 00:51

只有多段的数据才是文件上传