资讯详情

JavaWeb——动态 web 资源开发

1.1 系统架构的形式是什么?

1.2 C/S架构

1.3 B/S架构

1.4 C/S和B/S如何选择结构系统?

1.5 开发一个WEB系统需要哪些技术?

1.6 Java EE是什么?

2.1 WEB访问系统

2.2 域名

2.3 IP地址

2.4 端口号

2.5 WEB系统通信原理

2.6 URL

2.7 请求、响应

3.1 WEB什么是服务器软件?

3.2 应用服务器和WEB服务器关系

3.3 Tomcat下载

4.1 实现web应用的步骤

4.2 为何不使用超链接访问?

5.1 在整个BS结构系统中的角色是什么?

5.2 角色之间需要遵守哪些规范和协议?

5.3 Servlet规范

6.1 充当SUN制定公司角色Servlet规范

6.2 充当Tomcat服务器的开发者

6.3 充当Webapp的开发者

6.4 通过我们的分析:

6.5 Servlet规范规定了什么?

7.1 开发步骤

12.1 集成开发工具

12.2 使用IDEA中开发Servlet

13.1 什么是Servlet对象生命周期?

13.2 Servlet对象是由谁来维护的?

13.3 我们自己new的Servlet对象受WEB容器的管理吗?

13.4 Servlet对象生命周期

14.1 编写一个Servlet类直接实现Servlet接口有什么缺点?

14.2 适配器设计模式Adapter

14.3 如何编写GenericServlet抽象类?

14.4 怎么改造GenericServlet类更利于子类程序的编写?

15.1 什么是ServletConfig?

15.2 ServletConfig接口中常用的方法

16.1 什么是ServletContext?

16.2 形象描述ServletContext

16.3 ServletContext是一个接口

16.4 ServletContext接口中常用的方法

16.5 ServletContext对象的使用

18.1 什么是协议?

18.2 什么是HTTP协议?

18.3 HTTP的请求协议(B --> S)

18.4 HTTP的响应协议(S --> B)

18.5 怎么查看的协议内容?

18.6 怎么向服务器发送GET请求、POST请求?

18.7 GET请求和POST请求有什么区别?

18.8 GET请求和POST请求如何选择?

18.9 get和post请求的格式统一

19.1 什么是设计模式?

19.2 有哪些设计模式?

19.3 什么是模板方法设计模式?

20.1 HttpServlet在哪个包下?

20.2 servlet规范中的接口

20.3 http包下都有哪些类和接口?

20.4 HttpServletRequest对象中封装了什么信息?

20.5 Servlet生命周期

20.6 HttpServlet源码分析

20.7 我们编写的类直接继承HttpServlet,直接重写HttpServlet类中的service()方法行吗?

20.8 Servlet类的开发步骤:

21.1 什么是一个web站点的欢迎页面?

21.2 怎么设置欢迎页面?

21.3 一个webapp是可以设置多个欢迎页面的

21.4 Tomca默认配置了index.html

21.6 欢迎页可以是一个Servlet吗?

23.1 关于HttpServletRequest接口

23.2 HttpServletRequest接口的实现类谁写的? HttpServletRequest对象是谁给创建的?

23.3 HttpServletRequest对象中都有什么信息?都包装了什么信息?

23.4 request和response对象的生命周期

23.5 HttpServletRequest接口中常用的方法

23.6 应用域与请求域

23.7 两个Servlet如何共享数据?

23.8 转发的下一个资源不一定是Servlet

23.9 HttpServletRequest接口的其他常用方法:

实现步骤:

第一步:准备一张数据库表。(sql脚本)

第二步:准备一套HTML页面(项目原型)

第三步:分析我们这个系统包括哪些功能?

第四步:在IDEA当中搭建开发环境

第五步:查看部门列表

第六步:查看部门详情。

第七步:删除部门

第八步:新增部门

第九步:跳转到修改部门的页面

第十步:修改部门

25.1 转发和重定向的区别

25.2 转发和重定向应该如何选择?

25.3 跳转的下一个资源有没有要求呢?必须是一个Servlet吗?

25.4 转发会存在浏览器的刷新问题。

26.1 分析oa项目中的web.xml文件

26.2 注解式开发的优点

26.3 web.xml文件何时用?

26.4 如何书写注解?

26.5 注解对象的使用格式

28.1 存在什么问题?

28.2 怎么解决这些问题?

29.1 关于会话

29.2 为什么需要session对象来保存会话状态呢?

29.3 为什么不使用request对象保存会话状态?为什么不使用ServletContext对象保存会话状态?

29.4 session对象的实现原理

29.5 Cookie禁用

29.6 域对象

29.7 解决oa项目中的登录问题,让登录起作用。

29.8 会话结束

29.9 销毁session对象

30.1 session与cookie的联系

30.2 cookie与session有什么不同?

30.3 cookie的经典案例

30.4 关于cookie和session机制

30.5 在java的servlet中,对cookie提供了支持

30.6 关于cookie的有效时间

30.7 关于cookie的path,cookie关联的路径:

30.8 浏览器发送cookie给服务器了,服务器中的java程序怎么接收?

30.9 使用cookie实现一下十天内免登录功能。

31.1 总结解决中文数据库乱码或者页面显示乱码问题

31.2 request和response的乱码解决

31.3 解决doc命令窗口乱码和IDEA工具控制台乱码问题

1.1 第一个JSP程序

1.2 JSP的本质

1.3 jsp文件第一次访问的时候为什么比较慢?

1.4 JSP是什么?

1.6 JSP和Servlet的区别

2.1 jsp文件内容都会自动被翻译到哪里?

2.2 JSP的page指令,解决响应时的中文乱码问题:

2.2 怎么在JSP中编写Java程序:

2.3 在JSP中如何编写JSP的专业注释

2.4 JSP基础语法总结:

3.1 EL表达式基本的语法格式及简单使用

3.2 ${abc} 和 ${“abc”}的区别是什么?

3.3 ${userObj} 底层是怎么做的?

3.4 如何输出对象的属性值?

3.5 EL表达式优先从小范围中读取数据。

3.6 EL表达式中有四个隐含的隐式的范围:

3.7 EL表达式取数据的时候有两种形式:

3.8 EL表达式怎么从集合和数组中取数据?

3.9 page指令中忽略EL表达式的属性

3.10 EL表达式中其他的隐式对象:

3.11 EL表达式的运算符

2.1 第一步:引入JSTL标签库对应的jar包。

2.2 第二步:在JSP中引入要使用标签库。(使用taglib指令引入标签库。)

2.3 第三步:在需要使用标签的位置使用即可。


Servlet

01 系统架构

1.1 系统架构包括什么形式?

  • C/S架构
  • B/S架构

1.2 C/S架构

	QQ(先去腾讯官网下载一个QQ软件,几十MB,然后把这个客户端软件安装上去,然后输入QQ号以及密码,登录之后,就可以和你的朋友聊天了,就可以使用这个软件了。)

:需要安装特定的客户端软件。

  • 优点:
    • 速度快(软件中的数据大部分都是集成到客户端软件当中的,很少量的数据从服务器端传送过来,所以C/S结构的系统速度快)
    • 体验好(速度又快,界面又酷炫,当然体验好了。)
    • 界面酷炫(专门的语言去实现界面的,更加灵活。)
    • 服务器压力小(因为大量的数据都是集成在客户端软件当中,所以服务器只需要传送很少的数据量,当然服务器压力小。)
    • 安全(因为大量的数据是集成在客户端软件当中的,并且客户端有很多个,服务器虽然只有一个,就算服务器那边地震了,火灾了,服务器受损了,问题也不大,因为大量的数据在多个客户端上有缓存,有存储,所以从这个方面来说,C/S结构的系统比较安全。)
  • 缺点:
    • 升级维护比较差劲。(升级维护比较麻烦。成本比较高。每一个客户端软件都需要升级。有一些软件不是那么容易安装的。)

1.3 B/S架构

  • http://www.baidu.com
  • http://www.jd.com
  • http://www.126.com

  • 实际上B/S结构的系统还是一个C/S,只不过这个C比较特殊,这个Client是一个固定不变浏览器软件。

  • 优点:

    • 升级维护方便,成本比较低。(只需要升级服务器端即可。)
    • 不需要安装特定的客户端软件,用户操作极其方便。只需要打开浏览器,输入网址即可。
  • 缺点:

    • 速度慢(不是因为带宽低的问题,是因为所有的数据都是在服务器上,用户发送的每一个请求都是需要服务器全身心的响应数据,所以B/S结构的系统在网络中传送的数据量比较大。)
    • 体验差(界面不是那么酷炫,因为浏览器只支持三个语言HTML CSS JavaScript。在加上速度慢。)
    • 不安全(所有的数据都在服务器上,只要服务器发生火灾,地震等不可抗力,最终数据全部丢失。)

在这里插入图片描述

1.4 C/S和B/S结构的系统如何选择?

C/S和B/S结构并不是哪个好,哪个不好。

娱乐性软件建议使用?

  • C/S 结构

公司内部使用的一些业务软件建议使用?

  • 公司内部使用的系统,需要维护成本低。
  • 公司内部使用的系统,不需要很酷炫。
  • 公司内部使用的企业级系统主要是能够进行数据的维护即可。
  • B/S 结构。

1.5 开发一个WEB系统需要哪些技术?

开发B/S结构的系统,其实就是开发网站,其实就是开发一个WEB系统。

  • WEB前端(运行在浏览器上的程序。)
    • HTML
    • CSS
    • JavaScript
  • WEB后端(WEB服务器端的程序。)
    • Java可以(Java做WEB开发我们称为JavaWEB开发。JavaWEB开发最核心的规范:Servlet【Server Applet服务器端的Java小程序。】)
    • C语言也可以
    • C++也可以
    • Python也行
    • PHP也可以

1.6 Java EE是什么?

Java包括三大块:

  • Java标准版(一套类库:别人写好的一套类库,只不过这个类库是标准类库,走EE,或者走ME,这个SE一定是基础,先学。)

  • Java企业版(也是一套类库:也是别人写好的一套类库,只不过这套类库可以帮助我们完成企业级项目的开发,专门为企业内部提供解决方案的一套(多套)类库。)
  • 别人写好的,你用就行了,用它可以开发企业级项目。
  • 可以开发web系统。
  • Java比较火爆的就是这个JavaEE方向。

  • Java微型版(还是一套类库,只不过这套类库帮助我们进行电子微型设备内核程序的开发)
  • 机顶盒内核程序,吸尘器内核程序,电冰箱内核程序,电饭煲内核程序。。。。。

JavaEE实际上包括很多种规范,13种规范,其中Servlet就是JavaEE规范之一。学Servlet还是Java语言。

02 B/S结构的系统通信原理

2.1 WEB系统的访问过程

  • 第一步:打开浏览器
  • 第二步:找到地址栏
  • 第三步:输入一个合法的网址
  • 第四步:回车
  • 第五步:在浏览器上会展示响应的结果。

2.2 域名

  • https://www.baidu.com/ (网址)
  • www.baidu.com 是一个域名
  • 在浏览器地址栏上输入域名,回车之后,域名解析器会将域名解析出来一个具体的IP地址和端口号等。
  • 解析结果也许是:http://110.242.68.3:80/index.html

2.3 IP地址

  • 计算机在网络当中的一个身份证号。在同一个网络当中,IP地址是唯一的。
  • A计算机要想和B计算机通信,首先你需要知道B计算机的IP地址,有了IP地址才能建立连接。

2.4 端口号

  • 一个端口代表一个软件(一个端口代表一个应用,一个端口仅代表一个服务)。
  • 一个计算机当中有很多软件,每一个软件启动之后都有一个端口号。
  • 在同一个计算机上,端口号具有唯一性。

2.5 WEB系统的通信原理

通信步骤:

  • 第一步:用户输入网址(URL)
  • 第二步:域名解析器进行域名解析:http://110.242.68.3:80/index.html
  • 第三步:浏览器软件在网络中搜索110.242.68.3这一台主机,直到找到这台主机。
  • 第四步:定位110.242.68.3这台主机上的服务器软件,因为是80端口,可以很轻松的定位到80端口对应的服务器软件。
  • 第五步:80端口对应的服务器软件得知浏览器想要的资源名是:index.html
  • 第六步:服务器软件找到index.html文件,并且将index.html文件中的内容直接输出响应到浏览器上。
  • 第七步:浏览器接收到来自服务器的代码(HTML CSS JS)
  • 第八步:浏览器渲染,执行HTML CSS JS代码,展示效果。

2.6 URL

  • 统一资源定位符(http://www.baidu.com)

2.7 请求、响应

  • 请求和响应实际上说的是数据的流向不同。
  • 从Browser端发送数据到Server端,我们称为请求。英语单词:request
  • 从Server端向浏览器Browser端发送数据,我们称为响应。英语单词:response
  • B --> S (请求request)
  • S --> B (响应response)

03 WEB服务器软件

3.1 WEB服务器软件都有哪些呢?

这些软件都是提前开发好的。

  • Tomcat(WEB服务器)
  • jetty(WEB服务器)
  • JBOSS(应用服务器)
  • WebLogic(应用服务器)
  • WebSphere(应用服务器)

3.2 应用服务器和WEB服务器的关系

  • 。(JavaEE有13个不同的规范。)
  • 通过这个讲解说明了:应用服务器是包含WEB服务器的。
  • 用过JBOSS服务器的同学应该很清楚,JBOSS中内嵌了一个Tomcat服务器。

3.3 Tomcat下载

3.3.1 关于Tomcat

3.3.2 配置java运行环境

Tomcat服务器要想运行,需要先有jre,所以要先安装JDK,

  • JAVA_HOME=C:\Program Files\Java\jdk-17.0.1
  • PATH=%JAVA_HOME%\bin
  • 目前JAVA_HOME没有配置,思考一个问题,这样行不行呢?目前只运行java程序是没问题的。真的没问题吗?

3.3.3 Tomcat服务器的安装

  • 绿色版本的安装很简单,直接zip包解压即可。解压就是安装。
  • 我有一个好习惯,在C盘的根目录下新建一个dev目录,java开发所有相关的工具都安装到dev目录下,这样比较方便管理。(你随意)

3.3.4 启动Tomcat

bin目录下有一个文件:startup.bat,通过它可以启动Tomcat服务器。

  • xxx.bat文件是个什么文件?bat文件是windows操作系统专用的,bat文件是批处理文件,这种文件中可以编写大量的windows的dos命令,然后执行bat文件就相当于批量的执行dos命令。

  • startup.sh,这个文件在windows当中无法执行,在Linux环境当中可以使用。在Linux环境下能够执行的是shell命令,大量的shell命令编写在shell文件当中,然后执行这个shell文件可以批量的执行shell命令。

  • tomcat服务器提供了bat和sh文件,说明了这个tomcat服务器的通用性。

  • 分析startup.bat文件得出,执行这个命令,实际上最后是执行:catalina.bat文件。

  • catalina.bat文件中有这样一行配置:MAINCLASS=org.apache.catalina.startup.Bootstrap (这个类就是main方法所在的类。)

  • tomcat服务器就是Java语言写的,既然是java语言写的,那么启动Tomcat服务器就是执行main方法。

  • 我们尝试打开dos命令窗口,在dos命令窗口中输入startup.bat来启动tomcat服务器。

  • 启动Tomcat服务器只配置path对应的bin目录是不行的。有两个环境变量需要配置:

    • JAVA_HOME=JDK的根
    • CATALINA_HOME=Tomcat服务器的根

3.3.5 Tomcat服务器的目录

  • bin : 这个目录是Tomcat服务器的命令文件存放的目录,比如:启动Tomcat,关闭Tomcat等。
  • conf: 这个目录是Tomcat服务器的配置文件存放目录。(server.xml文件中可以配置端口号,默认Tomcat端口是8080)
  • lib :这个目录是Tomcat服务器的核心程序目录,因为Tomcat服务器是Java语言编写的,这里的jar包里面都是class文件。
  • logs: Tomcat服务器的日志目录,Tomcat服务器启动等信息都会在这个目录下生成日志文件。
  • temp:Tomcat服务器的临时目录。存储临时文件。
  • webapps:这个目录当中就是用来存放大量的webapp(web application:web应用)
  • work:这个目录是用来存放JSP文件翻译之后的java文件以及编译之后的class文件。

3.3.6 配置Tomcat服务器需要的环境变量

  • JAVA_HOME=JDK的根
  • CATALINA_HOME=Tomcat服务器的根
  • PATH=%JAVA_HOME%\bin;%CATALINA_HOME%\bin

3.3.7 Tomcat命令

启动Tomcat: startup

关闭Tomcat:stop (shutdown.bat文件重命名为stop.bat,为什么?原因是shutdown命令和windows中的关机命令冲突。所以修改一下。)

3.3.8 测试Tomcat服务器是否启动成功

打开浏览器,在浏览器的地址栏上输入URL即可:

  • http://ip地址:端口号
  • ip地址是什么?端口号我知道,是8080
  • 本机的IP地址是:127.0.0.1,或者是localhost,都行。

04 实现一个最基本的web应用

4.1 实现web应用的步骤

  • 第一步:找到CATALINA_HOME\webapps目录

      因为所有的webapp要放到webapps目录下。(没有为什么,这是Tomcat服务器的要求。如果不放到这里,Tomcat服务器找不到你的应用。)
    
  • 第二步:在CATALINA_HOME\webapps目录下新建一个子目录,起名:oa

      这个目录名oa就是你这个webapp的名字。
    
  • 第三步:在oa目录下新建资源文件,例如:index.html

      编写index.html文件的内容。
    
  • 第四步:启动Tomcat服务器

  • 第五步:打开浏览器,在浏览器地址栏上输入这样的URL:http://127.0.0.1:8080/oa/index.html

4.2 为何不使用超链接访问?

  • 我们在浏览器上直接输入一个URL,然后回车。这个动作和超链接一样吗?既然是一样的,我们完全可以使用超链接。

    <!--注意以下的路径,以/开始,带项目名,是一个绝对路径。不需要添加:http://127.0.0.1:8080-->
    <a href="/oa/login.html">user login2</a>
    
    <!--多个层级也没有关系,正常访问即可。-->
    <!--注意:我们目前前端上的路径都以“/”开始的,都是加项目名的。-->
    <a href="/oa/test/debug/d.html">d page</a>
    
      http://127.0.0.1:8080/oa/userList.html 
    
  • 访问这个地址,可以展示一个用户列表页面。但是这个用户列表页面是写死在HTML文件当中的。这种资源我们称为静态资源。怎么能变成动态资源。显然需要连接数据库。

  • 连接数据库需要JDBC程序,也就是说需要编写Java程序连接数据库,数据库中有多少条记录,页面上就显示多少条记录,这种技术被称为动态网页技术。(动态网页技术并不是说页面中有flash动画。动态网页技术是说页面中的数据是动态的,根据数据库中数据的变化而变化。)

05 动态web应用的一个请求和响应过程中的角色和协议

5.1 在整个BS结构的系统当中,有哪些角色?

  • 浏览器软件的开发团队(浏览器软件太多了:谷歌浏览器、火狐浏览器、IE浏览器…)
  • WEB Server的开发团队(WEB Server这个软件也是太多了:Tomcat、Jetty、WebLogic、JBOSS、WebSphere…)
  • DB Server的开发团队(DB Server这个软件也是太多了:Oracle、MySQL…)
  • webapp的开发团队(WEB应用是我们做为JavaWEB程序员开发的)

5.2 角色和角色之间需要遵守哪些规范,哪些协议?

  • webapp的开发团队 和 WEB Server的开发团队 之间有一套规范: JavaEE规范之一Servlet规范。

    • Servlet规范的作用是什么?

      WEB Server   和   webapp解耦合。
      
  • Browser 和 WebServer之间有一套传输协议:HTTP协议。(超文本传输协议。)

  • webapp开发团队 和 DB Server的开发团队之间有一套规范:JDBC规范。

5.3 Servlet规范

  • 遵循Servlet规范的webapp,这个webapp就可以放在不同的WEB服务器中运行。(因为这个webapp是遵循Servlet规范的。)
  • Servlet规范包括什么呢?
    • 规范了哪些接口
    • 规范了哪些类
    • 规范了一个web应用中应该有哪些配置文件
    • 规范了一个web应用中配置文件的名字
    • 规范了一个web应用中配置文件存放的路径
    • 规范了一个web应用中配置文件的内容
    • 规范了一个合法有效的web应用它的目录结构应该是怎样的。

06 模拟Servlet本质

6.1 充当SUN公司的角色,制定Servlet规范

  • javax.servlet.Servlet接口

  • package javax.servlet;
    
    /*
    	我们现在充当的角色是SUN公司。
    	SUN公司把Servlet接口/规范制定出来了。
    */
    public interface Servlet{
    
    	// 一个专门提供服务的方法
    	void service();
    }
    

6.2 充当Tomcat服务器的开发者

package org.apache;

import java.util.Scanner;
import java.util.Properties;
import java.io.FileReader;
import javax.servlet.Servlet;

// 充当Tomcat服务器的开发者
public class Tomcat{
	public static void main(String[] args) throws Exception{
		System.out.println("Tomcat服务器启动成功,开始接收用户的访问。");

		// 简单的使用Scanner来模拟一下用户的请求
		// 用户访问服务器是通过浏览器上的“请求路径”
		// 也就是说用户请求路径不同,后台执行的Servlet不同。
		/*
			/userList    UserListServlet
			/login		 UserLoginServlet
			/bank		 BankServlet
			......
		*/
		System.out.print("请输入您的访问路径:");
		Scanner s = new Scanner(System.in);

		// 用户的请求路径  /bbbb
		Strin

标签: jack电子连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台