博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
思维导图模式 -- 深度理解及复习 JavaWeb 知识
阅读量:4136 次
发布时间:2019-05-25

本文共 3081 字,大约阅读时间需要 10 分钟。

JavaWeb

在这里插入图片描述

前端三剑客

  1. HTML:定义页面框架基础(骨)
  2. CSSL:定义页面样式(皮)
  3. JS(JavaScript):实现动态交互(魂)

HTML常用标签

  1. 文本框/密码框/按钮:input
  2. 表单:form
  3. 图片:img
  4. 超链接:a
  5. 换行:br
  6. 段落:p
  7. 标题:h1-h6
  8. 列表:
    有序列表:ol(ordered list)
    无序列表:ul(unordered list)
  9. 容器块:div
  10. 加粗:b/strong

CSS

  1. margin:边距
  2. 颜色:color
  3. 居中:text-align:center

JS

作用:

  1. 操作页面元素
  2. 实现页面动态逻辑的操作

JS常见用法

  1. for
  2. if
  3. 打印:console.log
  4. 弹出框:alert
  5. 选择器:confirm

jQuery

  1. 根据 id 获取元素:jQuery("#id")
  2. 赋值:jQuery("#id").val(“值”)
  3. 设置属性:jQuery("#id").attr(“src”."")
  4. 去空:trim()
  5. ajax 请求:jQuery.getJSON(“后端 API 地址”,{参数},function(data){…})

tomcat

目录

  1. bin:启动和停止【注意启动和停止的流程】
  2. logs:查看日志
  3. webapps:war/jar 存放【必须放到根路径】
  4. conf:配置文件目录

常见问题

端口占用

  1. 重启云服务器
  2. 将 Tomcat 进程杀掉:ps-ef|greg java;
  3. 修改 conf/server.xml 里的端口号

SSL相关错误

尝试将 JDBC 中的 userSSL 分别设置为 true 或者 false 各试一次

HTTP基础原理

一个完整的引用是由前端+后端构成,而前后端之间的通讯就是依靠 HTTP 来完成的

URL构成

协议 + 域名(ip)+ 端口 + 目录 + 文件名 + 参数 + 分段标识符

URL 编码和解码

防止复杂的参数破坏 URL 参数的规则

请求类型

get,post

两者区别:

  1. GET请求只能进行url编码,而POST支持多种编码方式。
  2. GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
  3. GET请求在URL中传送的参数是有长度限制的,因为URL有限制,一般是4k,而POST么有。
  4. 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
  5. GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
  6. GET参数通过URL传递,POST放在Request body中。
  7. GET的request中body无内容,POST有

状态码

1xx:信息状态码

2xx:成功状态码 —— 200(请求成功),201(请求完整,并创建一个新资源)
3xx:重定向状态码 —— 301(永久重定向),302(临时重定向)
4xx:客户端出错状态码 —— 403(没有权限访问),404(服务器无法找到请求页面)
5xx:服务器出错状态码 —— 500(服务器错误),502(服务器上游错误,网关错误),505(网关超时)

请求头响应头

请求端:request

  1. 首行(方法类型,URL,http版本号)
  2. header(请求头)
  3. 空行(请求头的结束)
  4. body(正文)
    (get 请求时 body 为空)

响应端:response

  1. 首行(http版本号,状态码,状态码描述信息)
  2. header(响应头)
  3. 空行(响应头结束)
  4. body(正文)

Maven

作用

(构建和打包 Java 项目工具)

  1. 管理所有外部引用,放在pom.xml
  2. 用package打包项目
  3. 可以发布到中央仓库或本地目录中

Maven 问题处理

  1. 下载过慢:将maven中央仓库的地址改成国内—点击跳转详细步骤
  2. 中途断网等不当操作:将本地仓库中jar清空,重新下载
  3. 其他:关闭本机杀毒软件防火墙等。

其他打包工具

Google —— 安卓默认 Gradle(新型的打包工具)

Maven vs Gradle

  1. Gradle 实现是依赖 Gradle 脚本的,而 Maven 是依赖 pom.xml 文件
  2. Gradle 比 Maven 简洁很多
  3. Gradle 性能比 Maven 好(Gradle 使用的是增量式的构建方式)
  4. Gradle 灵活性更高

Servlet

创建servlet

  1. 新建webapp
  2. java源代码配置
  3. 手动添加Servlet的引用
  4. 修改配置文件web.xml
  5. 创建普通类并将它升级为Servlet后端类

Servlet 路由创建

  1. web.xml,一组路由
  2. @WebServlet(“url”),注解方式创建路由

Servlet 生命周期

  1. 初始化事件 init() 执行一次
  2. 请求响应 service() 中 doget() dopost() 方法执行多次
  3. 终止事件 destory() 关闭时执行一次

Request 常用方法

  1. getCookies():获取 cookie
  2. getSession():获取session,传参 true 当获取不到 session 会创建一个 session 对象【登录场景】,不传参默认参数为 false,获取不到 session 不会创建 session【权限效验】
  3. getParameter():获取前端传递的参数 get/post 方式
  4. getHeader(String name):获取 header 里面的内容

Response 常用方法

  1. addCookie():添加 cookie
  2. setHeader(String name,String value):header 里面添加信息
  3. sendRedirect(String url):跳转
  4. setContentType():设置返回的类型
  5. setCharacterEncoding(String charset):设置编码

session vs cookie

  1. 存储位置:Cookie 保存在客户端;Session 保存在服务器端
  2. 两者关系:Session 机制依靠的 SessionID 进行通信,而 SessionID 是存储再 Cookie 中的,所以如果本地 Cookie 被禁用了,那么 Session 机制也不能使用了
  3. 存储空间:Cookie 有大小限制,为了防止网络传输中的负担,一般最大值为 4k
  4. 安全性:Cookie 在本地很容易被篡改,而 Session 在服务器端,因此通常 Session 比 Cookie 更加安全
  5. 有效期:Cookie保存在硬盘中,只有超时才会消失,所以即使关闭浏览器,Cookie还是存在的;Session的保存在服务器中,超时或者关闭浏览器,session都会失效

Linux相关命令

目录

  • ls:查看目录下的所有文件列表信息
  • pwd:查看当前所在路径
  • cd:切换目录

文件相关

  • touch:创建文件
  • cat:读取文件
  • echo:写入文件
    echo ”hello world“ > test.txt
    echo “java” > > test.txt
  • mkdir:创建目录
    mkdir:创建多级目录
  • rm:删除文件或目录
    rm -r:多级删除
    rm -f:强制删除
  • mv:重命名文件
  • cp:拷贝目录

帮助文档

  • man:命令帮助文档

日志查看

  • less:查看少量日志
  • head:查看文件开头
    head -n 20 service 查看前二十行
  • tail:查看文件结尾

日期

data:查看日期

转载地址:http://aixvi.baihongyu.com/

你可能感兴趣的文章
vue 项目中图片选择路径位置static 或 assets区别
查看>>
vue项目打包后无法运行报错空白页面
查看>>
Vue 解决部署到服务器后或者build之后Element UI图标不显示问题(404错误)
查看>>
element-ui全局自定义主题
查看>>
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
laravel 修改api返回默认的异常处理
查看>>
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
JavaScript深入理解之闭包
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>