Web开发中的主要概念
1、静态资源:一成不变的。html、js、css
2、动态资源:JavaWeb。输出或产生静态资源。(用户用浏览器看到的页面永远都是静态资源)
3、JavaEE:十三中技术的集合。JSP/Servlet属于其中的一种。
容器:(服务器)。支持什么技术的服务器,简称XX容器。
重量级和轻量级服务器:支持的服务多少来定。
Tip:
如何区分JavaSE和JavaEE的技术呢?java.***JavaSE javax.** JavaEE
服务器
1、http://www.apache.org
2、Tomcat6.0 Servlet/JSP:2.5/2.1 JDK:1.5(从Tomcat6.0开始,只有JRE也是可以的)
Tomcat7.0 Servlet/JSP:3.0/2.2 JDK:1.6
Tomcat的安装与问题的解决
1、解压到某个目录或磁盘上(请不要解压到中文目录或有空格的目录中)
2、进入Tomcat\bin目录中,执行startup.bat启动Tomcat
3、用浏览器访问http://localhost:8080/,如果看到界面,说明安装成功!
问题:
1、一闪而过
2、JAVA_HOME环境变量
解决办法:配置系统环境变量 JAVA_HOME="C:\jdk1.6.0_20"
Tip:Catalina_home环境变量不建议配置
3、端口被占用:Tomcat默认使用的端口是8080。
更改Tomcat的默认端口号:找到Tomcat\conf\server.xml,搜索8080,改为自己的端口(没有被别人占用)
Tip:
HTTP协议默认使用的端口号80。https://www.jb51.net--->https://www.jb51.net:80
Tomcat的目录结构(服务器厂商自己规定的)
Tomcat:
bin:Tomcat的启动和停止脚本
conf:存放Tomcat的配置文件。*.properties或*.xml
lib:存放Tomcat依赖的jar包。
logs:存放Tomcat的运行日志。
temp:存放临时文件
webapps:存放Tomcat所管理的Web应用的。该目录中有几个文件夹,就代表当前Tomcat管理着几个应用。
work:这是Tomcat的工作目录。
JavaWeb的标准目录结构(SUN公司规定的,规范标准)
MyApp:(应用名称)
1.html、1.js等等资源
a
1.html
WEB-INF:必须有,且名称必须一致。(存放在此目录中的文件资源,用户无法直接访问)
lib:存放服务于本应用的jar包
web.mxl:必须有。针对当前应用的配置文件。
classes:必须有。存放服务于当前应用的class类。com.itheima.SomeClass. classes\com\itheima\SomeClass.class
Tip:
Tomcat中的lib和JavaWeb应用的lib中的jar有什么区别?
Tomcat中的lib为Tomcat服务,被所有的受管理的JavaWeb应用所共享。
JavaWeb应用的lib,只为自己服务。
重名类的加载顺序:类加载器的加载顺序
自己应用中的classes--->自己应用中的lib中的jar---->Tomcat\lib中的class文件---->Tomcat\lib中的jar----》没有找到,ClassNotFoundException
如何部署JavaWeb应用到Tomcat中
1、开放式目录部署:直接拷贝应用到Tomcat中去。
2、把应用打成war包。进入应用的目录,执行 jar -cvf MyApp.war .
把war包拷贝至Tomcat\webapps中即可,容器会自动解压该应用。
Tomcat的核心组成部分
a、虚拟目录映射:把本地磁盘上的真实目录映射为一个对外访问的一个虚拟目录
C:\ITHEIMA\heima15\day03\资料\MyApp ----->/MyApp
server.xml:Context元素。配置一个应用
方式一:(不建议使用,需要重新启动Tomcat)
在<Host>元素中增加以下内容:<Context path="/MyApp" docBase="C:\ITHEIMA\heima15\day03\MyApp"/>
path:虚拟目录。以"/"开头
docBase:真实目录。(中文目录不行)
方式二:
在Tomcat\[enginename]\[hostname]\目录中建立一个扩展名为xml的配置文件。
该文件名就是虚拟目录的名称,在其中增加以下配置:
<?xml version="1.0"?>
<Context docBase="C:\ITHEIMA\heima15\day03\MyApp"/>
小实验:配置默认端口、默认应用、默认页面
http://localhost时------>C:\ITHEIMA\heima15\day03\MyApp\1.html
默认端口:修改server.xml把8080改为80
默认应用:(都需要重启)在Tomcat\[enginename]\[hostname]\目录中建立一个名称为ROOT.xml的配置文件。
<?xml version="1.0"?>
<Context docBase="C:\ITHEIMA\heima15\day03\MyApp"/>
默认主页:修改应用中的web.xml,增加以下内容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>1.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
b、虚拟主机
配置server.xml中的Host元素
<Host name="www.itcast.cn" appBase="c:\itcastapps"/>
name:网站名称
appBase:存放本网站所有应用的目录。
域名解析:可以修改widows系统中C:\WINDOWS\system32\drivers\etc\hosts文件进行域名和IP的映射(玩后改回原样)
c、连接器:SSL
HTTPS=HTTP+SSL。默认使用的端口是443.Tomcat:8443
SSL:数据加密(非对称加密)+身份认证(数字证书)
Certificate Authority,CA;VeriSign;Thawte;权威的数字证书颁发机构。
创建自我签名的数字证书:
JDK中的keytool可以创建该证书。
keytool.exe -genkey -alias ppp -keyalg RSA
生成的证书默认存放在当前登录用户的文件夹中。