TomCat
1,想要让我们的已有资源对外提供共享。
就需要一个引用软件来完成。该软件就是服务器。
2,服务器产品有很多:
Apache:很广泛流行的开源的服务器产品。但只支持静态页面。
Microsoft IIS: 最流行的Web服务器产品之一
IBM WebSphere :是IBM电子商务计划的核心部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序
BEA WebLogic:多功能、基于标准的web应用服务器 ,遵从 J2EE 、面向服务的架构
3,我们最常用的是Tomcat服务器。
-----------------------
java web环境搭建。
1,JDK.
2,Tomcat服务器。
3,为了让Tomcat服务器运行,在其bin目录下给我们提供了启动脚本。
运行之前,需要做一些基础配置。
1,配置JAVA_HOME. 因为tomcat由java编写。需要被jvm所解析。
startup.bat 调用了catalina.bat文件,catalina.bat又调用了setclasspath.bat文件。而该文件中在寻找JAVA_HOME或者JRE_HOME
2,为了让tomcat/bin目录下的工具在任何路径下都可以运行。
就将其加入到path路径下。
这时就需要配置CATALINA_HOME.
如果在dos命令行下,出现startup.bat不是内部或外部命令。
说明CATALINA_HOME配置错误。
启动tomcat服务器两种方式:
1,startup
2,catalina run。
如果在启动时出现:
.BindException: Address already in use: JVM_Bind<null>:8080
说明8080端口被其他应用程序所占用。
注意:
当本机装有安装版的tomcat服务器。并已启动。
当关闭时,是直接通过exit完成,这时这个tomcat服务还在后台运行。
也就是8080还在被占用。
可以在DOS窗口中nestat -an 来查看存活端口。
或者通过fport工具查看存活端口对应应用程序。
当tomcat服务器版本过来时,在dos下启动可以看到当前运行的tomcat服务器是哪一个!
Using CATALINA_BASE: F:/tomcat60505
Using CATALINA_HOME: F:/tomcat60505
Using CATALINA_TMPDIR: F:/tomcat60505/temp
Using JRE_HOME: F:/jdk1.6.0_01
还有一点:
在进行tomcat路径设置的时候,尽量不要写中文。或者其他特殊符号,比如空格等。
---------------------
配置Tomcat服务器文件。
1,配置虚拟路径。
当需要将指定目录下的资源通过Tomcat服务器共享出去。
可以将指定目录的路径告诉Tomcat服务器即可。
a,在conf/server.xml文件中的Host元素内
定义Context元素。指定其属性为docBase="资源所在路径" path="/url路径" />
这种方式比较麻烦。因为修改了server.xml文件,需要重新启动服务器。
b,在conf目录下,定义一个文件夹,名称为引擎名称,该名称可以再server.xml的Engine元素中找到。
在该文件夹下,在建立一个主机名称文件夹。在Host元素中可以找到。
示例 conf/Catalina/localhost/
在该路径下定一个xml文件。
将Context元素配置其中。
<?xml version="1.0" ?>
<Context docBase="本地路径资源" />
注意:这个Context元素中可以不用定义path属性。该xml文件名称即为path的值。
这样的好处路径名称不会重复。
在用url访问时。http://localhost:8080/xml文件名称/资源。
这种方式较为常用,不需要重启服务器。
因为在一个目录下,一个文件名只能有一个,这样就能保证了一个本地系统文件对应一个虚拟web目录
2,当web应用程序中的内容进行了修改,要想访问修改后的内容需要重新启动服务器进行新内容的加载。
这样不利于开发,所以可以在自定义的虚拟路径xml文件中Context元素内容加入一个属性:reloadable="true"
即可。这样是针对某一个web应用可以在修改后进行自动加载。
如果想对所有的web应用都进行修改后自动加载。
可以在conf/Context.xml文件中的Context元素内容添加一个属性:reloadable="true"即可。
但是,如果web应用程序完成发布。一定要发布前将这个属性的值置为false。因为如果为true消耗服务器资源。
3,为了我们方便我们进行程序的查看和运行。
通常都会在开发时,将cong/web.xml文件中的listings的值置为true
这样的好处在于可以查看项目下的文件。
但是在发布时,一定要将该值改为false,否则出现安全隐患。
4,更改端口。
通常可以使用8080tomcat默认端口,但是如果安装了Oracle,容易出现端口冲突,
所以在server.xml文件中将该端口改掉。重启服务器即可。
5,建立用户名和密码,打开tomcat的管理程序。
在主页上进入Tomcat Manager
通过用户名和密码。这两项可以在conf/tomcat-users.xml文件中进行配置。
添加类似于
<role rolename="manager"/>
<user username="tomcat" password="s3cret" roles="manager"/>
6 欢迎页面 (打开该目录 自动默认的页面)
1新建一个WEB-INF文件夹 新建一个web.xml
写入:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
<welcome-file-list>
<welcome-file>test.html</welcome-file>
</welcome-file-list>
</web-app>
其中 <welcome-file-list>
<welcome-file>test.html</welcome-file>
</welcome-file-list> 为欢迎页面标签
Http
1.Talent 程序是一个简单通用的TCP客户端程序,它可以按指定的Ip地址和端口号去与某个服务器建立连接,连接建立后,Talent程序窗口中会显示服务器发过来的数据,在Talent程序窗口中用键盘输入的内容也会发到服务器程序
2,解决 telnet 不是内部或外部命令
解决cmd中使用telnet命令时 ,显示telnet不是内部或者外部命令的问题 :
1.首先查看目录E:/WINDOWS/system32(系统盘)下有没有telnet.exe文件 ;
(如果没有的话,可以在其它的电脑上面拷贝过来)
2.如果有,看看环境变量是否有问题:
我的电脑---》右键属性--》高级--->环境变量-->系统变量(s)
-->新建:
变量名 变量值
path E:/WINDOWS/system32(系统盘下)
3.确保已经开启telnet服务:
控制面板-->管理工具-->服务 项中找到telnet选项 ,可以将其启动方式设置为自动 ,
并启动telnet服务
2测试Talent
GET /myapp/form.html HTTP/1.1
Host:
3 talent ctrl+】 切换 本地回显
4 网络的几个层次 :
ISO的是七层:
应用层:OSI模型的应用层是用户与计算机进行实际通信的地方。
表示层:表示层因它的用途而得名:它为应用层提供数据,并负责数据转换和代码的格式化。
会话层:会话层负责建立、管理和终止表示层实体之间的会话连接。
传输层:传输层将数据分段并重组为数据流。
网络层:网络层负责设备的寻址,跟踪网络中设备的位置,并决定传送数据的最佳路径,这意味着网络层必须在位于不同地区的互联设备之间传输数据流。
数据链路层:数据链路层提供数据的物理传输,并处理出错通知、网络拓扑和流量控制。
物理层:物理层是最低层,物理层的功能有两个:发送和接收位流
5 Http1.0和Http1.1区别
1.0在一次连接断开中只有一个请求和应答
1.1在一次连接中可以有多个请求和应答。
广泛使用1.1,因为支持持续连接,避免了多次连接和关闭带来的消耗和延时。
6 GET和POST的区别
对于提交信息
GET:会以url参数的形式显示在址栏上。
POST:不会显示。
对于敏感信息(如密码,帐号)POST提交较为安全。
对于信息的体积
GET:因为都显示在地址栏,地址栏是有限制的IE最大支持2083字节。
POST:数据体积没限制。
对于信息的封装
GET:将信息封装到请求行中
POST:将信息封装到了请求正文中
通过表单提交数到自定义服务端演示。
常见的GET提交方式:超链接,地址栏直接录入url。
POST提交方式:定义表单时,将method属性的值定义为post。
7