javaweb之web入门基础
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。//www.jb51.net--->//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
生成的证书默认存放在当前登录用户的文件夹中。