zoukankan      html  css  js  c++  java
  • javaee相关基础

    2020-2-28 java 学习 开始学习javaee了 瞎跳着看

    今日内容

    1. web相关概念

    2. web服务器软件:Tomcat

    3. Servlet入门学习

    web概念

    1. 软件架构

      1. C/S:客户端/服务器端
      2. B/S:浏览器端/服务器端
    2. 资源分类

      1. 静态资源:html css js
      2. 动态资源:servlet/jsp,php,asp 要先转换成静态资源 然后返回给浏览器 响应
    3. 网络通信三要素

      1. IP:电子设备(计算机)在网络中的唯一标识

      2. 端口:应用程序在计算机中的唯一标识。0-65536

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

        1. tcp:安全协议,三次握手,速度稍慢

        2. udp:不安全协议。速度快

    web服务器软件

    • 服务器:就是安装服务器软件的计算机

    • 服务器软件:接收用户的请求,处理请求,做出响应

    • WEB服务器软件:接收用户的请求,处理请求,做出响应

      • 在web服务器软件中,可以部署web项目让用户通过浏览器来访问 这些项目
      • 也叫web容器
    • 常见的java相关的Web服务器软件:

      • webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的
      • webSphere
      • JBoSS
      • Tomcat:Apacha基金组织,中小型javaee服务器,仅仅支持少量的javaee规范serlet/jsp 免费!!
    • JavaEE:java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范

    • Tomcat:web服务器软件

      1. 下载:https://tomcat.apache.org/download-80.cgi

      2. 安装:解压压缩包即可

        • 安装目录里不要有中文
      3. 卸载:删除就行

      4. 启动:

        • 去目录下找bin目录下找startup.exe

        • http://localhost:8080/

        • 可能遇到的问题

          • 黑窗口一闪而过
          1. 原因没有正确配置JAVA_PATH的环境变量

          2. 解决方案:正确配置

          • 启动报错:

            1. 找到占用的端口号,并且找到对应的进程杀死改进程

            2. 修改自身的端口号config目录下server.xml http协议默认的端口号是80

      5. 关闭:

        1. 正常 关闭:保存该保存的东西ctrl+c
        2. 强制关闭:直接点x
      6. 配置:

        • 部署项目的方式

          1. 直接将项目放到webapps目录下即可

          2. 简化部署:将项目打包成war包 放到webapps下 会自动解压

          3. 去config/server.xml里面改虚拟路径

            标签中配置

            docBase:项目存放的路径

          4. 在confcatelinalocalhost创建任意的xml文件

            写入内容:

      7. 静态项目与动态项目的目录结构image-20200228142030237

        • java动态项目的目录结构

        ​ --项目的根目录

        ​ --WEB-INF目录

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

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

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

    • 将Tomcat集成到IDEA中 并创建JavaEE的项目,部署项目

    servlet: server applet

    • 概念:Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则

    • 将来我们自定义一个类,实现Servlet接口复写方法

    • 快速入门:

      1. 创建一个JavaEE项目

      2. 定义一个类实现servlet接口

        • public class ServletDemo01 implements Servlet
          
      3. 实现接口中的方法

      4. 配置一下Servlet

        • 在WEB-INF/web.xml中配置

          <!--配置Servlet -->
          <servlet>
              <servlet-name>demo1</servlet-name>
              <servlet-class>cn.lsl.web.serlet.ServletDemo01</servlet-class>
          
          </servlet>
          <servlet-mapping>
              <servlet-name>demo1</servlet-name>
              <url-pattern>/demo1</url-pattern>
          </servlet-mapping>
          
        • 访问http://localhost:8080/demo1

        • image-20200228181917685

    • servlet执行原理:

      public class ServletDemo01 implements Servlet {
      
        //提供服务的方法
          @Override
          public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
              System.out.println("hello,servlet");
          }
      }
      
    1. 当服务器接收到客户端浏览器的请求之后,会解析请求URL路径,获取访问的Servlet的资源路径

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

    3. 如果有则在找到对应的全类名

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

    5. 调用其方法

      image-20200228185144343

    • servlet的生命周期

      1. 被创建:init方法 执行一次

        标签下配置

               <!--指定Servlet的创建时机
        1.第一次被访问时,创建
            *<load-on-startup>的值为负数
        2.服务器启动时,创建
            *<load-on-startup>的值为0或正整数
         -->
        
        • servlet的init方法只执行一次,说明一个servlet在内存中只存在一个对象,servlet时单例的
        • 多个用户访问时,可能存在线程问题
        • 解决:尽量不要在servlet中定义成员变量。即使定义了成员变量也不要对其修改。
      2. 提供服务:service方法 执行多次

        每次访问Servlet时,Servlet方法都会被调用一次

      3. 被销毁:destroy方法 执行一次

        destroy方法在Servlet被销毁之前执行,用于释放资源

    • servlet3.0:

    1. 好处:

      1. 支持注解配置,可以不需要web.xml了
    2. 步骤:

      1. 创建JavaEE项目选择Servlet版本3.0以上,可以不创建web.xml

      2. 定义一个类,实现Servlet接口

      3. 复写方法

      4. 在类上使用@webServlet注解,进行配置

        @WebServlet("/demo2")//资源路径
        public class SerletDemo01 implements Servlet {
            @Override
            public void init(ServletConfig servletConfig) throws ServletException {
        
            }
        

    IDEA与Tomcat相关配置

    1. IDEA会为每一个tomcat部署的项目单独建立一份配置文件

      Using CATALINA_BASE:   "C:Users李世林.IntelliJIdea2017.3system	omcat\_BASIC_code"
      
    2. 工作空间项目 和 tomcat部署的web项目

      • tomcat真正访问的是"tomcat部署的web项目","tomcat部署的web项目"对应着“工作空间项目”的web目录下的所有资源
      • WEB-INF目录下不能被浏览器直接访问
      • 断点调试,使用“小虫子debug启动”
  • 相关阅读:
    javascript ajax 脚本跨域调用全解析
    [转载]linux sed命令详解
    perl随记(1)
    TCL随记(2)
    TCL随记(1)
    C Shell 中的特殊变量
    异步FIFO为什么用格雷码
    VMM学习-vmm_log
    UVM基础之---Command-line Processor
    Verification Mind Games---how to think like a verifier像验证工程师一样思考
  • 原文地址:https://www.cnblogs.com/DemoLi/p/12770416.html
Copyright © 2011-2022 走看看