一、web
javaSE:
javaEE:13种
javaME:
JavaEE规范: 13种技术的总称。Servlet/Jsp JDBC JNDI JTA...
二、Tomcat
Tomcat:Servlet/Jsp容器,轻量级服务器。
服务器要支持javaee规范 就要把规范中的接口都实现
WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
Internet上供外界访问的Web资源分为:
- 静态web资源(如html页面):指web页面中供人们浏览的数据始终是不变。
- 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
静态web资源开发技术:Html CSS JavaScript
常用动态web资源开发技术:JSP/Servlet、ASP、PHP等
在Java中,动态web资源开发技术统称为Javaweb,重点如何使用Java技术开发动态的web资源,即动态web页面。
1.常见的服务器
- WebLogic: orcale公司的产品,支持JAVAEE规范,收费
- WebsphereAS: IBM公司的产品,支持JAVAee规范, 收费
- Jboss: red公司的产品,支持EJB, 免费
- Tomcat: apache公司产品支持JavaEE规范,免费
2.tomcat的版本
下载:http://tomcat.apache.org/
安装:直接解压到指定目录即可。
注意:Tomcat6本身是基于JDK1.5的应用程序,因此在安装和使用之前必须先行安装1.5及以上版本的JDK(JRE)
注:目录不要太深;目录不要有中文或空格
3.启动、关闭和常见启动问题
(1)启动
F:\apache-tomcat-7.0.52\bin\startup.bat
启动服务器的前提:(如果服务器的目录换了 ,配置信息也要改)
配置JAVA_HOME:
进入到F:\apache-tomcat-7.0.52\bin>startup.bat才能执行命令
配置CATALINA_HOME:
F:\apache-tomcat-7.0.52
startup.bat 启动命令
shutdown.bat 停止命令
也可以直接双击:start.bat/shundowm.bat启动和关闭(也要配置环境变量)
(2)常见问题:
①如果tomcat端口被占用,解决办法
修改F:\apache-tomcat-7.0.52\conf\server.xml
第70行: <Connector port="8081"/>
关闭端口号对应的进程:
cmd-->netstat -ano -->找到pid-->任务管理器-->显示pid-->结束进程
②端口号冲突(在启动信息中如果出现了JVM.Bind,说明端口号被占用了)
修改D:\apache-tomcat-6.0.39\conf\server.xml文件(port不要设成6000以下的)
③闪退.
一般需要设置java_home环境变量:
1.首先下载Jdk
官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2.配置环境变量
新建环境变量:
变量名:JAVA_HOME
变量值:JDK的安装目录
2.再新建系统环境变量:
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\BIN
注意前面的点号
3.修改PATH变量:
变量名:PATH
变量值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
注意:前面的分号,将此值添加到path变量值的最后面
4.新建Tomcat环境变量
变量名:TOMCAT_HOME
变量值:TOMCAT所在的目录
5.运行tomcat/bin/startup
6.成功运行:在网址栏输入:http://localhost:8080/
(3)关闭
1.正常关闭:
- bin/shutdown.bat
- ctrl+c
2.强制关闭:
- 点击启动窗口的x
4. tomcat目录结构
- bin:存放了启动服务的二进制命令(都是可执行文件)
- conf:存放服务器的各种配置文件
- lib:存放服务器启动的时候需要的jar包,此文件夹中的jar包也适用于所有的工程
- logs:Tomcat运行时产生的日志文件
- temp:临时文件
- webapps:存放所有的应用程序(应用程序要部署到服务器,就是部署在此文件夹中),服务器对外提供服务就是可以访问该目录下的所有工程(一个项目就是一个文件夹)
- work:主要存放JSP页面编译后的.class文件及源码
5.应用程序的目录结构webapps
- app(一个项目就是一个文件夹)
- *.html
- *.css
- *.js
- 图片
- WEB-INF : 文件夹(必须大写,不是必须的,当有动态的资源的时候,此文件夹必须写上) :下面的资源不允许浏览器直接访问,里面的资源是提供给服务器来访问的,我们可以间接的去访问.该文件夹并不是必须的,如果程序中的东西都是静态页面,则可以不用此文件夹
- web.xml: 必须的(WEB-INF文件夹存在的前提下)工程的配置文件
- classes: 放置的是Java字节码文件
- lib: 放置的是本应用所用到的jar(只针对app应用程序,即对应项目的应用程序,其他应用程序用不了)
6.web.xml作用
对web资源进行配置,都需要通过web.xml
7.配置虚拟主机(就是配置一个网站)
<Hostname=”www.baidu.com” appBase=”主页地址”></Host> 因为没有dns解析name名字
8.应用程序的部署方式(将程序部署到tomcat服务器)
i. 将应用程序直接拷贝到webapps目录下
项目的访问路径:虚拟目录
ii. 将应用程序打成war包, 直接拷贝到webapps目录下
打包成war包的方式:在dos命令窗口下键入: jar cvf 名字.war .
iii. 虚拟目录映射,就是直接交给tomcat管理 在conf/server.xml配置
在<Host>标签中:添加:
<Context path = “项目的访问路径(自定义)” docBase=”项目所在的路径”>
(不需要把项目拷贝到tomcat的webapp下)
注:server.xml修改后必须重启服务器才生效
iv.在conf\Catalina\localhost创建任意名称的xml文件去配置
由于第三种方式会破坏server.xml。
所以在conf\Catalina\localhost创建任意名称的xml文件,在文件中编写:
<Context docBase=”项目所在的路径”>
此时,虚拟目录即为xml文件的名称
注:此种方式为热部署,修改后不需要重启服务器
注意:
CATALINA_HOME是Tomcat的安装目 录,CATALINA_BASE是Tomcat的工作目录。如果我们想要运行Tomcat的 多个实例,但是不想安装多个Tomcat软件副本。那么我们可以配置多个工作 目录,每个运行实例独占一个工作目录,但是共享同一个安装目录。
9.将自己的html作为主界面
直接在html同级文件建立一个WEB-INF文件 在下面的web.xml中的<welcome-file>要作为主页面的html文件<welcome-file>
tomcat的组成结构
autoDeploy = "true":
热部署:在服务器运行的过程中,能够把应用程序部署到服务器
10.各种配置
没有把应用程序拷贝到webapps目录下时,可以通过各种配置部署到服务器
①配置虚拟应用:
一、1. 在server.xml文件中配置如下(此种配置不推荐)
2 . 通过浏览器输入 http://localhost:8080/abc/1.html来访问
缺点: 必须重新启动服务器
二、在 conf/catalina/localhost/目录下随意建立一个xml文件,文件名任意(eg: abcde.xml)。(不需要重启服务器) 推荐使用
内容如下:(不用path,因为名字就是逻辑路径)
虚拟路径就是文件名
通过浏览器访问: http://localhost:8080/abcde/a.html来访问
实际开发时采用直接拷贝文件夹到webapps目录下
②配置默认应用
在地址栏中敲入http://localhost:8080访问的是默认的项目ROOT
只需要在conf/catalina/localhost/目录下建立一个ROOT.xml文件,内容同上,这个应用就是默认应用(要把原本默认的ROOT文件删掉)
访问的时候通过URL: http://localhost:8080/a.html来访问
③配置默认页面,端口号的修改
配置默认页面:
进入F:\apache-tomcat-8.5.0\webapps,需要在我们应用目录下app1/WEB-INF目录下配置web.xml文件
配置如下:
修改端口号:
进入conf文件夹,需要在server.xml文件中配置:
默认端口号配置完毕需要重新启动服务器.
通过 http://localhost:8888/abcd/ 来访问
可以配置成默认的端口号: 80
④配置多个虚拟主机 ,相当于建立了一个网站
在一个tomcat下部署多个虚拟主机方式:
假设e盘有个目录app1下有个应用app
d盘有个目录 app下有个应用app2
则在server.xml中配置如下:
在C:\WINDOWS\system32\drivers\etc\hosts中配置路径的IP映射如下:(输入网址首先是找window Host文件)
此时就可以通过浏览器访问应用了:
http://www.itheima.com/app/a.html 访问e盘app1/app应用下的a.html页面
http://www.itcast.cn/app2/a.html 访问d盘app/app2应用下的a.html页面
注意:以上端口号是默认的80,可以修改。
将来开放了页面应用部署步骤
- 在服务器配一台主机
- 主机名要去dns注册,就可以
- 在程序的端口改为80端口
- 缺省的web弄为缺省,设置为首页
- 一台服务器可以做多个网站(那要配置缺省网站,就是访问这个地址的时候默认返回的网站)
三、在IDEA中部署Tomcat并创建web项目
Tomcat集成到IDEA:
run->Defaults->Tomcat Server->Local
创建web项目:
目录结构:
配置热部署: