- web资源:
互联网上提供了各种各样的web资源!
web资源就是:
1.www.163.com 这个网页就是web资源。
2.下载的文件
3.浏览器中,能看到的任何文字,图片,视频等等都是web资源。
4.Html js css都是web资源,因为你访问一个网站的某个网页时,其实就是在下载html代码,下载css代码,下载js代码。
想要获得某个Web资源,这个web资源所在的服务器必须是开启状态!如果服务器关闭,则无法访问。
- 分类:
Web资源,分为了静态web资源,和动态web资源
静态web资源:HTML
动态web资源:jsp、php、asp、cgi、servlet。
静态web资源和动态web资源的区别:
静态web资源中所写入的代码,始终不变(除非自己手动修改html代码!)
动态web资源:内容是随着用户的不同而不同的,随着时间的不同而不同,随着数据库的不同而不同! 不用手动修改代码,就能修改数据!
简单一句话:动态页面的内容来源于数据库,静态页面的内容使用保持不变。
思考:web程序为什么需要一个web服务器?
一台电脑上有各种资源,这些资源有html,css,javascript,图片,视频等等。这些资源只有当前这个电脑能用!其他电脑不能直接使用本台电脑中存放的资源。服务器的出现,可以把本台电脑的资源共享,这种共享不是简单的局域网内的文件共享,而是互联网上的web资源共享!
简单一句话:服务器就是一个把本台电脑上的文件共享给其他电脑的软件(互联网范围内!)。
- web服务器
JavaEE:企业级应用开发,是一个专业(包含硬件软件,网络布局,集群,分布式,负载均衡等等,包罗万象!)
Web服务器软件,有很多种: - Weblogic
WebLogic,bea公司产品,支持Java EE规范
用于商业应用时,它不是免费的(费用20W人民币起)
在家里自己练习使用,它是免费的 - Websphere
WebSphere: IBM公司产品,支持Java EE规范 - Jboss
:Redhat公司产品。开源免费 - Tomcat (重点)
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。支持全部JSP以及Servlet规范 - 利用tomcat在局域网内部署一个静态web网站
1,进入tomcat根目录,进入bin。双击startup.bat启动服务器!
2,在浏览器地址栏中,输入http://本机ip地址:8080。能看到猫说明服务器启动成功!
3,进入tomcat/webapps目录,新建一个文件夹(其他文件夹最好别删)。
4,在文件夹中建立一个html文件,随便写入内容,在浏览器中访问:
http://本机ip地址:8080/文件夹名字/文件名
就能看到web资源了!
这种是通过服务器链接来获取资源的,而下面这种是直接在本地打开获取资源
想让tomcat能够正常运行,必须先保证jdk安装好! 因为tomcat是纯java编写的服务器。
- 端口号:
我们可以修改tomcat的端口号
进入tomcat/conf/server.xml文件
搜索一个connector元素。 把该元素的port属性值修改即可,
要重启服务器才能生效!
注意,http协议的默认端口是80,如果一个服务器的端口是80,同时协议是http,则端口可以省略!
- 注意:上面修改的文件是以.xml结尾的,这是个什么文件了?(可扩展标签语言)
可扩展标记语言是一种很像超文本标签语言的标记语言。 - 它的设计宗旨是传输数据,而不是显示数据。
- 它的标签没有被预定义。您需要自行定义标签。
- 它被设计为具有自我描述性。
它是W3C的推荐标准。 - 可扩展标记语言和超文本标记语言之间的差异
它不是超文本标记语言的替代。
它是对超文本标记语言的补充。
它和超文本标记语言为不同的目的而设计: - 它被设计用来传输和存储数据,其焦点是数据的内容。
- 超文本标记语言被设计用来显示数据,其焦点是数据的外观。
超文本标记语言旨在显示信息,而它旨在传输信息。
对它最好的描述是:它是独立于软件和硬件的信息传输工具。
XML 是各种应用程序之间进行数据传输的最常用的工具 - 相关概念:
- URL:统一资源定位器,URL是专门定位web资源的http://www.baidu.com/
- 主机名: 一个主机名,对应一个电脑(ip)。一个电脑可以有多个主机名。www.baidu.com
- 域名:baidu.com
baidu.com是主域名
一个主域名下可以有多个子域名,一个域名可以包含多个子域名对应多个主机
通常将一台服务器划分出多个虚拟机服务器,这样每个网站即可分配独立服务器资源一部分,并且互相不影响且可以配独立IP地址,大大解决了中小企业使用单独服务器费用过高的问题.比如:
mail.baidu,com
www.baidu.com
Ww.baidu.com
W.baidu.com
- Tomcat目录结构
bin: 存放启动和关闭tomcat的文件。
Conf: 存放配置文件,最重要的配置文件是server.xml
Lib 存放tomcat使用的jar文件,这个目录中的jar文件能被所有tomcat服务器下的web应用共享
Logs 存放日志文件。(记录什么时候启动服务器,什么时候关闭,服务器的出错信息全部记录!)
temp存放tomcat服务器运行时产生的临时文件(可以删除,不建议删除! 最好保留)
Webapps: 存放各种web应用,其中每一个文件夹都是一个web应用。
Work 存放servlet目录(后续讲解!)
- 什么是web应用: 供浏览器访问的程序。
Web应用的组成:html + css + javascript + 素材(图片,视频,音频,各种文件)
Web应用所在目录,组成web资源的文件通常都会放在同一个文件夹中,这个文件夹就是web应用所在目录! - 利用tomcat部署一个jsp资源
在Tomcat下的webapps下建立foo文件夹,文件夹下建foot.jsp文件
在<%%>里面可以写java代码,可以看到
数字上传到了Tomcat服务器中,原因是System.out是标准输出,标准输出就是服务器端的那个屏幕! - 也可以把数字输出到页面上
<marquee>大家好</marquee>
<hr/>
<body>
<%
for(int i=1;i<=5;i++){
out.println(i);
}
%>
</body>
去掉System.,此时out是Tomcat的一个对象
Out是jsp内置对象,可以直接使用,out的起点:服务器,终点:客户端。
- Script是客户端脚本,服务器负责把script源代码发送给客户端,客户端接受以后再执行! 而服务器端脚本是在服务器端执行,把运行结果用过out发给客户端。
<marquee>大家好</marquee>
<hr/>
<body>
<script> //客户端脚本
for(var i=1;i<=3;i++){
document.write(i+"<br/>");
}
</script>
<% //服务器脚本
for(int i=1;i<=5;i++){
out.println(i);
}
%>
</body>
- 显示时间:
<%@ page import="java.util.*"%>
<marquee>大家好</marquee>
<hr/>
<body>
<script>
document.write(new Date()); //客户端时间
</script><br>
<%
Date now=new Date();//服务器端时间
out.println(now);
%>
</body>
- 虚拟目录映射:
- web应用开发好之后,若想供外界访问,需要把web应用所在目录交给服务器进行管理,这个过程称之为虚拟目录映射,有两种映射的方法:
将web应用所在目录部署到Tomcat服务器的webapps下,此时Tomcat将自动进行虚拟目录映射。
通过配置文件手动进行虚拟目录映射
把一个web应用所在目录放在服务器下的webapps下,这个过程就是:虚拟目录映射。访问的web应用名就是文件夹的名字
虚拟目录映射的另外一种情况:有时候,就是不想把web应用放在tomcat webapps目录下,但是还想进行虚拟目录映射,咋办?(工作中是服务器和web应用要分盘的存的)
这种不推荐使用,因为每次配置完成后,还要重启Tomcat服务器!如果一个网站已经上线运营了,重启服务器会造成2~10分钟之内,网站无法访问!
注意:如果conf下没有Catalina文件夹,直接新建。
- web应用的组成结构:
web.xml是整个web应用中最重要的配置文件,它必须放在WEB-INF目录中。
在开发web应用时,但凡涉及到对web应用中的web资源进行配置,通通是在web.xml文件中进行设置,如:
某个web资源配置为网站首页
将servlet程序映射到某个url地址上
为web应用配置监听器
为web应用配置过滤器
…
- 配置虚拟主机
在一个tomcat服务器中可以放置多个网站,所谓配置虚拟主机,就是在tomcat服务器中配置一个网站。
如需在web服务器中配置一个网站,需要使用Host元素进行配置,例:
<Host name="site1" appBase="c:\app"></Host>
- Tomcat服务平台管理:
- 进入conf,打开tomcat-users.xml
- 取消注释,并添加manager角色
- 重启tomcat服务,进入tomcat欢迎界面
- 访问tomcat manager应用
进来之后可以管理里面的web项目。 - 在java中javac Test.java编译的时候,没有带包
package com.z.bean;
public class Test{
private int a;
private String name;
}
换一种方式:编译生成带包的class文件