JavaEE 相关知识

## Web一些基本概念

一. 软件架构

1.C/S:客户端/服务器端

2.B/S(客户端零维护,客户通过域名访问):浏览器/服务器端,目前的开发都是基于这个结构的

二. 资源分类(服务器内)

1.静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源。静态资源可以直接被浏览器解析。

    * 如,html, css, JavaScript

2.动态资源:每个用户访问相同资源后,得到的结果可能不一样,称为动态资源。动态资源被访问后,需要先转换为静态资源,再返回给浏览器。

    * 如,servlet/jsp,php,asp....

三.网络通信的三要素

1. IP:电子设备(大多数情况为计算机)在网络中的唯一标识。

2. 端口:应用程序在计算机中的唯一标识。取值范围:0~65536

3. 传输协议:规定了数据通信/传输的规则。

    两个基本的协议:

          ①TCP协议:安全协议,传输前经过三次握手,速度稍慢。

          ②UCP协议:不安全协议,速度快。

四. JavaEE:java语言在企业级开发中使用的技术规范的总和,一共有13项大的规范。

## Web服务器软件

  • 服务器:安装了服务器软件的计算机。
  • 服务器软件:接受用户的请求,处理请求,作出相应。
  • Web服务器软件:接受用户的请求,处理请求,作出相应。   

        * 在Web服务器软件中,可以部署Web项目,让用户通过浏览器来访问这些项目

        * 又被称为Web容器

  • 常见的java相关Web服务器软件:

       * webLogic:Oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。

       * webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。

       * JBoss:Jboss公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。

       * Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp,开源的,免费的。

## Tomcat

1. 安装

下载地址:https://tomcat.apache.org/

安装步骤:解压即可。

2. 目录结构

① bin:存放可执行文件,tomcat在这里启动。(其中.sh是在linux操作系统下可执行的)

② conf:存放配置文件,需要重点修改。

③ lib:依赖jar包。

④ logs:日志文件。

⑤ temp:存放临时文件,不太常用。

⑥ webapp:存放web项目,非常重要。

⑦ word:存放运行时的数据。

3. 启动:

①访问自己的:点击bin中的startup.bat,浏览器中输入http://127.0.0.1:8080/或者http://localhost:8080/(127.0.0.1是本机默认地址,8080是tomcat自带端口号)

②访问别人的:浏览器中输入http://别人的ip + 端口号

可能遇到的问题:

    * 黑窗口一闪而过:

       原因:没有正确配置JAVA_HOME环境变量

       解决方案:正确配置环境变量即可

   * 启动报错:

      原因:通过logs去分析,如果是java.net.BindException: Address already in use: JVM_Bind,可能是端口号用重复了。

      解决方案:找到被占用的端口号的程序,直接通过PID(进程ID)在任务管理器中杀死该进程。

                        或在conf中修改自身端口号,修改这一段

                                                    connectionTimeout="20000"
                           redirectPort="8445" />

                        如果想要同时启动两个tomcat,那么所有其他的port也要修改,包括redirectPort。

       一般会将tomcat的默认端口号设为80,因为80是http协议的默认端口号,好处是在访问时不用输入端口号。

4. 关闭

①正常关闭:双击bin中的shutdown.bat 或 ctrl+C,比较推荐这种方式。

②强制关闭:直接×掉窗口,并不推荐。

5. 部署项目

(1)部署项目方式

①直接将项目放到webapps目录下即可。

   * /hello(比如你的项目是hello,是放在webapps目录下面的文件夹) —> 项目的访问路径,又称虚拟目录。

 或 将项目打成war包,再将war包放置在webapps目录下,war包会自动解压缩。

②配置conf/server.xml文件(这种方式修改一些东西后,必须重启服务器才能生效)

    在标签体中配置

    其中docBase:项目存放的目录

            path:虚拟目录,即访问时是localhost:端口号/path/

③在conf\Catalina\localhost创建任意名称的xml文件,在文件中编写

    在访问时的虚拟目录是xml文件的名称。

(2)静态项目和动态项目

 ①目录结构:

     java动态项目的目录结构:

        --项目的根目录

            --WEB-INF目录:

                 --web.xml:web项目的核心文件

                 --classes目录:放置字节码文件的目录

                 --lib目录:放置依赖的jar包

## Servlet: server applet 

1. 概念:运行在服务端的小程序

①Servlet:就是一个接口,定义了java类被浏览器访问到的(或者被tomcat识别的)规则。

②将来我们定义一个类,实现Servelet接口,复写方法。(使用java EE 7 api doc文档可以查看该接口定义)

2. 快速入门步骤:

①创建JavaEE项目

②定义一个类,实现Servlet接口

③实现接口中的抽象方法

④配置Servlet

在web.xml中的标签里配置如下:



    demo01
    web.servlet.ServletDemo01



    demo01
    /demo01

3. 执行原理

①当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet资源的路径;

②查找web.xml文件,是否有对应的标签体内容

③如果有,则在找到对应的全类名、

④tomcat会将字节码文件加载进内存,并且创建其对象

⑤调用其方法

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Web,Web)