• Java Web


    JavaWeb (了解底层原理,面试用)

     

     Web页面可以动态更新;所有用户看到都不是同一个页面;与数据库交互(持久化)


     PHP 

      PHP开发速度快、功能强大、跨平台、代码简单(中小企业很多用这个)

      无法承载三高(高并发、高可用、高性能)


     Web服务器 ——Tomcat

    Tomcat服务器(属于Apache公司)运行JSP和Servlet


     hosts

     

     

       首先在本机的域名映射文件hosts里找,如果找不到,就会去DNS服务器去找域名ip


    Tomcat下载文件夹:

     


     Maven:环境搭建+IDEA操作

    遇到要导包,就去官网 https://mvnrepository.com/搜,然后填在pom.xml


     

       Maven用于导入jar包

       核心思想:约定大于配置


     第一次使用需要配置:

    还有环境变量M2_HOME MAVEN_HOME

    还需要在IDEA里面配置maven:

     


     pom.xml文件

      

       

       项目依赖:从https://mvnrepository.com/  找需要的包以及版本

      

       build用于静态资源导出


     maven中jar包的关系依赖图:

     


     Servlet 原理


     


     Servlet:实现servlet接口的java程序

     用于开发动态Web,提供java接口。

     我们自己写的类 -->继承HttpServlet -->继承GenericServlet  -->继承Servlet (后面三个是现成的轮子)

       

       自己写的类里面重写HttpServlet里面的doGet、doPost就可以了


    写HelloServlet的全流程:

      1.构建普通Maven项目,删掉src,然后建立Module,然后这个空的工程就是maven主工程

      2.修改web.xml,将版本换成最新的

      3.编写Servlet程序:编写普通类,实现HttpServlet接口的继承

      4.编写Servlet映射:java程序,在web服务中注册Servlet,然后给浏览器一个路径 连接到web服务器。(类似于@requestmapping、@postmapping的url路径)

      5.配置Tomcat:配置项目发布的路径

      6.启动测试


    请求转发requestDispatcher

      

       


    HttpServletResponse

    下载文件(简单看下就好):

    重定向

      场景:页面切换

      

      


     HttpServletRequest

        获取前端传递的参数:req.getparameter /req.getparameterValues参数数组

       



     


    Cookie

      

       


     Session 会话(重点)

      服务器给每一个用户创建一个Session,SessionID唯一

      两个浏览器模仿两个客户端(两种不同的浏览器,而不是开两个浏览器窗口)

      浏览器不关闭,Session和Cookie就一直存在

      使用场景:保存用户的登录信息、高频数据

        

        



     JSP

     Java Server Pages

    •  html只提供静态的数据
    •  嵌入的java代码,为用户提供动态数据

     JSP原理:本质上就是Servlet(继承自servlet,内嵌out.write(html代码) 

      


     JSP基础语法

      <%= 表达式 %>    //不能使用分号来结束表达式

        

      <% 代码片段 %>

        

      <%! 声明 %>

        

         <%-- 注释 --%>

      

    指令标签:<%@  %>  

      

      

       


    JSP  9大隐含对象:

       

       

    4个用于保存数据的对象(作用域不同):

      

       request:

       session:用户用完一会还有用,如:购物车

       application:一个用户用完了,其他用户还可能使用,如:聊天数据


    JSTL(JSP标准标签库)

     

    https://www.runoob.com/jsp/jsp-jstl.html

    核心标签:

    EL(Express Language)表达式    ${ }

    • 获取数据
    • 执行运算
    • 获取web开发常用对象

    JavaWeb的MVC

     


     过滤器Filter 

    用来过滤网站的数据(统一处理,不用每个地方都写):

    • 处理中文乱码
    • 登录验证(权限)

    SpringBoot里面用Shiro

    处理格式:


     监听器Listener(一般在GUI编程中使用)


     JDBC


    标准maven工程目录
    
    base_dir
      |---pom.xml  //工程构建配置文件,如第三方件依赖、插件依赖等
      |---target  //工程输出目录,代码库默认不存在,构建时自动生成
      |---script  //可选,构建入口目录,使用build.suffix作为构建入口时创建
            |---build.suffix  //可选,构建入口文件,suffix为对应脚本后缀
            |---config.suffix  //可选,构建配置文件,suffix为对应配置后缀
            |---config
                |---settings.xml  //可选,Maven配置文件 
      |---module1  //模块目录,多模块工程用于存放子模块工程和代码,多模块工程支持嵌套
            |---pom.xml  //模块构建配置文件
            |---target   //模块工程输出目录,代码库默认不存在,构建时自动生成
            |---src //可选,模块的源代码目录,工程仅用于打包时此目录可不存在
                  |---main
                       |---java //模块的.java文件目录
                       |---resources //模块资源文件目录,如spring, hibernate配置文件
                       |---script //模块特殊配置文件目录,如ant/shell/bat等脚本
                  |---test
                       |---java //模块所有测试.java文件目录,如JUnit测试类
                       |---resources //模块测试资源文件目录
                  |---assembly //模块assembly打包描述文件目录
      |---module2 //可选,用于自定义配置目录
      |---module3
     
  • 相关阅读:
    Django之数据库--ORM
    Vue 父子组件
    axios封装
    DRF常用功能
    DRF框架之Serializer序列化器的反序列化操作
    Django、DRF有什么不同
    RESTFUL风格
    判断ViewPager滑动方向
    Incompatible integer to pointer conversion sending 'NSInteger' (aka 'int') to parameter of type 'id'
    AchartEngine使用
  • 原文地址:https://www.cnblogs.com/qyf2199/p/14131863.html
Copyright © 2020-2023  润新知