无题
重定向与转发的区别转发过程: 客户端浏览器发送http请求 → web服务器接受此请求 → 调用内部的一个方法在容器内部完成请求
处理和转发动作 → 将目标资源发送给客户。
12//java代码示例request.getRequestDispatcher("xxx.jsp或者servlet").forward(request,response);
重定向过程: 客户端浏览器发送http请求 → web服务器接收后发送30X状态码响应及对应新的location给客户浏览器 → 客户浏览器发现是30X响应,则自动再发送一个新的http请求,请求url是新的location地址→ 服务器根据此请求寻找资源并发送给客户。
12//java代码示例response.sendRedirect("xxx.jsp或者servlet");
转发和重定向对比:
转发
重定向
跳转方式
服务器端转发
客户端转发
客户端发送请求次数
1次
2次
客户端地址栏是否改变
不变
变
是否共享request域
共享
不共享(request域中的数据 ...
超高校级的扯淡——浅谈《弹丸论破》系列
前言 最近闲来无事补完了《弹丸论破2》和《弹丸论破V3》,再加上自己原本就玩过1代并且看过希望篇绝望篇动漫,算是大概结束了这个系列(绝对绝望少女和小说没时间就没补),所以趁着刚通关没多久还有印象大概聊一下这个游戏系列。
“不正经”的大逃杀 第一次知道《弹丸论破》这个系列时,它给我的直观感受就是非常的“不正经” —— 充满着残酷的自相残杀和猎奇作案手法的超现实大逃杀剧本,一个个画风奇特看上去中二的角色,而且每个角色还都有着所谓的“超高校级”的能力设定,再加上一只和可爱怎么都挂不上边的黑白熊,以上这那些离奇的设定曾让我一度怀疑推荐给我这个游戏的人是不是有什么奇怪的癖好。但直到我真的接受了这些设定,抛弃了现实里才有的惯性逻辑思维后才发现,设计出这个游戏的果然不是一般人,因为这游戏太好玩了,完全就停不下来好吗?用游戏2代里的角色狛枝凪斗的话来说,弹丸论破就是一个终极自我合理化的游戏,想玩它就要试着放开现实逻辑的束缚,拥抱它的强行、做作、疯狂和不正常。
&nbs ...
网络编程
概述
计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
网络编程目的:无线电,数据交互,通信,传播交流信息
网络通信要素IP端口
端口表示计算机上的一个程序的进程
不同的进程有不同的端口号,原来区分软件
被规定0~65535
单个协议下,端口号不能冲突
端口分类:
公有端口: 0~1023
HTTP: 80
HTTPS: 443
FTP: 21
TELENT: 23
程序注册端口:1024~49151,分配用户或者程序
Tomcat: 8080
MySQL: 3306
Oracle: 1521
动态、私有:49152~65535
123netsata -ano #查看所有的端口netsata -ano|findstr "5900" #查看指定的端口tastlist|findstr "8696" #查看指定端口的进程
123456789101112public class TestI ...
删除Gitee仓库的文件
如何删除Gitee仓库的文件
clone仓库
1$ git clone Gitee库链接
cd进入clone下来的仓库
1$ cd 本地库名
删除文件
1$ git rm 要删除的文件名及其后缀
提交删除文件后的仓库
12$ git commit -m "对本次提交描述信息"$ git push
双亲委派机制
什么是双亲委派机制当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。
类加载器的类别BootstrapClassLoader(启动类加载器)c++编写,加载java核心库 java.*,构造ExtClassLoader和AppClassLoader。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作
ExtClassLoader (标准扩展类加载器)java编写,加载扩展库,如classpath中的jre ,javax.*或者 java.ext.dir 指定位置中的类,开发者可以直接使用标准扩展类加载器。
AppClassLoader(系统类加载器)java编写,加载程序所在的目录,如user.dir所在的位置的class
CustomClassLoader(用户自定义类加载器)java编写,用户自定义的类加载器,可加载指定路径的class文件
源码分析1234567891011121314151617181920212223 ...
剑指Java
计算机网络网络基础知识OSI开放式互联参考模型
TCP/IP
OSI七层模型
TCP/IP概念层模型
功能
TCP/IP协议族
应用层
应用层
文件传输,电子邮件,文件服务,虚拟终端
FTP,HTTP,SMTP,DNS,Telnet,TFTP
表示层
应用层
数据格式化,代码转换,数握加密
没有协议
会话层
应用层
解除或建立与别的接点的联系
没有协议
传输层
传输层
提供端对端的接口
TCP,UDP
网络层
网络层
为数据包选择踏由
IP,ICIP,RIP, OSPF, BCP, ICIP
数据链路层
链路层
传输有地址的帧以及错误检测功能
SLIP, CSLIP, PPP, ARP, RARP,ITU
物理层
链路层
以二进制数据形式在物理媒体上传输数据
1902110,IEEE802,IEEE802.2
OSI注重通信协议必要功能是什么,TCP/IP更强调计算机上实现协议应该要开发哪种程序
TCP三次握手传输控制协议TCP简介
面向连接的、可靠的、基于字节流的传输层通信协议
将应用层的数据流分割成报文段并发送给目标节点的TCP ...
Spring中七种Propagation类的事务配置
简述在声明式的事务处理中,要配置一个切面,其中就用到了propagation,表示打算对这些方法怎么使用事务,是用还是不用,其中propagation有七种配置,REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。默认是REQUIRED。
Spring中七种Propagation类的事务属性详解: REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。
REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
NESTED:支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。
注意事项这些配置将影响数据存储,必须根据情况 ...
SpringMVC的工作原理
SpringMVC的工作原理图:
SpringMVC流程1、 用户发送请求至前端控制器DispatcherServlet。
2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、 DispatcherServlet调用HandlerAdapter处理器适配器。
5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
6、 Controller执行完成返回ModelAndView。
7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
9、 ViewReslover解析后返回具体View。
10、DispatcherServlet根据View进行渲染视图 ...
Spring
Spring概述简介
Spring : 春天 —->给软件行业带来了春天
2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。
2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。
Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术、
官网 : http://spring.io/
官方下载地址 : https://repo.spring.io/libs-release-local/org/springframework/spring/
GitHub : https://github.com/spring-projects
优点
Spring是一个开源免费的框架 , 容器 .
Spring是一个轻量级的框架 , 非侵入式的 .
控制反转 IoC , 面向切面 Aop
对事物的支持 , 对框架的支持
一句话概括:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。
组成Spring 框架是一个分层架构, ...
SpringBoot整合Shiro
shiro的10分钟快速开始1.导入依赖
新建一个普通的maven项目,然后new一个hello-shiro(moudle)作为第一个测试项目
导入对应的依赖在pom.xml文件里
12345678910111213141516171819202122232425<dependencies> <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.7.1</version> </dependency> <!-- configure logging --> ...