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启动”
  • 相关阅读:
    JavaWeb--HttpSession案例
    codeforces B. Balls Game 解题报告
    hdu 1711 Number Sequence 解题报告
    codeforces B. Online Meeting 解题报告
    ZOJ 3706 Break Standard Weight 解题报告
    codeforces C. Magic Formulas 解题报告
    codeforces B. Sereja and Mirroring 解题报告
    zoj 1109 Language of FatMouse 解题报告
    hdu 1361.Parencodings 解题报告
    hdu 1004 Let the Balloon Rise 解题报告
  • 原文地址:https://www.cnblogs.com/DemoLi/p/12770416.html
Copyright © 2011-2022 走看看