WEB相关知识

1.Internet上供外界访问的Web资源分为:

静态web资源:指web页面中供人们浏览的数据始终是不变的。

动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

2.WEB服务器

1)一个简单的模拟web服务器的代码

eg:

package cn.lsl.server;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(9999);
while(true){
Socket socket = server.accept();
//给用户返回数据
OutputStream out = socket.getOutputStream();
//读取磁盘上的文件
InputStream in = new FileInputStream("F:\\a.html"); int len = -1;
byte b[] = new byte[1024];
while((len=in.read(b))!=-1){
out.write(b, 0, len);
}
in.close();
socket.close();
}
}
}

通过http://ip地址:9999/来访问

2)常用的服务器

WebLogic:支持JavaEE规范。称之为JavaEE容器:属于重量级服务器。

(注:即实现了什么规范的服务器就叫做什么容器。)

WebSphereAS(Application Server):支持JavaEE规范

JbossAS:支持JavaEE规范。免费

Tomcat:支持Servlet/JSP规范。轻量级服务器。

Tomcat服务器

1. Tomcat的安装与启动遇到的问题

1)注意:不要把Tocmat装到有中文或空格的目录中。

2)验证Tomcat是否成功

a、进入Tomcat\bin,执行startup.bat

b、启动过程中没有出错。最好还要打开浏览器:http://localhost:8080

3)启动Tomcat遇到的问题:

a、无法启动:配置系统环境变量JAVA_HOME=你的JDK的安装目录

Tips:

HTTP协议规定,Web应用的默认端口是80

把Tomcat使用的默认端口8080改为Web应用的默认端口80?

在TOmcat\conf目录中有一个server.xml

找到8080改为80,就可以使用默认端口了。

4)Catalina_home=Tomcat的安装目录(不建议使用)

2. Tomcat的目录结构

bin:运行Tomcat的相关命令

conf:Tomcat的配置信息所在

lib:Tomcat运行需要的jar包

logs:TOmcat的运行日志

temp:存放临时文件的

webapps:Web应用的存放目录。该目录中的每个目录都代表一个应用。

work:Tomcat的工作目录

JavaWeb应用的目录结构

1.例如MyApp

MyApp:(目录,应用的名称)

---1.html

---css

---------a.css

---WEB-INF:此目录必须有,且大小必须完全一致。该目录中的资源,用户无法直接访问到。(非常重要)

---------classes:存放Java类的字节码

---------lib:存放本应用需要的jar包

---------web.xml:本应用的配置文件

部署自己的应用到Tomcat中

方式一:把你的应用拷贝到Tomcat\webapps目录下。

方式二:把自己的应用打包成war包,再拷贝到Tomcat\webapps目录下

进入你的应用目录

执行:jar -cvf MyApp.war .

Tomcat配置虚拟目录

方式一:(不建议使用,原因就是需要重新启动)

1)修改Tomcat\conf\server.xml,找到<Host name="localhost"/>元素

2)在其中增加一个子元素,内容如下:

<Context path="/hello" docBase="E:\MyApp"/>

注:path:虚拟目录的名称。给用户来访问的。docBase:实际应用的存放目录

3)重新启动Tomcat

4)访问资源:http://localhost:8080/hello/1.html就是访问E盘下MyApp目录中的1.html

方式二:

在Tomcat\conf\[enginename]\[hostname]目录下建立一个特殊的文件,文件扩展名为xml;

文件的主文件名就是映射的虚拟路径(即<Context path="/hello" docBase="E:\MyApp"/>中的path)

增加以下内容:(hello.xml)

<?xml version="1.0"?>
<Context docBase="E:\MyApp"/>

扩展:配置E盘上的MyApp作为默认应用

1)在Tomcat\conf\[enginename]\[hostname]目录下建立一个特殊的文件,文件名ROOT.xml;

2)由于默认应用特殊,也需要重新启动Tomcat

访问MyApp下的1.html

http://locahost:8080/1.html

WEB相关知识和Tomcat服务器的更多相关文章

  1. JAVA WEB学习笔记(二):Tomcat服务器的安装及配置

    一.Tomcat的下载及安装. 前往Tomcat官网下载安装包或者免安装压缩包.链接http://tomcat.apache.org/ 这里,我选择的是Tomcat8.0,而不是最新的Tomcat9. ...

  2. java web 学习三(Tomcat 服务器学习和使用2)

    一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:

  3. java web 学习二(Tomcat服务器学习和使用1)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...

  4. 将eclipse上的web项目部署到Tomcat服务器上经验总结

    1.  将Tomcat插件添加到eclipse上 Window --> Preferences --> Server --> Runtime Environment --> A ...

  5. 在 eclipse 中将 web 项目部署到 tomcat 服务器上

    1.在 eclipse 中,选择 Window--->Preferences--->Server--->Runtime Environments,选择 Add 按钮 2.在弹出的对话 ...

  6. Web项目运行时tomcat服务器启动失败

    在实现项目的过程中,tomcat服务器启动失败的情况本人遇到了三种: 1.tomcat服务器的端口被占用. 可能的原因:a.服务器已经启动的时候你又一次启动了服务器 b.别的服务占用了服务器的端口(一 ...

  7. web相关知识

    1,网络编程/网站编程:敲一个网站,别人可以访问 访问:在地址栏里面敲入地址,就可以访问了. 服务器如果放在公网,那么别人就可以通过IP地址进行访问 所以我们可以先在本地把我们的网站搭好,别人就可以来 ...

  8. web 项目 布在tomcat服务器上出现的问题小记

    1.mysql  安装前需要安装.net framework 框架 mysql  无法安装  最后一布,start server 服务起不来. 原因,为上一次mysql没有删除,干净,导入无法安装. ...

  9. Linux系统(将web应用部署到tomcat服务器上)

    一:tomcat服务开机自启动 将启动命令路径配置到/etc/profile文件中在/etc/profile 文件最后配置 /usr/tomcat/apache-tomcat-6.0.45/bin/s ...

随机推荐

  1. 前端开发——移动bug整理

    1.ios下jquery的delegate失效问题? 解决方案: $("body").delegate(...) 改为 $(".item").delegate( ...

  2. 一些javascript常用方法

    1.输入一个正整数n,从1累加到n,返回结果.(如果输入为非正整数,如:小数.0.负数.NaN或其它非数字则返回false) function f(n){ return ~~+n == n & ...

  3. 解决Ubuntu Adobe Reader 菜单栏空白

    sudo gedit /usr/local/share/applications/AdobeReader.desktop将  ”Exec=acroread“ 用 ”Exec=env UBUNTU_ME ...

  4. bundle install 出现 &#39;gem install mysql2 -v &#39;0.3.15&#39; succeeds before bunding &#39;

    bundle install 出现  'gem install mysql2 -v '0.3.15' succeeds before bunding ' 解决:sudo apt-get install ...

  5. android微信付费

    原文地址:http://blog.csdn.net/intbird 微信官方文档地址:t=resource/res_main_tmpl&verify=1&lang=zh_CN" ...

  6. 开始Unity3D参观考察

    前言:这个系列的文章纯属对自己学习的整理,非高手之作. 但确实的记载了我作为一个没接触过3D游戏编程的大学生的心路历程.争取每周整理一次吧. 之所以会開始学Unity3D,最基本的原因是由于在快放暑假 ...

  7. SDUTOJ 2054 双向链表

    #include<iostream> #include<stdlib.h> using namespace std; typedef int ElemType; typedef ...

  8. 【转】Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9671609 记得在很早之前,我写了一篇关于Android滑动菜单的文章,其中有一个 ...

  9. Smarty注释代码

    所有的smarty模板标签都被加上了定界符. 默认情况下是 { 和},但它们是可被改变的. 例如,我们假定你在使用默认定界符. 在smarty里,所有定界符以外的内容都是静态输出的,或者称之为不可改变 ...

  10. Date与SimpleDateFormat

    Date常用的方法 返回类型 方法名称 备注 Date New Date() 创建当前日期对象 Date New date(long dt) 使用自1970.1.1以后的指定毫秒数创建日期 boole ...