【JavaWeb】 目前主要更新JavaWeb,一起学习一起进步。
本期主要介绍WEB开发概述以及Tomcat
我们在浏览器上能够查看的一切信息,都称之为 WEB 资源。
静态资源:代码不变,展示内容就不变 。比如: HTML 、 CSS 、 JS 、图片、声音、视频。
例如: <img src=”001.jpg”/> ,代码不换,效果就不会换
动态资源:展示内容的改变,由程序控制 。比如: JSP/Servlet 、 ASP 、 PHP
例如:网站有统计计数器。
15:00 登录网站,显示在线会员 10 人
17:00 登录网站,显示在线会员 100 人。
这种效果展示由程序控制
目前市场上有两种流行的软件架构:
C/S 架构: Client/Server 客户端 / 服务器。要求客户端用户在 电脑安装一个客户端程序。
常见应用:QQ ,迅雷, 360 ,旺旺 等
优点:
1. 用户体验好,效果炫
2. 对信息安全的控制较强
3. 应用服务器运行数据负荷较轻,部分计算功能在客户端完成。
缺点:
1. 占用硬盘空间
2. 维护麻烦
3. 安装使用依赖其他条件
B/S 架构: Browser/Server 浏览器 / 服务器 。通过浏览器与服务器交互,不需要安装其他程序
常见应用:网银系统,淘宝,京东 12306 等
优点:
1. 维护和升级简单,无缝升级。
2. 不用必须安装程序,操作系统内置了浏览器。大大减少了使用成本
缺点:
1. 动画效果受浏览器限制
2. 对信息安全控制较差。例如:网银就需要使用 U 盾,在浏览器端加密。
3. 应用服务器运行数据负荷较重。大部分计算都在服务器端,增加服务器压力。使用 Ajax 可以改
善部分用户
体验。
WEB 程序采用 B/S 通信模式。
1 、浏览器需要查看服务器某个资源,就向服务器发送请求;
2 、服务器接收到浏览器请求,处理请求;
3 、服务器处理完毕,将处理结果响应回浏览器
4 、浏览器根据响应,展示资源信息
URL (Uniform Resource Locator) ,统一资源定位符,是对互联网上资源位置的一种表示,互
联网上
的每个文件都有一个唯一的 URL 。
用于标识互联网上某个资源的具体位置,相当于内网路径中的绝对路径
完整格式如下 协议 :// 域名 : 端口号 / 资源位置 ? 参数 = 值 协议, http 、 https 、 ftp 等 域名,域名或 IP 地址,都可以访问 WEB 资源 端口号,程序必须使用端口号,才可以让另一个计算机访问。 http 协议的默认端: 80 资源位置,用于描述 WEB 资源再服务器上的位置。 参数 = 值,浏览器和服务器交互传递的数据
例如:
常见路径 http://www.itcast.cn:80/subject/javaeezly/index.shtml 百度搜索“传智播客” https://www.baidu.com/s?cl=3&wd=%B4%AB%D6%C7%B2%A5%BF%CD
J2EE 企业级开发 Java 规范。标准规范包括: servlet 、 jsp 、 jdbc 、 xml 、 jta 、 javamail 等。在 java
中规
范就是接口。 J2EE 又称为 JavaEE 。
WEB 服务器对 JavaEE 规范部分或全部支持(实现),也就是 WEB 服务器实现部分或全部接
口。
常见的 WEB 服务器:
1. Tomcat : Apache 组织提供一个免费的小型的服务器软件。支持 Servlet 和 JSP 规范。
2. WebLogic : Bea 公司的一个收费的大型的服务器软件,后被 Oracle 收购。支持 EE 的所有的规
范
3. WebSphere : IBM 公司的一个收费的大型的服务器软件,支持 EE 的所有的规范。
4. JBoss :是一个基于 J2EE 的开放源代码的应用服务器。 JBoss 是一个管理 EJB 的容器和服务
器,
JBoss 核心服务不包括支持 servlet/JSP 的 WEB 容器,一般与 Tomcat 或 Jetty 绑定使用。
Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系
统
和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。
支持 Servlet 和 JSP 规范 , 且最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现。
tomcat 目前存在很多版本,希望大家了解 tomcat 的版本,从而知道自己的创建的项目使用的是几
版
本规范,不同版本的规范技术可能不同。我们学习的 WEB5.0 , Servlet 规范 2.5 , tomcat 至少使
用 6 版本。
官网地址: http://tomcat.apache.org/whichversion.html
入门学习中,常用的稳定搭配是:TOMCAT7------Servlet2.5
步骤一:下载一个 tomcat 服务器软件 .
http://tomcat.apache.org/download-70.cgi
步骤二:解压下载好的 zip 文件.
将解压后的文件 copy 到一个没有中文和空格的路径下即可 . 例如: D:\java\tomcat\apache-tomcat-7.0.68
bin :脚本目录 启动脚本: startup.bat 停止脚本: shutdown.bat conf :配置文件目录 (config /configuration) 核心配置文件: server.xml ,用于各种配置和插件集成,以及端口配置 用户权限配置文件: tomcat-users.xml ,用于进行 tomcat 用户设置(一般不设置) 所有 web 项目默认配置文件: web.xml ,用于进行项目的配置 lib :依赖库, tomcat 和 web 项目中需要使用的 jar 包 logs :日志文件 . localhost_access_log.*.txt ---------------tomcat 记录用户访问服务器的足迹日志,星 * 表 示时间。 例如: localhost_access_log.2017-01-01.txt 表示用户在 2017-01-01 访问服务器的哪些资源 catalina.*.log ----------------------------tomcat 服务器运行时,控制台输出,任何控制 台输出及错误提示都可以在这里搜寻 例如: catalina.2017-01-01.log 表示该文件包含了服务器 2017-01-01 当天出现的所有控制台信 息 temp :临时文件目录,文件夹内内容可以任意删除。(开发不涉及) webapps :默认情况下发布 WEB 项目所存放的目录。凡是存放在该目录的项目,服务器均会在启动时进行网上发布 work : tomcat 处理 JSP 的工作目录。
tomcat 解压目录 /bin/startup.bat 双击运行启动 tomcat
访问路径:http://localhost:8080/
如果没有配置 JAVA_HOME 环境变量,在双击“ startup.bat ”文件运行 tomcat 时,将一闪立即关
闭。且必须配置正确,及 JAVA_HOME 指向 JDK 的安装目录
当同一台计算机启动两个 tomcat 时,第二个 tomcat 将会在控制台抛异常,摘要信息如下:
严重 : Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"] java.net.BindException: Address already in use: JVM_Bind <null>:8080 ... Caused by: java.net.BindException: Address already in use: JVM_Bind ...
控制台将出现大量异常信息,描述的是 3 个端口被占用(
8080 、 8009 、 8005 )
通过 $JAVA_HOME/conf/server.xml 修改端口号。
在 JavaEE 规范中, WEB 项目存在一定的目录结构,具体结构如下:
项目名称 ( webapps 文件夹) |----- 静态资源 .HTML , CSS , JS |----- WEB-INF (不能直接通过浏览器进行访问) |---- web.xml 当前 WEB 项目的核心配置, Servlet2.5 必须有, 3.0 可省略。 |----lib 当前 WEB 项目所需要的第三方的 jar 的存放位置。 |----classes Java 源 码 编 译 后 生 成 class 文 件 存 放 的 位 置 。 Serlvet,service,dao,utils
只要 WEB 项目符合规范,放置在 webapps 目录中,服务器就会将其顺利发布网络
注: WEB-INF 是受保护目录,从浏览器不能直接访问,只有通过请求转发 (后面学习)
后面为项目起名的步骤和基础班完全相同。
点击两次 OK,回到以下界面:
注意:当更新了新的文件或 Java 代码时,服务器必须重启。