思维导图模式 -- 深度理解及复习 JavaWeb 知识
Posted 满眼*星辰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了思维导图模式 -- 深度理解及复习 JavaWeb 知识相关的知识,希望对你有一定的参考价值。
JavaWeb
前端三剑客
- html:定义页面框架基础(骨)
- CSSL:定义页面样式(皮)
- JS(javascript):实现动态交互(魂)
HTML常用标签
- 文本框/密码框/按钮:input
- 表单:form
- 图片:img
- 超链接:a
- 换行:br
- 段落:p
- 标题:h1-h6
- 列表:
有序列表:ol(ordered list)
无序列表:ul(unordered list) - 容器块:div
- 加粗:b/strong
CSS
- margin:边距
- 颜色:color
- 居中:text-align:center
JS
作用:
- 操作页面元素
- 实现页面动态逻辑的操作
JS常见用法
- for
- if
- 打印:console.log
- 弹出框:alert
- 选择器:confirm
jQuery
- 根据 id 获取元素:jQuery("#id")
- 赋值:jQuery("#id").val(“值”)
- 设置属性:jQuery("#id").attr(“src”."")
- 去空:trim()
- ajax 请求:jQuery.getJSON(“后端 API 地址”,{参数},function(data){…})
tomcat
目录
- bin:启动和停止【注意启动和停止的流程】
- logs:查看日志
- webapps:war/jar 存放【必须放到根路径】
- conf:配置文件目录
常见问题
端口占用
- 重启云服务器
- 将 Tomcat 进程杀掉:ps-ef|greg java;
- 修改 conf/server.xml 里的端口号
SSL相关错误
尝试将 JDBC 中的 userSSL 分别设置为 true 或者 false 各试一次
HTTP基础原理
一个完整的引用是由前端+后端构成,而前后端之间的通讯就是依靠 HTTP 来完成的
URL构成
协议 + 域名(ip)+ 端口 + 目录 + 文件名 + 参数 + 分段标识符
URL 编码和解码
防止复杂的参数破坏 URL 参数的规则
请求类型
get,post
两者区别:
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET请求在URL中传送的参数是有长度限制的,因为URL有限制,一般是4k,而POST么有。
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
- GET参数通过URL传递,POST放在Request body中。
- GET的request中body无内容,POST有
状态码
1xx:信息状态码
2xx:成功状态码 —— 200(请求成功),201(请求完整,并创建一个新资源)
3xx:重定向状态码 —— 301(永久重定向),302(临时重定向)
4xx:客户端出错状态码 —— 403(没有权限访问),404(服务器无法找到请求页面)
5xx:服务器出错状态码 —— 500(服务器错误),502(服务器上游错误,网关错误),505(网关超时)
请求头响应头
请求端:request
- 首行(方法类型,URL,http版本号)
- header(请求头)
- 空行(请求头的结束)
- body(正文)
(get 请求时 body 为空)
响应端:response
- 首行(http版本号,状态码,状态码描述信息)
- header(响应头)
- 空行(响应头结束)
- body(正文)
Maven
作用
(构建和打包 Java 项目工具)
- 管理所有外部引用,放在pom.xml
- 用package打包项目
- 可以发布到中央仓库或本地目录中
Maven 问题处理
- 下载过慢:将maven中央仓库的地址改成国内—点击跳转详细步骤
- 中途断网等不当操作:将本地仓库中jar清空,重新下载
- 其他:关闭本机杀毒软件防火墙等。
其他打包工具
Google —— 安卓默认 Gradle(新型的打包工具)
Maven vs Gradle
- Gradle 实现是依赖 Gradle 脚本的,而 Maven 是依赖 pom.xml 文件
- Gradle 比 Maven 简洁很多
- Gradle 性能比 Maven 好(Gradle 使用的是增量式的构建方式)
- Gradle 灵活性更高
Servlet
创建servlet
- 新建webapp
- java源代码配置
- 手动添加Servlet的引用
- 修改配置文件web.xml
- 创建普通类并将它升级为Servlet后端类
Servlet 路由创建
- web.xml,一组路由
- @WebServlet(“url”),注解方式创建路由
Servlet 生命周期
- 初始化事件 init() 执行一次
- 请求响应 service() 中 doget() dopost() 方法执行多次
- 终止事件 destory() 关闭时执行一次
Request 常用方法
- getCookies():获取 cookie
- getSession():获取session,传参 true 当获取不到 session 会创建一个 session 对象【登录场景】,不传参默认参数为 false,获取不到 session 不会创建 session【权限效验】
- getParameter():获取前端传递的参数 get/post 方式
- getHeader(String name):获取 header 里面的内容
Response 常用方法
- addCookie():添加 cookie
- setHeader(String name,String value):header 里面添加信息
- sendRedirect(String url):跳转
- setContentType():设置返回的类型
- setCharacterEncoding(String charset):设置编码
session vs cookie
- 存储位置:Cookie 保存在客户端;Session 保存在服务器端
- 两者关系:Session 机制依靠的 SessionID 进行通信,而 SessionID 是存储再 Cookie 中的,所以如果本地 Cookie 被禁用了,那么 Session 机制也不能使用了
- 存储空间:Cookie 有大小限制,为了防止网络传输中的负担,一般最大值为 4k
- 安全性:Cookie 在本地很容易被篡改,而 Session 在服务器端,因此通常 Session 比 Cookie 更加安全
- 有效期: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:查看日期
以上是关于思维导图模式 -- 深度理解及复习 JavaWeb 知识的主要内容,如果未能解决你的问题,请参考以下文章