JavaWeb知识点大致梳理

JavaWeb

xml:

概念:

Extensible Markup Language 可扩展标记语言

可扩展:

标签自定义

功能:

存储数据

xml和html的区别:
  1. xml标签都是自定义的,html标签是预定义。
  2. xml的语法严格,html语法松散
  3. xml是存储数据的,html是展示数据
语法:
基本语法:
  1. xml文档的后缀名 .xml
  2. xml第一行必须定义为文档声明
  3. xml文档中有且仅有一个根标签
  4. 属性值必须使用引号(单双都可)引起来
  5. 标签必须正确关闭
  6. xml标签名称区分大小写
组成成分:
  1. 文档声明
  2. 指令
  3. 标签
  4. 属性
  5. 文本
约束:
  1. 框架使用者
  2. 分类
  3. DTD
  4. Schema
解析:
  1. 操作xml文档

    1. 解析
    2. 写入
  2. 解析xml的方式
    1. DOM:将标记语言文档一次性加载进内存,在内存中形成一颗dom树
    2. SAX:逐行读取,基于事件驱动的
  3. xml常见的解析器
    1. JAXP
    2. DOM4J
    3. Jsoup
    4. PULL

Web基础:

软件架构:

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

B/S:浏览器/服务器端

资源分类:
  1. 静态资源:用户访问后一样(静态资源可以直接被浏览器解析)

    html,css,JavaScript

  2. 动态资源:用户访问不一样(动态资源被访问后,需要转换为静态资源,再返回给浏览器)

    servlet,jsp,php,asp

网络通信三要素:

IP:电子设备在网路中的唯一标识

端口:应用程序在计算机中的唯一标识符 0~65536

传输协议:规定了数据传输的规则(tcp:安全协议,三次握手,速度稍慢。udp:不安全协议,速度慢)

web服务器软件

服务器:

安装了服务器软件的计算机

服务器软件:

接收用户的请求,处理请求,做出响应

Web服务器软件:

让用户通过浏览器访问项目

常见Java的Web服务器软件:
  1. webLogic
  2. webSphere
  3. JBOSS
  4. Tomcat
JavaEE:

Java语言在企业级开发中使用的技术规范总和,一共规定了13项大的规范

#####

Servlet:server applet

概念:

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

Web.xml配置:
    <servlet>        <servlet-name>demo1</servlet-name>        <servlet-class>cn.imut.servlet.demo</servlet-class>    </servle>?    <servlet-mapping>        <servlet-name>demo1</servlet-name>        <url-pattern>/demo1</url-pattern>    </servlet-mapping>
执行原理:
  1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
  2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容。
  3. 如果有,则在找到对应的<servlet-class>全类名
  4. tomcat会将字节码文件加载进内存,并且创建其对象
  5. 调用其方法
Servlet生命周期:
  1. 创建 init方法
  2. 提供服务 service方法
  3. 销毁 destroy方法
Servlet体系结构:
Servlet -- 接口    |GenericServlet -- 抽象类    |HttpServlet  -- 抽象类?* GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象    * 将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可?* HttpServlet:对http协议的一种封装,简化操作    1. 定义类继承HttpServlet    2. 复写doGet/doPost方法

HTTP:

概念:

Hyper Text Transfer Protocol 超文本传输协议

传输协议:

定义了客户端和服务端通信时,发送数据的格式

特点:
    1. 基于TCP/IP的高级协议    2. 默认端口号:80    3. 基于请求/响应模型的:一次请求对应一次响应    4. 无状态的:每次请求之间相互独立,不能交互数据
请求消息数据格式:
  1. 请求行

    • HTTP协议有7中请求方式,常用的有2种 * GET: 1. 请求参数在请求行中,在url后。 2. 请求的url长度有限制的 3. 不太安全 * POST: 1. 请求参数在请求体中 2. 请求的url长度没有限制的 3. 相对安全
  2. 请求头
    • 常见的请求头:

      1. User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息

        • 可以在服务器端获取该头的信息,解决浏览器的兼容性问题

          1. Referer:http://localhost/login.html

            • 告诉服务器,我(当前请求)从哪里来? * 作用: 1. 防盗链: 2. 统计工作:
  3. 请求空行
  4. 请求体

Request:

request对象和response对象的原理:
  1. request和response对象是由服务器创建的。我们来使用它们
  2. request对象是来获取请求消息,response对象是来设置响应消息
request对象继承体系结构:

ServletRequest -- 接口 | 继承 HttpServletRequest -- 接口 | 实现 org.apache.catalina.connector.RequestFacade 类(tomcat)

request功能:
  1. 获取请求消息数据

    1. 获取请求行数据

      • 方法:

        1. 获取请求方式 :GET String getMethod()
        2. 获取虚拟目录:/day14

          String getContextPath()

        3. 获取Servlet路径: /demo1

        String getServletPath()

      1. 获取get方式请求参数:name=zhangsan

        String getQueryString()

        1. 获取请求URI

      String getRequestURI():

        StringBuffer getRequestURL() ?  URL:统一资源定位符?  URI:统一资源标识符?6. 获取协议及版本:HTTP/1.1?  String getProtocol()?7. 获取客户机的IP地址:?  String getRemoteAddr()
    2. 获取请求头数据
                  * (*)String getHeader(String name):通过请求头的名称获取请求头的值            * Enumeration<String> getHeaderNames():获取所有的请求头名称
    3. 获取请求体数据

      请求体:只有POST请求方式,才有请求体,在请求体中封装了POST请求的请求参数

      步骤:

      1. 获取流对象 BufferedReader getReader():获取字符输入流,只能操作字符数据

      ServletInputStream getInputStream():获取字节输入流,可以操作所有类型数据

      1. 再从流对象中拿数据
  2. 其他功能
    1. 获取请求参数通用方式
    2. 请求转发
    3. 共享数据
    4. 获取ServletContext

HTTP协议:

  1. 请求消息:

    客户端发送给服务器端的数据

    • 数据格式:

      1. 请求行
      2. 请求头
      3. 请求空行
      4. 请求体
  2. 响应消息:

服务器端发送给客户端的数据

  1. 相应行

    1. 组成:协议/版本 响应状态码 状态码描述
    2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。
      1. 状态码都是3位数字
      2. 分类

        1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码

        2xx:成功。代表:200

        3xx:重定向。代表:302(重定向),304(访问缓存)

        4xx:客户端错误。

        404(请求路径没有对应的资源)

        405:请求方式没有对应的doXxx方法

        5xx:服务器端错误。代表:500(服务器内部出现异常)

  2. 相应头

    常见的响应头:

    Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式

    Content-disposition:服务器告诉客户端以什么格式打开响应体数据

  3. 相应空行
  4. 相应体

Response对象

功能:

设置响应消息

设置响应行:
  1. 格式:HTTP/1.1 200 ok
  2. 设置状态码:setStatus(int sc)
设置响应头:

setHeader(String name, String value)

设置响应体:
使用步骤:
  1. 获取输出流

字符输出流:PrintWriter getWriter() 字节输出流:ServletOutputStream getOutputStream()

  1. 使用输出流,将数据输出到客户端浏览器

ServletContext对象:

  1. 概念:

    代表整个web应用,可以和程序的容器(服务器)来通信

  2. 获取:
  3. 通过request对象获取 request.getServletContext();
  4. 通过HttpServlet获取 this.getServletContext();
  5. 功能:
  6. 获取MIME类型:

MIME类型:在互联网通信过程中定义的一种文件数据类型

格式: 大类型/小类型 text/html image/jpeg 获取:String getMimeType(String file)

  1. 域对象:共享数据
  2. setAttribute(String name,Object value)
  3. getAttribute(String name)
  4. removeAttribute(String name)

ServletContext对象范围:所有用户所有请求的数据

  1. 获取文件的真实(服务器)路径
  2. 方法:String getRealPath(String path) String b = context.getRealPath("/b.txt");//web目录下资源访问 System.out.println(b);

    String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目录下的资源访问 System.out.println(c);

    String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目录下的资源访问 System.out.println(a);

会话技术:

  1. 会话:

    一次会话中包含多次请求和响应。

    一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止

  2. 功能:

    在一次会话的范围内的多次请求间,共享数据

  3. 方式:
  4. 客户端会话技术:Cookie
  5. 服务器端会话技术:Session

Cookie:

  1. 概念:

    客户端会话技术,将数据保存到客户端

  2. 快速入门:

使用步骤:

  1. 创建Cookie对象,绑定数据

new Cookie(String name, String value)

  1. 发送Cookie对象

response.addCookie(Cookie cookie)

  1. 获取Cookie,拿到数据

Cookie[] request.getCookies()

  1. 实现原理
    • 基于响应头set-cookie和请求头cookie实现
  2. cookie的细节
  3. 一次可不可以发送多个cookie?

可以 可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可。

  1. cookie在浏览器中保存多长时间?
  2. 默认情况下,当浏览器关闭后,Cookie数据被销毁
  3. 持久化存储:

setMaxAge(int seconds)

  1. 正数:将Cookie数据写到硬盘的文件中。持久化存储。并指定cookie存活时间,时间到后,cookie文件自动失效

    1. 负数:默认值

      1. 零:删除cookie信息
  2. cookie能不能存中文?

在tomcat 8 之前 cookie中不能直接存储中文数据。 需要将中文数据转码---一般采用URL编码(%E3) 在tomcat 8 之后,cookie支持中文数据。特殊字符还是不支持,建议使用URL编码存储,URL解码解析

  1. cookie共享问题?
  2. 假设在一个tomcat服务器中,部署了多个web项目,那么在这些web项目中cookie能不能共享?

默认情况下cookie不能共享 setPath(String path):设置cookie的获取范围。默认情况下,设置当前的虚拟目录 如果要共享,则可以将path设置为"/"

  1. 不同的tomcat服务器间cookie共享问题?

setDomain(String path):如果设置一级域名相同,那么多个服务器之间cookie可以共享 setDomain(".baidu.com"),那么tieba.baidu.com和news.baidu.com中cookie可以共享

  1. Cookie的特点和作用

    1. cookie存储数据在客户端浏览器
    2. 浏览器对于单个cookie 的大小有限制(4kb) 以及 对同一个域名下的总cookie数量也有限制(20个)

    作用:

    1. cookie一般用于存出少量的不太敏感的数据
    2. 在不登录的情况下,完成服务器对客户端的身份识别

JSP:入门学习:

  1. 概念:

    Java Server Pages: java服务器端页面

    可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码

    用于简化书写!!!

  2. 原理

    JSP本质上就是一个Servlet

  3. JSP的脚本:

    JSP定义Java代码的方式

    <% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。

    <%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。

    <%= 代码 %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。

  4. JSP的内置对象:

    在jsp页面中不需要获取和创建,可以直接使用的对象

    jsp一共有9个内置对象。

    学习3个:

    request

    response

    out:字符输出流对象。可以将数据输出到页面上。和response.getWriter()类似

    response.getWriter()和out.write()的区别:

    在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据。

    response.getWriter()数据输出永远在out.write()之前

Session:

  1. 概念:

    服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession

  2. 快速入门:
  3. 获取HttpSession对象: HttpSession session = request.getSession();
  4. 使用HttpSession对象: Object getAttribute(String name) void setAttribute(String name, Object value) void removeAttribute(String name)
  5. 原理

Session的实现是依赖于Cookie的。

  1. 细节:
    1. 当客户端关闭后,服务器不关闭,两次获取session是否为同一个?

      默认情况下。不是。

      如果需要相同,则可以创建Cookie,键为JSESSIONID,设置最大存活时间,让cookie持久化保存。 Cookie c = new Cookie("JSESSIONID",session.getId()); c.setMaxAge(60*60); response.addCookie(c);

    2. 客户端不关闭,服务器关闭后,两次获取的session是同一个吗?

      不是同一个,但是要确保数据不丢失。tomcat自动完成以下工作

      session的钝化:

      在服务器正常关闭之前,将session对象系列化到硬盘上

      session的活化:

      在服务器启动后,将session文件转化为内存中的session对象即可。

    3. session什么时候被销毁?
      1. 服务器关闭
      2. session对象调用invalidate() 。
      3. session默认失效时间 30分钟 选择性配置修改 <session-config> <session-timeout>30</session-timeout> </session-config>
  2. session的特点
    1. session用于存储一次会话的多次请求的数据,存在服务器端
  3. session可以存储任意类型,任意大小的数据

    session与Cookie的区别:

    1. session存储数据在服务器端,Cookie在客户端
    2. session没有数据大小限制,Cookie有
    3. session数据安全,Cookie相对于不安全

MVC:开发模式

  1. jsp演变历史
    1. 早期只有servlet,只能使用response输出标签数据,非常麻烦
    2. 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作
  2. 再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性
  3. MVC:
    1. M:Model,模型。JavaBean

      完成具体的业务操作,如:查询数据库,封装对象

    2. V:View,视图。JSP

      展示数据

    3. C:Controller,控制器。Servlet

      获取用户的输入

      调用模型

      将数据交给视图进行展示

  4. 优缺点:
    1. 优点:

      1. 耦合性低,方便维护,可以利于分工协作
      2. 重用性高
    2. 缺点:
      1. 使得项目架构变得复杂,对开发人员要求高

EL表达式:

  1. 概念:

    Expression Language 表达式语言

  2. 作用:

    替换和简化jsp页面中java代码的编写

  3. 语法:

    ${表达式}

  4. 注意:

jsp默认支持el表达式的。如果要忽略el表达式

  1. 设置jsp中page指令中:isELIgnored="true" 忽略当前jsp页面中所有的el表达式
  2. ${表达式} :忽略当前这个el表达式
  3. 使用:
    1. 运算:

      运算符:

      1. 算数运算符: + - * /(div) %(mod)
      2. 比较运算符: > < >= <= == !=
      3. 逻辑运算符: &&(and) ||(or) !(not)
      4. 空运算符: empty

        功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0

        ${empty list}:判断字符串、集合、数组对象是否为null或者长度为0

        ${not empty str}:表示判断字符串、集合、数组对象是否不为null 并且 长度>0

    2. 获取值
      1. el表达式只能从域对象中获取值
      2. 语法:
        1. ${域名称.键名}:从指定域中获取指定键的值

          域名称:

          1. pageScope --> pageContext
          2. requestScope --> request
          3. sessionScope --> session
          4. applicationScope --> application(ServletContext)

    举例:在request域中存储了name=张三

            获取:${requestScope.name}
    
        2. ${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
    
        3. 获取对象、List集合、Map集合的值
    
           1. 对象:${域名称.键名.属性名}                           2. List集合:${域名称.键名[索引]}
    
           3. Map集合:
    
                 ${域名称.键名.key名称}
    
                 ${域名称.键名["key名称"]}
    1. 隐式对象:

      el表达式中有11个隐式对象

      pageContext:

      获取jsp其他八个内置对象

      ${pageContext.request.contextPath}:动态获取虚拟目录

JSTL:

  1. 概念:

JavaServer Pages Tag Library JSP标准标签库是由Apache组织提供的开源的免费的jsp标签 <标签>

  1. 作用:

    用于简化和替换jsp页面上的java代码

  2. 使用步骤:
  3. 导入jstl相关jar包
  4. 引入标签库:taglib指令: <%@ taglib %>
  5. 使用标签
  6. 常用的JSTL标签
  7. if:相当于java代码的if语句
  8. 属性:
    test 必须属性,接受boolean表达式

如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容

    一般情况下,test属性值会结合el表达式一起使用
  1. choose:相当于java代码的switch语句
  2. 使用choose标签声明 相当于switch声明
    1. 使用when标签做判断 相当于case
    2. 使用otherwise标签做其他情况的声明 相当于default
  3. foreach:相当于java代码的for语句

三层架构:软件设计架构:

  1. 界面层(表示层):用户看的得界面。用户可以通过界面上的组件和服务器进行交互
  2. 业务逻辑层:处理业务逻辑的。
  3. 数据访问层:操作数据存储文件。

Filter:过滤器:

  1. 概念:

    生活中的过滤器:净水器,空气净化器,土匪、

    web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。

    过滤器的作用:

    一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤...

  2. 快速入门:
    1. 步骤:

      1. 定义一个类,实现接口Filter
      2. 复写方法
      3. 配置拦截路径
        1. web.xml
        2. 注解
  3. 过滤器细节:
    1. web.xml配置 <filter> <filter-name>demo1</filter-name> <filter-class>cn.itcast.web.filter.FilterDemo1</filter-class> </filter> <filter-mapping> <filter-name>demo1</filter-name> <!-- 拦截路径 --> <url-pattern>/*</url-pattern> </filter-mapping>
    2. 过滤器执行流程
      1. 执行过滤器
      2. 执行放行后的资源
      3. 回来执行过滤器放行代码下边的代码
    3. 过滤器生命周期方法
      1. init:在服务器启动后,会创建Filter对象,然后调用init方法。只执行一次。用于加载资源
      2. doFilter:每一次请求被拦截资源时,会执行。执行多次
      3. destroy:在服务器关闭后,Filter对象被销毁。如果服务器是正常关闭,则会执行destroy方法。只执行一次。用于释放资源
    4. 过滤器配置详解

      拦截路径配置:

      1. 具体资源路径: /index.jsp 只有访问index.jsp资源时,过滤器才会被执行
      2. 拦截目录: /user/* 访问/user下的所有资源时,过滤器都会被执行
      3. 后缀名拦截: *.jsp 访问所有后缀名为jsp资源时,过滤器都会被执行
      4. 拦截所有资源:/* 访问所有资源时,过滤器都会被执行

      拦截方式配置:资源被访问的方式

      注解配置:

      设置dispatcherTypes属性

      1. REQUEST:默认值。浏览器直接请求资源
      2. FORWARD:转发访问资源
      3. INCLUDE:包含访问资源
      4. ERROR:错误跳转资源
      5. ASYNC:异步访问资源

      web.xml配置

      设置<dispatcher></dispatcher>标签即可

    5. 过滤器链(配置多个过滤器)

      执行顺序:如果有两个过滤器:过滤器1和过滤器2

      1. 过滤器1
      2. 过滤器2
      3. 资源执行
      4. 过滤器2
    6. 过滤器1

      过滤器先后顺序问题:

      1. 注解配置:按照类名的字符串比较规则比较,值小的先执行

        如: AFilter 和 BFilter,AFilter就先执行了。

      2. web.xml配置: <filter-mapping>谁定义在上边,谁先执行

Listener:监听器:

概念:

web的三大组件之一。

事件监听机制

事件 :一件事情

事件源 :事件发生的地方

监听器 :一个对象

注册监听:将事件、事件源、监听器绑定在一起。 当事件源上发生某个事件后,执行监听器代码

AJAX:

  1. 概念:

    ASynchronous JavaScript And XML 异步的JavaScript 和 XML

  2. 异步和同步:客户端和服务器端相互通信的基础上 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。

    客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。

    Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 [1] 

    通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

    提升用户的体验
  3. 实现方式:
    1. $.ajax() 语法:$.ajax({键值对}); //使用$.ajax()发送异步请求 $.ajax({ url:"ajaxServlet1111" , // 请求路径 type:"POST" , //请求方式 //data: "username=jack&age=23",//请求参数 data:{"username":"jack","age":23}, success:function (data) { alert(data); },//响应成功后的回调函数 error:function () { alert("出错啦...") },//表示如果请求响应出现错误,会执行的回调函数

      dataType:"text"//设置接受到的响应数据的格式 ? });

    2. $.get():发送get请求

    语法:$.get(url, [data], [callback], [type])

    参数:

    url:请求路径

    data:请求参数

    callback:回调函数

    type:响应结果的类型

    1. $.post():发送post请求

    语法:$.post(url, [data], [callback], [type])

    参数:

    url:请求路径

    data:请求参数

    callback:回调函数

    type:响应结果的类型

JSON:

  1. 概念:

    JavaScript Object Notation JavaScript对象表示法

  2. 语法:
    1. 基本规则 数据在名称/值对中:json数据是由键值对构成的 键用引号(单双都行)引起来,也可以不使用引号 值得取值类型:

      1. 数字(整数或浮点数)

        1. 字符串(在双引号中)

          1. 逻辑值(true 或 false)

            1. 数组(在方括号中) {"persons":[{},{}]}

              1. 对象(在花括号中) {"address":{"province":"陕西"....}}

                1. null

    数据由逗号分隔:多个键值对由逗号分隔 花括号保存对象:使用{}定义json 格式 方括号保存数组:[]

    1. 获取数据:
    1. json对象.键名
    2. json对象["键名"]
    3. 数组对象[索引]
    4. 遍历
  3. JSON数据和Java对象的相互转换
    • JSON解析器:

      • 常见的解析器:Jsonlib,Gson,fastjson,jackson

        1. JSON转为Java对象

          1. 导入jackson的相关jar包

            1. 创建Jackson核心对象 ObjectMapper

              1. 调用ObjectMapper的相关方法进行转换

                1. readValue(json字符串数据,Class)

                  1. Java对象转换JSON

                    1. 使用步骤:

                      1. 导入jackson的相关jar包

                        1. 创建Jackson核心对象 ObjectMapper

                          1. 调用ObjectMapper的相关方法进行转换 1. 转换方法: * writeValue(参数1,obj): 参数1: File:将obj对象转换为JSON字符串,并保存到指定的文件中 Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中 OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中 * writeValueAsString(obj):将对象转为json字符串

                            			2. 注解:
                            				1. @JsonIgnore:排除属性。
                            				2. @JsonFormat:属性值得格式化
                            					* @JsonFormat(pattern = "yyyy-MM-dd")
                            
                            			3. 复杂java对象转换
                            				1. List:数组
                            				2. Map:对象格式一致

原文地址:https://www.cnblogs.com/yfyyy/p/12274293.html

时间: 2024-08-26 11:22:36

JavaWeb知识点大致梳理的相关文章

【暑假】基本的数据结构知识点总结梳理

基本的数据结构知识点总结梳理 数据结构: 栈.队列(deque).链表.树和二叉树.图 算法: 1.  树的遍历pre_order  in_order  post_order :递归完成 2.  根据in_order与另一种遍历构树:pre_order|post_order寻找根节点,in_order判断左右子树,递归处理. 3.  根据BFS与DFS构树:由BFS序列中的位置判断结点关系,顺DFS序列依次为每个结点建立关系.应用栈记录父结点. 4.  DFS求连通块 5.  BFS求最短路:适

架构之路—java开发必学知识点详细梳理

大家好,今天为大家带来了java开发必学的知识点的梳理,希望对小伙伴们在技术成长的道路上有所帮助. 数据库 mysql 1.sql基本语法(数据类型.增删改查.join.函数等). 2.索引(分类,失效条件,explain的使用,优化条件). 3.引擎的对比(InnoDB,MyISAM). 4.事物.隔离级别. 5.数据库的锁(行锁,表锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式). 6.分库分表,主从复制,读写分离. 7.mysql的中间件 mycat nosql red

JavaWeb知识点:Tomcat

Tomcat 一.知识点储备 internet上供外界访问的web资源有哪些?    -静态web资源:html页面,指web页面中供人们浏览的数据始终是不变的.    -动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问                  web页面看到的内容各不相同. -静态web资源开发技术:html    -动态web资源开发技术:jsp.servlet  asp   php... 在java中,动态web资源开发技术统称为javaweb. JA

iOS知识点全梳理-备用

感谢大神分享 文/Jack_lin(简书作者)原文链接:http://www.jianshu.com/p/5d2163640e26著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡.矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力! OC的理解与特性

基于maven构建javaweb项目思路梳理及改进

需要准备的东西: Jdk. myeclipse. maven包 预装jdk环境 1.maven安装及配置: a)      详见url https://www.cnblogs.com/eagle6688/p/7838224.html b)下载maven包url: https://maven.apache.org/download.cgi c)配置maven的环境变量: d)测试maven是否安装成功: mvn -version; e)修改maven中setting.xml默认路径(本地仓库路径)

JavaWeb知识点:Servlet

Servlet 一.Servlet是什么 是服务器上运行的Java小应用程序,并被称为JavaWeb三大组件(Servlet.Filter.Listener)之一 通常我们把实现了Servlet的类,称之为Servlet Servlet的作用主要是:1.接收请求数据 2.处理请求 3.完成响应 二.Servlet的生命周期 1.加载和实例化 2.初始化 (#init()方法) 3.请求处理(#service()方法) 4.服务终止(#destroy方法) 简易的Servlet的运行流程: 服务器

JavaWeb知识点:MVC与三层架构

MVC与三层架构 一.MVC模式 MVC是一种使用使用MVC(Model View Controller 模型-视图-控制器)设计创建Web应用程序的模式 -Model(模型).是应用程序中用于处理应用程序数据逻辑的部分. -View(视图).是应用程序中处理数据显示的部分. -Controller(控制器)是应用程序中处理用户交互的部分. 二.JavaWeb的三层架构 -表示层(web层):包含JSP,Servlet等web相关的内容 -业务逻辑层(Service):处理业务, -数据层(DA

1.JavaWeb 知识点概览

1.tomcat服务器的安装和配置.http协议 1.1 虚拟目录的 /*映射*/(配置Context元素)(server.xml catalina\localhost\) http://blog.csdn.net/xiazdong/article/details/7215052 1.2 虚拟主机的配置(搭建WEB站点)(1.配置Host元素 2.买一个域名 在DNS服务器中配置) 1.3 *http协议的请求和响应的各个组成部分 1.3.1 各个常见请求头的含义 1.3.2 各个常见响应头的含

javaweb知识点

1.WEB容器启动时解析WEB.XML 装载并实例化所有配置了的SERVLET2.当针对某个SERVLET的第1次请求到来的时候,由容器调用init(ServletConfig sc)方法(由GericServlet实现),初始化此SERVLET的相关资源配置信息,比如<init-param>3.每次请求到来的时候,由容器开启一个新的线程,调用service方法(由HttpServlet实现),在此方法里根据请求的提交方式去调用对应的doXX方法4.容器调用destroy(由GericServ