web相关概念回顾
1.软件架构
C/S:客户端/服务器端
B/S:浏览器/服务器端
2.资源分类
静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源,静态资源可以直接被浏览器解析。如:html,css,JavaScript
动态资源:每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要转换为静态资源,再返回给浏览器。如:servlet/jsp,php,asp...
3.网络通信三要素
IP:电子设备(计算机)在网络中的唯一标识。
端口:应用程序在计算机中的唯一标识。0~65536
传输协议:规定了数据传输的规则
基础协议:
TCP:安全协议,三次握手。速度稍慢
UDP:不安全协议。速度快
常见的java相关的web服务器软件:
webLogic:
webSphere:
JBOSS:
Tomcat:
JavaEE:Java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范
Tomcat:Web服务器软件
卸载:删除目录就行了
启动:bin/startup.bat,双击运行该文件即可
访问浏览器输入:http://localhost:8080 回车访问自己
http://别人的ip:8080 访问别人
Tomcat启动时遇到的问题:
黑窗口一闪而过:
原因:没有正确配置JAVA_HOME环境变量
解决方案:正确配置Java_HOME环境变量
启动报错:
1.找到占用的端口号,并且找到对应的进程,杀死该进程。
2.修改自身的端口号
server.xml文件中找到<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
一般会将tomcat的默认端口号修改为80,80端口号是http协议的默认端口号。访问时,就不用输入端口号。
关闭:
正常关闭:bin/shutdown.bat,ctrl+c
强制关闭:点击启动窗口的x
配置:
部属项目的方式:
1.直接将项目放到webapps目录下即可。
/hello:项目的访问路径-->虚拟目录
简化部属:将项目打成一个war包,再将war包放置到webapps目录下。war包会自动解压缩
2.配置conf/server.xml文件
在<Host>标签体中配置
<Context docBase="D:\hello" path="/hello" />
docBase:项目存放的路径
path:虚拟目录
3.在conf\Catalina\localhost\创建任意名称的xml文件。在文件中编写
<Context docBase="D:\hello">
虚拟目录:xml文件的名称
访问时是虚拟目录/资源文件名字
将Tomcat集成到IDEA中,并且创建JavaEE的项目,部属项目
1.new 一个Project,选择Java Enterprise,next然后finish
JSP原理
JSP脚本
EL表达式
JSTL标签
MVC模式和三层架构
案例
EL表达式
Expression Language表达式语言,用于简化JSP页面内的Java代码
主要功能:获取数据
语法:${expression}
${users}:获取域中存储的key为users的数据
JavaWeb中的四大域对象
1.page:当前页面有效
2.request:当前请求有效
3.session:当前会话有效
4.application:当前应用有效
el表达式获取数据,会依次从这4个域中寻找,直到找到为止
JSTL标签
JSP标准标签库(Jsp Standard Tag Library),使用标签取代JSP页面上的Java代码
<c:if test="${status==1}">
启用
</c:if>
<c:if test="${status==0}">
禁用
</c:if>
快速入门:
1.导入坐标
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
2.在JSP页面上引入JSTL标签库
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3.使用
<c:if>
<c:foreach>:相当于for循环
items:被遍历的容器
var:遍历产生的临时变量
varStatus:遍历状态对象
begin:开始数
end:结束数
step:步长
MVC模式
MVC是一种分层开发的模式,其中
M:Model,业务逻辑,处理业务
V:View,视图,界面展示
C:Controller,控制器,处理请求,调用模型和视图
MVC好处:
(1)职责单一,互不影响
(2)有利于分工协作
(3)有利于组件重用
数据访问层:对数据的CRUD基本操作
业务逻辑层:对业务逻辑进行封装,组合数据访问层层中基本功能,形成复杂的业务逻辑功能
表现层:接受请求,封装数据,调用业务逻辑层,相应数据