1,Javaweb基本概念
1.1、前言
web开发:
web,是指网页,如 www.baidu.com
web主要分为两个方面: 静态web,动态web
静态web:
1: html,css
2: 提供给所有人看的数据始终不会发生变化!
动态web:
1: 淘宝,现在几乎所有的网站
2: 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息是各不相同的!
3: 技术栈:Servlet/JSP,ASP,PHP
在java中,动态web资源开发的技术统称为JavaWeb;
1.2、web应用程序
web应用程序: 可以提供浏览器访问的程序;
— a.html、b.html…多个web资源,这些web资源可以被外界访问,对外界提供服务;
— 我们可以访问到的任何一个页面或者资源,都存在于这个世界的某一个角落的计算机上。
— URL
— 统一的web资源会被放在同一个文件夹下,web应用程序–>Tomcat:服务器
— 一个web应用由多部分组成 (静态web,动态web)
html,css
jsp,servlet
Java程序
jar包
配置文件 (Properties)
web应用程序编写完毕后,若想提供给外界访问,需要一个服务器来统一管理;
1.3、静态web
*.htm, *.html,这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取。
静态web存在的缺点 :
Web页面无法动态更新,所有用户看到都是同一个页面
它无法和数据库交互(数据无法持久化,用户无法交互)
1.4、动态web
页面会动态展示: “Web的页面展示的效果因人而异”;
动态web存在的缺点:
加入服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布; ------停机维护
动态web存在的优点:
Web页面可以动态更新,所有用户看到都不是同一个页面
它可以与数据库交互 (数据持久化:注册,商品信息,用户信息…)
2,web服务器
2.1技术讲解
ASP:
微软:国内最早流行的就是ASP;
在HTML中嵌入了VB的脚本, ASP + COM;
在ASP开发中,基本一个页面都有几千行的业务代码,页面极其换乱
维护成本高!
php:
PHP开发速度很快,功能很强大,跨平台,代码很简单 (70% , WP)
无法承载大访问量的情况(局限性)
JSP/Servlet :
B/S: 浏览和服务器
C/S: 客户端和服务器
—sun公司主推的B/S架构
—基于Java语言的 (所有的大公司,或者一些开源的组件,都是用Java写的)
—可以承载三高问题带来的影响;
—语法像ASP , ASP–>JSP , 加强市场强度;
2.2、web服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息;
IIS
微软的; ASP…,Windows中自带的;
Tomcat
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个Java初学web的人来说,它是最佳的选择
Tomcat 实际上运行JSP 页面和Servlet。Tomcat最新版本为9.0。
3、Tomcat
3.1、 安装tomcat
tomcat官网:http://tomcat.apache.org/
3.2、Tomcat启动和配置
文件夹作用:
启动,关闭Tomcat
访问测试:http://localhost:8080/
可能遇到的问题:
1,Java环境变量没有配置
2,闪退问题:需要配置兼容性
3,乱码问题:配置文件中设置
3.3、配置
可以配置启动的端口号
tomcat的默认端口号为:8080
mysql:3306
http:80
https:443
可以配置主机的名称
默认的主机名为:localhost->127.0.0.1
默认网站应用存放的位置为:webapps
3.4、发布一个web网站
将自己写的网站,放到服务器(Tomcat)中指定的web应用的文件夹(webapps)下,就可以访问了
网站该有的结构
–webapps:Tomcat服务器的web目录
–ROOT
–XBweb:网站的目录名
-WEB-INF
-classes : java程序
-lib:web应用所依赖的jar包
-web.xml :网站配置文件
- index.html 默认的首页
- static
-css
-style.css
-js
-img
-…