目录
Java Web
1. 基本概念
web开发:
-
web,网页的意思,www.baidu.com
-
静态web
-
html,css
-
提供给所有人看的数据始终不会发生变化!
-
-
动态web
-
提供给所有人看的数据会发生变化,每个人在不同时间不同地点看到的信息各不相同!
-
技术栈:Servlet/JSP,ASP,PHP
-
在Java中,动态web资源开发的技术统称为JavaWeb
1.2、web应用程序
web应用程序:可以提供浏览器访问的程序;
-
a.html,b.html...多个web资源,这些web资源可以被外界访问,对外界提供服务;
-
你们能访问到的任何一个页面或者资源,都存在于这个世界的某一个角落的计算机上。
-
URL
-
这个同意的web资源会被放在同一个文件夹下,web应用程序-->Tomcat:服务器
-
一个web应用由多部分组成(静态web,动态web)
-
html,css,js
-
jsp,servlet
-
jar包
-
配置文件(Properties)
-
web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理;
1.3、静态web
-
htm,.html,这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取。通络;
-
静态web存在的缺点
-
Web页面无法动态更新,所有用户看到的都是同一个页面
-
轮播图,点击特效:伪动态
-
JavaScript[实际开发中,它用的最多]
-
VBScript
-
-
它无法和数据交互(数据无法持久化,用户无法交互)
-
1.4、动态web
页面会动态展示:“web的页面展示效果因人而异”;
缺点:
-
加入服务器动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布
-
停机维护
-
-
它可以与数据库交互
2.web服务器
2.1
ASP:
-
微软:国内最早流行的就是ASP;
-
在HTML中嵌入了VB的脚本,ASP+COM;
-
在ASP开发中,基本的一个页面都有几千行的代码,页面极其混乱
-
维护成本高
-
C#
-
lls
<h1> <h1> <h1> <h1> <h1> < </h1> </h1> </h1> </h1> </h1>
JSP,PJP,PHP
php
-
PHP开发速度很快,功能很强大,跨平台,代码很简单(70%)
-
无法承载大访问量的情况(局限性)
JSP/Servlet
B/S: 浏览和服务器
C/S:客户端和服务端
-
sun公司主推的B/S架构
-
基于JAVA语言的(所有的大公司,或者一些开源的组件,都是用JAVA写的)
-
语法像ASP,ASP->JSP,加强市场强度;
2.2、web服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些相应信息;
IIS
微软的; ASP...Windows中自带的
Tomcat
面向百度编程;
Tomcat是......
下载tomcat
-
安装or解压
-
了解配置文件及目录结构
-
这个东西的作用
3、Tomcat下载安装
-
1 下载安装
3.2 .。。。
3.3 配置
可以配置主机的端口号与主机的名称
可以配置启动的端口号
-
tomcat的默认端口号:8080
-
mysql:3306
-
http:480
-
https:443
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
可以配置主机的名称
-
默认的主机名为:localhost->127.0.0.1
-
默认网站应用存放的位置为:webapps
<Host name="www.dzg.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
高难度面试题
请你谈一谈网站是如何进行访问的!
-
输入一个域名,回车
-
检查本机的C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名映射;
-
有:直接返回对应的ip地址,这个地址中,由我们需要访问的web服务器
127.0.0. www.dzg.com
-
没有:去DNS服务器找,找到的话就返回,找不到就返回找不到
-
4、HTTP
4.1、什么是HTTP
HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。
-
文本:html,字符串,~......
-
超文本:图片,音乐,视频,定位,地图......
-
80
Http:安全的
-
443
4.2、两个时代
-
http1.0
-
http2.0
5、JavaWeb内容
1、JavaWeb的概念
-
什么是JavaWeb
JavaWeb是指,所有通过Java语言编写可以通过浏览器访问的程序的总称,叫JavaWeb。
-
什么是请求
请求是指客户端给服务器发送数据,叫请求Request。
-
什么是响应
响应是指服务器给客户端回传数据,叫响应Response。
-
请求和响应的关系
请求和响应是成对出现的
2、Web资源的分类
web资源按实现的技术和呈现的效果不同,又分为静态资源和动态资源两种。
静态资源:html、css、js、txt、mp4视频,jpg图片
动态资源:jsp页面、Servlet程序
3、常用的web服务器
-
Tomcat:由Apache组织提供的一种web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的javaWeb服务器(免费)。
-
Jboss:是一个遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,它支持所有的JavaEE规范(免费)。
-
GlassFish:由Oracle公司开发的一款JavaWeb服务器,是一款强健的商业服务器,达到产品级质量(应用很少)。
-
Resin:是CAUCHO公司的产品,是一个非常流行的服务器,对Servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发(收费,应用比较多)。
-
WebLogic:是Oracle公司的产品,是目前应用最广泛的web服务器,支持JavaEE规范,而且不断地完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。
4、Tomcat的使用
1. 安装
找到需要的tomcat版本对应的zip压缩包解压到需要安装的目录即可
2. 目录介绍
-
bin 专门用来存放tomcat服务器的可执行程序
-
conf 专门用来存放tomcat服务器的配置文件
-
lib 专门用来存放tomcat服务器的jar包
-
logs 专门用来存放tomcat服务器运行时输出的日志信息
-
temp 专门用来存放tomcat运行时产生的临时数据
-
webapps 专门用来存放部署的web工程
-
work 是tomcat工作时的目录,用来存放tomcat运行时jsp翻译为Servlet的源码,和Session钝化的目录。
3. 如何启动tomcat服务器
第一种方式
找到tomcat目录下的bin目录下的startup.bat文件,双击即可启动tomcat服务器。
如何测试tomcat服务器是否启动成功?
打开浏览器,输入如下地址:
-
http://真实ip:8080
出现如下界面,则说明tomcat服务器启动成功!
常见的启动失败情况由:双击start.bat文件,就会出现一个小黑窗一闪而过,这时失败的原因基本就是没有配置好JAVA_HOME环境变量。
配置JAVA_HOME环境变量。(jdk安装目录,bin目录的上一级目录)
第二种启动tomcat服务器的方式
-
打开命令行
-
cd到你的tomcat的bin目录下,并输入命令:catalina run
4、tomcat的停止
-
点击tomcat窗口的关闭按钮
-
把tomcat服务器窗口置为当前窗口,按ctrl+c停止
-
找到tomcat的bin目录下的shutdown.bat双击,就可以停止tomcat服务器。
5、如何修改tomcat的端口号
找到tomcat目录下的conf目录,找到server.xml配置文件
双击进去找到<connector>标签,修改其中的port值(1-65535),修改完成重启tomcat服务器即可生效
6、如何部署web工程到tomcat中
第一种方法:
只需要把web工程的目录拷贝到tomcat的webapps目录下即可
-
在webapps目录下创建一个book工程:
-
把工程内容拷贝到里面:
-
-
如何访问tomcat下的web工程:
只需要在浏览器中输入访问地址格式如下:
http://ip:port/工程名/目录下/文件名
第二种方法:
找到tomcat下的conf目录下的conf\Catalina\localhost目录,创建如下的配置文件:abc.xml
<!-- Context表示一个工程上下文
path表示工程的访问路径:/abc
docBase表示你的工程目录在哪里
记得保存时编码格式需要为utf-8
还需重启tomcat服务器
-->
<Context path="/abc"docBase="D:\book" />
访问这个工程的路径如下:http://ip:port/abc/ 就表示访问D:\book目录
7、手拖html页面到浏览器和在浏览器中输入http://ip:port/工程名/访问的区别
-
手拖html页面到浏览器,这个时候浏览器地址为:file://D:/book/index.html,使用的是file协议:表示告诉浏览器直接读取file:协议后面的路径,解析展示在浏览器即可。
-
在浏览器中输入http://ip:port/工程名/访问的地址格式为:http://ip:port/工程名/资源名,使用的是http协议,背后的原因完全不同,客户端(浏览器)请求发给服务器(Tomcat),服务器收到请求之后,读取你想要访问的资源文件,然后回传给客户端想要的页面的内容。
8、ROOT的工程的访问,以及默认index.htlm页面的访问
当我们在浏览器地址栏输入访问地址为:http://ip:port/ ====> 没有工程名时,访问的是ROOT工程。
当我们在浏览器地址栏输入访问地址为:http://ip:port/工程名/ ====> 没有资源名时,默认访问的是index.html页面
9、tomcat启动乱码解决办法
打开tomcat目录下的conf文件夹下的logging.properties
将其中的java.util.console.....那行的编码格式的UTF-8改为GBK即可!
6、IDEA整合Tomcat服务器
File | Settings | Build, Execution, Deployment | Application Servers
先进入上面的路径,点击+号添加tomcat server
添加自己tomcat存放的路径后点击ok后apply并ok即可
7、IDEA中动态web工程的操作
7.1、IDEA中如何创建动态web工程
new一个新的module,选择普通的java项目创建,创建完成后右键项目添加支持,选择web application即可
创建成功如下图:
7.2、Web工程的目录介绍
-
src:src目录存放自己编写的java源代码
-
web:专门存放web工程的资源文件,例如:html页面、css文件、js文件等
-
WEB-INF:是一个受服务器保护的目录,浏览器无法直接访问到此目录的内容
-
lib:存放第三方jar包
-
web.xml:整个动态web工程的配置部署描述文件,可以在这里配置很多web工程的组件,例如:Servlet程序、Filter过滤器、Listerner监听器、Session超时等等。
7.3、如何给动态web工程添加额外jar包
上面有讲过,操作不变即可。
第二种方式:
-
可以打开项目结构菜单操作页面,添加一个自己的类库
-
浏览,选择当前类库需要的jar包,添加
-
选择你添加的类库,给哪个模块使用
-
选择Artifacts选项,将类库添加到打包部署中,点击fix后apply->ok
7.4、如何在IDEA中部署工程到Tomcat上运行
7.4.1. 建议修改web工程对应的Tomcat运行实例名称:
点击run->Edit Configurations->+->tomcat server->local->修改名字后apply->ok
7.4.2. 确定你的Tomcat实例中有你要部署运行的web工程模块
将需要部署的web工程添加到Tomcat运行实例中,这里+和-可以添加和删除,下方的Application context是工程路径
7.4.3. 下图中的URL表示启动tomcat运行实例时,默认打开访问的地址,可以自行修改
7.4.4. 在IDEA中如何运行,和停止Tomcat实例
7.4.4.1 启动Tomcat实例:
7.4.4.2debug方式启动:
正常启动的箭头后面的昆虫图标
7.4.4.3 停止Tomcat实例:
再后面的红色方框
7.4.4.4 重启Tomcat实例:
四个选项依次代表的含义:
-
重新更新web工程中的资源到Tomcat运行实例中
-
更新web工程中的Class字节码和资源文件到Tomcat运行实例中
-
重新部署web模块,但是不重启Tomcat实例
-
重启Tomcat实例
7.4.4.5 资源热部署:
选择Update classes and resources后可完成资源热部署,修改body中的内容等,即时生效