Java基础 tomcat使用和配置

Web开发模型
Web相关概念
问题:什么是web?
Web指的就是网页,我们所说的web指的是Internet主机上供外界访问的资源
问题:web资源类型有那些?
静态web资源:指web页面上供人们浏览的数据,它始终不变,如hmtl
动态web资源:指web页面中内容是由程序产生的,供人们浏览,并且在不同的时间点,数据不一样,并且还可以实现人与人之间的交互.
简单说,静态的web资源,只是供人们浏览,而动态的web资源,可以实现交互。
问题:静态web开发技术有哪些,动态的web开发技术有哪些?
静态:html
动态:jsp/servlet  asp  php
Web服务器
两种结构
BS结构  browser server  浏览器服务器
CS结构  client server 客户端服务器
在现在的开发中使用的bs结构比较多。
Web开发中系统的通过是基于请求与响应模式,有请求才可以有响应,请求与响应是成对出现的。

什么是服务器?
对于服务器有两种概念 第一种就是一台电脑  第二种指的是在电脑上安装了一个服务器软件,这时我们也管这台电脑叫做服务器。我们学习的是第二种。
常见的javaweb服务器
1.weblogic   它是bea公司的,已经被oracle收购,它是全面支持javaee规范,收费的大型的web服务器,它是企业中主流的服务器,在网络上学习资料比较多。
2.websphere 它是ibm公司的一个大型的收费的全面支持javaee规范的javaee容器。
3.tomcat 它是开源的免费的servlet容器。 它是apache一个web服务器。
4.jboss hibernate公司产品,不是开源免费的,是javaee规范的容器。
Tomcat安装与配置
Tomcat它的安装文件分为两种
1.exe文件,直接安装版本(注意安装的路径中不要包含中文或空格)
2.解压版本 直接解压后就可以使用。
获取tomcat安装程序包可以去http://tomcat.apache.org/去下载
Tar.gz(zip)文件,它是linux下的安装版本。
测试是否安装成功
在tomcat的安装目录下有一个bin目录 ,在目录 中有一个startup.bat文件执行它,如果看到以下内容
代表tomcat启动成功。打开浏览器,在浏览器的地址栏上输入

如果看到这个页面,代表tomcat成功。
关于tomcat安装时的注意问题
1.安装tomcat必须要求系统配置中有JAVA_HOME,如果没有配置,执行startup.bat文件时会出现闪退效果 JAVA_HOME配置的是我们的jdk的根目录.
2.tomcat默认使用的8080端口,如果其它的程序占用了这个端口,启动时也会失败。解决方案
(1)将占用8080端口的程序关闭。使用以netstat命令查看占用8080端口程序的pid
在任务管理器中将占用端口的程序关闭。
(2)修改tomcat的端口号
在 tomcat/conf/server.xml文件

现在tomcat占用的端口有两个,8080 还有80 
80端口是我们http协议默认的端口。
关闭tomcat
1.tomcat/bin/shutdown.bat
2.直接关闭dos窗口
3.ctrl+c
tomcat目录结构
Web应用程序
       我们所说的web应用程序,就是浏览器访问的程序,通常叫web应用程序。
Web应用程序的基本目录结构
       Myweb目录
              --------------------资源 html  txt jsp  视频等
    --------------------WEB-INF目录
                     --------------------web.xml 当前web应用的核心的配置文件
                     --------------------classes目录  存储.class文件                                                                           --------------------lib目录  存储当前工程所需要的jar包
问题:web.xml文件中应该有什么内容?
可以将tomcat/webapps/ROOT应用下的web.xml文件内容复制到我们自己的web.xml文件中
问题:访问tomcat 路径 http://localhost:8080 默认访问的是ROOT工程,默认访问的资源是index.jsp页面,为什么默认访问的是index.jsp,对于我们工程可不可以设置一个在默认访问页面?
在tomcat/conf/web.xml文件,将这个文件理解成是我们所有的tomcat下的web应用程序中的web.xml文件的父。在这个web.xml文件中定义
这段声明就规定了web应用中哪些文件是默认被访问的。
如果我们在自己的web.xml文件中将上述内容覆盖了,就可以设置自己定义的默认访问页面。
Tomcat中部署web应用程序
       介绍三种方式:
1.      直接将一个web应用程序放置在tomcat/webapps目录下。这时web应用程序目录名称就是我们访问tomcat下的这个应用程序的名称
2.      将一个不在tomcat下的web应用程序部署加载。我们可以在tomcat/conf/server.xml文件中配置,在server.xml文件中的<Host>结束标签前添加一段配置

在自定义的文件夹下 内部还需要有WEB-INF文件夹 里面存放 web.xml
格式为


docBase就是配置web应用程序所在的目录,而path的值就是访问这个应用程序的一个路径,在浏览器上可以输入 http://localhost/hello来访问。
我们将通过<Context>配置,通过path值去映射docBase描述的web应用程序的目录的过程叫做虚拟目录。
在tomcat6以后已经不建议使用了。
1.      可以在第二种方案基础上进行增强,在tomcat/conf/Catalina/localhost下创建任意名称的一个xml文件,例如创建一个good.xml文件,在文件中书写
启动tomcat
这种方案配置,xml文件的名称就相当于是path值,也就是说,我们在访问时,可以 http://localhost/good就可以。
Tomcat的虚拟主机
我们现在要做的是在浏览器上输入http://www.baidu.com想要访问的是tomcat下的一个web应用,而不是internet上的baidu.
1.在我们自己的系统的域名解析文件中配置,而我们系统的域名解析文件是在C:\Windows\System32\drivers\etc\hosts文件,可以使用文件编辑器将其打开,在这个文件中录入   127.0.0.1 www.baidu.com
在浏览器上输入  http://www.baidu.com就会看到访问的是tomcat的首页。
原因:就是因为在本地的域名解析文件中配置了,当访问 www.baidu.com就认为你要访问的是127.0.0.1,而我们知道127.0.0.1其时访问的是tomcat
2.在tomcat/conf/server.xml文件中配置
a)      将tomcat的端口设置成80
b)      在server.xml文件中修改
c)       在server.xml文件中配置
在myeclipse下开发web应用
1.      在myeclipse开发web应用,创建工程时要创建web project

src下是用于存储java代码 WebRoot它对就的web应用的目录。
问题:myeclipse中的web project中的哪些内容部署到tomcat下了?
WebRoot/WebContent下所有的文件都会被部署到tomcat的webapps下,而src目录下的所有内容,发布后会放置在WEB-INF/classes目录下

 
http协议
http协议介绍
       问题:什么是协议
              协议就是规定双方如何通信。
       http协议:
超文本传输协议 HyperText  transfer protocol 是互联网上应用最为广泛的一种网络协议,所有的www都必须遵守这个标准。
简单说,我们在做javaweb开发时,浏览器与服务器要通信,它们之间遵守就是http协议。
http协议是建立在TCP协议基础上。http协议也是基于请求与响应的模型,http协议默认的端口是80.
演示使用抓包工具来查看http协议信息
       1.创建一个web工程   httpdemo,在工程中创建一个hello.html页面。
       2.将工程部署到tomcat中,打开浏览器查看hello.html页面
       3.安装一个httpwatch抓包工具
       4.启支httpwarch抓包工具
       通过抓包工具可以看到如下信息
       http请求:
http响应内容
http请求
       http请求分为三部分:
1.      请求行
第一个:请求方式  GET   POST
第二个:请求资源路径
第三个:协议版本
笔试题:GET与POST请求区别?
1.      get只能传递1kb以下数据,POST可以传递大数据。
2.      get请求如果有请求参数,那么,浏览器上会显示请求参数
post请求不会,所以post请求会更安全。
3.      如果是get请求,有请求参数,请求参数是在http请求行的资源路径上。
如果是post请求,有请求参数,请求参数是在请求正文中
2.      请求头
格式 :  名称:值1,值2,….
重要的http请求头
 它是用于描述请求是从哪个位置来的,使用它可以进行防盗链。
通过它可以判断浏览器
这个头可以与http响应头last-modify组合完成服务器缓存策略
3.      请求正文
请求正文与请求行之间有一人空白行,对于请求正文,只有在请求方式是POST的情况下,并且有请求参数,才会有请求正文。
 
http响应
       http响应由三部分组成
1.      响应行
在响应行中最重要的是响应状态码
一共分为五种
1xx 代表浏览器向服务器发送请求,服务器没有做任何操作
2xx 服务器正确响应,并且响应成功。
3xx 代表浏览器向服务器发送主求,服务器完成一部分工作,通知浏览器继续执行其它的操作。
4xx 浏览器错误
5xx 服务器端错误
最常见的状态码 
200     响应成功
302  可以与一个响应头location组合完成重定向。
              304  代表服务器端资源没有改变。
404  资源访问不到
       405  浏览器请求时请求的方式get/post没有与之对应的方法
       500  服务器端错误。
2.      响应头
响应头格式   name:值1,值2,…
Location 它与302状态码组全可以完成重定向功能。(response对象)
Content-type:服务器响应回的数据mimeType类型。
refresh 可以实现定时跳转
content-disposition 可以完成文件下载
expires
cache-control
pragma
这三个头可以实现禁用浏览器缓存。
Last-modified 它与304状态码及http请求头  if-modify-since组合完成服务器缓存策略。
3.      响应正文
对于http响应正文,它是真正被浏览器解析并显示在浏览器上的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值