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
 

 

posted @ 2020-12-22 00:11  青杨风2199  阅读(113)  评论(0编辑  收藏  举报