一、Web相关概念
软件架构
CS架构:客户端/服务器端
BS架构:浏览器/服务器端
JavaWeb是什么
- Web指的就是所有浏览器可以访问的程序
- 所有通过Java语言来编写的可以通过浏览器访问的程序的总称呼
- JavaWeb是基于请求和响应来开发的
请求和响应
- 响应是指服务器给客户端传回数据,叫做Response
- 请求是指客户端给服务器发送数据,叫做Request
Web资源分类
web资源按照实现的技术和呈现的效果的不同,分为静态资源和动态资源
-
静态资源:所有用户访问后,得到的结果都是一样的,称之为静态资源
html,css,JavaScript都是静态资源 -
动态资源
jsp/servlet程序浏览器可以解析静态资源;
访问动态资源,首先先转换为静态资源,再将静态资源返回给浏览器进行解析。
网络通信三要素
- IP:计算机设备在网络中唯一标识
- 端口:应用程序进程在计算机中的唯一标识
- 传输协议:规定数据传输规则
常见的web服务器软件
- 服务器:就是 安装了服务器软件的计算机
- 服务器软件:接受用户请求,处理请求,做出响应的软件。
由于动态资源只能运行在服务器软件中,因此服务器软件又叫做web容器。 - web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目。
web服务器软件和web项目是两个概念,服务器软件是项目的容器)
常见java相关的web服务器软件
- webLogic: oracle公司的 收费 大型JavaEE服务器 支持所有javaEE规范
- webSphere:IBM 收费
- JBOSS:JBOSS公司的,收费
- Tomcat: Apache 基金组织 免费 中小型javaEE服务器,仅仅支持少量的JavaEE规范 开源
java语言在企业级开发中使用的技术规范,一共规定了13大JavaEE规范
二、Tomcat
Tomcat和Servlet版本对应关系
Servlet3.0版本之后,就是注解版本的Servlet使用;之前都是通过XML文件配置
Tomcat 从安装到卸载
1.安装和卸载
- 下载地址在官网
- 安装:解压即可
注意,安装路径下不要有中文和空格 - 卸载:删除解压目录即可
2.Tomcat目录结构
这是apache的通用目录结构
- bin 放置Tomcat服务器的可执行程序文件 .exe .bat .sh
- conf 放置配置文件 .properties .xml
- lib 放置Tomcat依赖的jar包
- logs 放置Tomcat运行时输出的日志文件
- temp 放置Tomcat运行时产生的临时数据
- webapps 放置部署的Web项目,一个项目对应一个子目录
- work 放置Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译的Servlet的源码,和Session钝化的目录(钝化就是序列化到磁盘)
3.Tomcat启动
方式1:startup.bat 启动
-
打开 bin目录下
startup.bat
可运行文件, 就启动了Tomcat服务器 -
测试Tomcat服务器启动成功:
启动后,在浏览器输入:本机IP地址:Tomcat端口号
即可访问到Tomcat主页
1.http://locahost:8080
2.http://127.0.0.1:8080
3.http://真实IP:8080
方式2:命令行
- 打开cmd黑出卬叩
- cd JAVA_HOME\bin目录下
- 敲入命令行:
catalina run
这种方式启动,如果启动失败,会打印错误信息。
4.Tomcat启动容易遇到的问题
1.黑窗口一闪而过
原因是没有正确配置JAVA_HOME环境变量;
建议配置JAVA_HOME新系统变量,因为有很多Java软件都会依赖JDK
2. Tomcat端口占用
由于Tomcat占用8080端口,当该端口被占用后,启动Tomcat会报错
解决方案:
1.暴力解决
- 找到占用8080端口号,找到对应的进程,将其kill
- 在cmd窗口输入netstat -ano 可以查看windows运行的端口号和进程PID,在任务管理器中找到对应端口号的进程,将其结束。
2.修改Tomcat自身的端口号
-
conf/server.xml中修改:
-
下图是配置Tomcat默认端口号的位置
-
端口号修改范围:1-65535
-
修改完后,需要重启Tomcat服务器才能生效
-
特殊端口号:80
此端口号是Http协议默认端口号,在浏览器访问此端口的时候可以省略端口号!
比如访问百度:http://www.baidu.com 其实访问的就是80端口
5.Tomcat关闭
- 正常关闭
bin/shutdown.bat or 在Tomcat黑窗口中ctrl + c - 强制关闭
直接关闭黑窗口
三、部署Web项目到Tomcat
部署项目就是让别人能够通过浏览器访问项目中的资源
- 虚拟路径的概念:
在浏览器中的项目访问路径-->虚拟路径
1.直接部署
部署方式: 直接将web项目工程的目录copy到webapps目录下
如何访问: ip:port/项目目录名/项目下的资源名称
说明:
1.我们在浏览器输入:http://localhost:8080 只输入到端口号,
其实就是访问到Tomcat\webapps目录了
2.项目下的资源名称:文件
直接部署的方式中,虚拟路径=项目目录名
2.直接部署的简化方式
- 用打包工具将web项目打包成war包(压缩)
- 将war包直接放在webapps目录下,会在webapps目录下自动生成一个此war包解压后的web项目目录
- 这种方式,删除war包后,会自动删除web项目目录。
3.不把项目放在webapps目录下
- 假设web项目的路径为D:\hello
- 在
conf/server.xml
的最下面的<Host>标签中配置项目
<Context docBase="D:\hello" path="/hehe">
- Context标签表示一个工程的上下文环境
- path属性:通过浏览器可以访问该工程的路径
- docBase属性:工程目录所放置的位置
访问: localhost:8080/hehe
缺点: server.xml文件是配置Tomcat整体的,因此尽量不要修改这个文件;而且必须重启Tomcat才能生效;
4.热部署
冷部署的配置步骤:
- 在
Tomcat/conf/Catalina/localhost
目录下创建xxx.xml文件(名字不重要)
- 在xml文件的文件头中写标签配置:
<Context path="/abc" docBase="D:\hello"\>
- Context标签表示一个工程的上下文环境
- path属性:通过浏览器可以访问该工程的路径
- docBase属性:工程目录所放置的位置
重启Tomcat服务器才能生效;
访问:
http://localhost:8080/abc/
热部署的配置步骤
-
上面的部署方式中,不要写path;
此时项目的虚拟路径就是.xml文件
的文件名; -
热部署好处:
不需要重启Tomcat
部署项目或者删除项目,只需要增加或者删除.xml文件(或者给.xml文件改成.xml_bak后缀)即可。
四、Tomcat的使用
1.手托html页面到浏览器和浏览器输入路径访问的区别
-
手托html文件到浏览器,浏览器中的地址如下:
使用的是file://
协议;此协议告诉浏览器直接读取file://
协议后面的路径,解析展示在浏览器上即可 -
在浏览器通过http地址访问
2. Tomcat的默认访问项目及资源
http://ip:port/
:没有工程名的时候,默认访问的是root工程;http://ip:port/工程名/
:没有资源名的时候,默认访问的是root目录下的index.html
3. IDEA整合Tomcat服务器
在IDEA集成Tomcat
这样Tomcat与IDEA集成就完成了。
然后就可以创建WEB项目:
然后起个名,web项目就部署完成了!
4. 创建动态的Web工程
step1.创建一个新模块
step2.选择要创建什么类型的模块
step3. 定义模块名,完成创建
5. Tomcat动态Web工程目录结构
Java 动态项目目录结构:
-- java动态项目的根目录
-- WEB-INF目录
--web.xml :web项目的核心配置文件
--classes目录:放置字节码文件的目录
--lib目录:放置依赖的jar包
--放置各种静态资源
- 静态项目只能放置静态资源。动态项目中都能放
有WEB-INF目录的项目称之为动态项目
- web目录下的WEB-INF目录下的静态资源是不能被浏览器直接访问的
6.给Tomcat添加第三方jar包
方式1:copy jar包到lib目录下就能直接使用
方式2:
浏览本地目录选择需要的类库:
选择添加的类库给哪些module使用:
7.在IDEA中部署Web项目到Tomcat运行
- 每创建一个Web工程,都会伴随着一个Tomcat实例的创建,因此建议在创建Web工程的时候,将Tomcat实例也改成对应的名称
- update resources:更新web工程中的资源到Tomcat运行实例中
- update classes and resources:更新web工程中的资源文件到Tomcat运行实例中
- reploy:重新部署web模块,不重启Tomcat实例
- restart server:重启Tomcat实例,并更新web模块内容
8.Tomcat配置修改
- 修改模块的虚拟路径
- 修改web工程端口号
9.Tomcat 热部署项目设置
- 对项目的静态资源进行了修改之后,不需要手动重启Tomcat了!
- on update action:指的是点击重启按钮的默认选项