• WEB相关知识和Tomcat服务器


    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、进入Tomcatin,执行startup.bat

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

    3)启动Tomcat遇到的问题:

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

             Tips:

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

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

                       在TOmcatconf目录中有一个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中

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

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

             进入你的应用目录

             执行:jar -cvf MyApp.war .

    Tomcat配置虚拟目录

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

    1)修改Tomcatconfserver.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

    方式二:

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

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

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

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

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

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

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

    访问MyApp下的1.html

    http://locahost:8080/1.html

  • 相关阅读:
    Max retries exceeded with ur
    DHTML【1】
    广播发送与接收
    用例图之我见
    rman catalog (rman 恢复目录)
    面试高频题:单链表的逆置操作/链表逆序
    C#3.0 语言基础扩充
    hdu 1114 Piggy-Bank(完全背包)
    VSS Get Latest Version 没有提示recursive的对话框解决
    微服务实践分享(3)服务发现
  • 原文地址:https://www.cnblogs.com/EvanLiu/p/3685843.html
Copyright © 2020-2023  润新知