https://www.cnblogs.com/nananana/p/8371805.html
CGLIB详解(最详细)
https://blog.csdn.net/qq_33661044/article/details/79767596
HTTP协议中request和response常用方法
一、request的常用方法:
1、获取请求的方式 getMethod()
2、目录的路径 getContextPath()
3、获取servlet路径 getServletString()
4、获得get请求参数 getQueryString()
5、获取请求的url getRequestURL()
getRequestURI()
6、获得协议版本 getProtocol()
7、获取客户的ip getRemoteAddr()
8、获取请求参数的通用方式
1、getParameter(Sring name)
2、根据参数的名称获得参数的数组 getParameterValues(String name)
3、获取所有请求参数的名称 getParameterNames()
4、获得所有参数的集合 getParameterMap()
9、获取session 对象 getSession()
二、response的常用方法
1、告诉浏览器数据类型 setContentType()
2、设置respon的编码格式 setCharacterEnconding()
3、返回服务器的预设错误网址并显示错误信息 sendError()
4、重定向页面 sendRedirect()
5、获取通向浏览器的字节流 getOutputStream()
6、获取通向浏览器的字符流 getWriter()
7、回传路径 encodeRedirectURL()
8、setHeader()设置消息头
9、setStatus()设置状态
10、addCookie()添加Cookie
HTTP协议中request和response常用方法
一、request的常用方法:
1、获取请求的方式 getMethod()
2、目录的路径 getContextPath()
3、获取servlet路径 getServletString()
4、获得get请求参数 getQueryString()
5、获取请求的url getRequestURL()
getRequestURI()
6、获得协议版本 getProtocol()
7、获取客户的ip getRemoteAddr()
8、获取请求参数的通用方式
1、getParameter(Sring name)
2、根据参数的名称获得参数的数组 getParameterValues(String name)
3、获取所有请求参数的名称 getParameterNames()
4、获得所有参数的集合 getParameterMap()
9、获取session 对象 getSession()
二、response的常用方法
1、告诉浏览器数据类型 setContentType()
2、设置respon的编码格式 setCharacterEnconding()
3、返回服务器的预设错误网址并显示错误信息 sendError()
4、重定向页面 sendRedirect()
5、获取通向浏览器的字节流 getOutputStream()
6、获取通向浏览器的字符流 getWriter()
7、回传路径 encodeRedirectURL()
8、setHeader()设置消息头
9、setStatus()设置状态
10、addCookie()添加Cookie
https://www.jb51.net/article/195740.htm
我的情况是解决方案三(适用于Idea较新版本)
配个地址
https://blog.csdn.net/u013452337/article/details/79956604/
查所在分支
git branch
git branch -a
如何查询当前git的远程地址
git remote -v
Java获取视频文件时长
主要是写个工具类,方便调用,第三个代码config看情况在加哦哦
https://segmentfault.com/a/1190000037454375
http://localhost:9411/java_admin
http://localhost:9411/java_admin/login?
测试机
server:
port: 9411
baseurl: /java_admin/
ip: 127.0.0.1
id: 5001
type: local
client_host: http://localhost:8080
# client_host: http://52.76.1.97:18083 http://localhost:8080 http://a689b177a6dbafc4a.awsglobalaccelerator.com:18083
# 上面1 客户机 2 本地 3 域名
report_path: ./report
server_path: /data/java/
# 设定Session的追踪模式(cookie, url, ssl)
servlet:
session:
tracking-modes: cookie
timeout: 1d
cookie:
http-only: true
max-age: -1s
tcp:
port: 9401
spring:
thymeleaf:
mode: HTML
# 编码,可不用配置
encoding: UTF-8
# 开发配置为false,避免修改重启服务器
cache: false
# 配置模板类型
prefix=classpath: /templates/
# ### redis缓存配置
# ### 默认redis数据库未db0
# redis:
# database: 0
# host: 127.0.0.1
# port: 6379
# password:
# kissu mongo 配置
data:
mongodb:
host: 192.168.1.42
#127.0.0.1 如果是自己本地的地址的话,根据自己的用户名,密码修改
port: 27017
username: mongokissu
password: ryhcgv6zKih1GbqDDe
database: kissu
#配置静态资源映射
mvc:
async:
request-timeout: 600000 # 设置请求超时时间
static-path-pattern: /**
resources:
static-locations: classpath:/static
# 资源缓存时间,单位秒,30天
cache.period: 30d
# 启用缓存
chain:
cache: true
# Enable the Spring Resource Handling chain. Disabled by default
enabled: true
# 开启版本控制策略,默认为false
strategy:
content:
enabled: true
# 指定要应用的版本的路径,多个以逗号分隔,默认为:[/**]
paths: /**
# main:
# allow-bean-definition-overriding: true
# config:
# location: ./
# name: spring-content.xml
# 配置logback文件
logback:
configurationFile: ./logback.xml
#logging:
# level:
# com.quhong.admin.mongo.dao: DEBUG
mongodb:
database:
db: kissu
quhong:
redis:
database: 0
host: 192.168.1.42
#主机,本地用127.0.0.1
password: PXEBA5ByKaURx
port: 6379
admin:
redis:
database: 0
host: 192.168.1.42
password: PXEBA5ByKaURx
port: 6379
jdbc:
# 就是填MySQL里面的东西==本地:host:127.0.0.1 username:root password:root
host: 192.168.1.42
port: 3306
username: mysqladmin
password: 38llf49LfDFGEAKCPUaDN5Z0
driver: com.mysql.cj.jdbc.Driver
database:
db: kissu
log: kissu_log
#info:
# head: head
# body: body
#management:
# endpoints:
# web:
# exposure:
# #加载所有的端点,默认只加载了info、health
# include: '*'
# endpoint:
# health:
# show-details: always
# #可以关闭指定的端点
# shutdown:
# enabled: false
总结
本地测试机 IP 192.168.1.42
《=====》127.0.0.1
https://www.zhihu.com/question/54152397?sort=created
选择mq的话根据需要来选择,也许你觉得RabbitMQ很熟悉,只不过它出现的比较早,网上资源可能比较多,但现在大型网站对吞吐量有所要求,所以RabbitMQ并不一定合适
https://blog.csdn.net/qq_39380590/article/details/82113421
可能是Tomcat的配置问题参考Intellij IDEA 部署Web项目[tomcat通用问题解决办法],解决 404 错误_越努力越幸运~~ wechat:xiecba-CSDN博客
有可能web.xml的问题 看具体配置了
以前的idea项目maven、Tomcat启动不了,通用解决方案
参考Intellij IDEA 部署Web项目[tomcat通用问题解决办法],解决 404 错误_越努力越幸运~~ wechat:xiecba-CSDN博客
主要是idea没有配置好,看看哪里没有配置好,配置一下问题应该不大
在Web项目中====>ServletContextListener监听Web应用的启动,
创建应用上下文对象ApplicationContext====》存储到servletContext====>可以在任意位置获取到上下文ApplicationContext对象。
—》上面通过监听器来实现
在web.xml 配置ContextLoaderListener
使用WebApplicationCOntextUtils获取应用上下文对象ApplicationContext
2.5获得Restful风格参数
@RequestMapping(“/test9/{name}”)
@ResopnseBody
public void test009(@PathVarible(value"name" required=true) String name){
sout(name);
}
2.4 参数绑定注解@RequestParam
当请求的参数的名称与Controller的业务方法参数名称不一致的时候,通过@requestParam参数绑定
public void test1(@RequestParam(“age”)){}
2.3pringmvc解决某些情况下静态资源无法访问的方案
1、开放资源访问
2、用默认handler
1、@RequestMapping(value=“/test”)
浏览器访问url后面补上的路径
2、@ResponseBody
直接回写,spring不会吧返回的值当成视图.jsp,而是当成数据直接打印
public String test1(){
return “hello world”;
}
直接在页面返回文字
同步该文章
聚集索引
索引逻辑顺序 = 数据+物理顺序
字典
拼音排序
拼音 -》》》聚集索引
笔画
primary key主键可以作为聚集索引
jdbc开发工具–spring封装
1.1 JdbcTemplate开发步骤
1.导入spring-jdbc和spring-tx坐标
2.创建数据库和实体
3.创建JdbcTemplate对象
4.执行数据库操作
2.3基于注解的aop开发步骤:
①创建目标接口和目标类(内部有切点)
②创建切面类(内部有增强方法)
③将目标类和切面类的对象创建权交给 spring
④在切面类中使用注解配置织入关系
⑤在配置文件中开启组件扫描和 AOP 的自动代理
⑥测试
2.2通知类型
//myAspect1是切面类
通知(增强)有五种类型:1.前置通知 @Before 在方法(切入点)执行前执行
2.后置通知 @AfterReturning 指定增强方法在切入点之后执行
3.环绕通知 @Around 在方法(切入点)前后都可以执行
4.异常通知 @AfterThrowing 异常通知,只有当切入点方法中发生了异常才执行
5.最终通知 @After ,是否有异常都会执行的。
切入点表达式:
作用:说明哪个类的哪个方法是切入点 格式 execution([访问修饰符][返回值类型][类的全路径][方法名][参数名])
2.1基于XML的AOP开发
步骤:
1、导入AOP包
2、创建目标接口和目标类(内部有切点)
3、创建切面类(内部有增强方法)
4、将目标类和切面类的对象创建权交给spring
5、在applicationContext.xml中配置织入关系
6、测试代码
同步该文章
1.4AOP开发需要编写的内容
核心业务代码(目标类的目标方法)
切面类,通知(增强功能方法)
配置文件,织入关系,====》通知和连接点的结合
1.5技术实现的内容
Spring 框架监控切入点方法的执行。一旦监控到切入点方法被运行,使用代理机制,动态创建目标对象的代理对象,根据通知类别,在代理对象的对应位置,将通知对应的功能织入,完成完整的代码逻辑运行。
1.3AOP术语
Pointcut(切入点):被增强的方法
Advice(通知/ 增强):封装增强业务逻辑的方法
Aspect(切面):切点+通知
Weaving(织入):将切点与通知结合的过程
同步该文章
1.1AOP底层原理:动态代理技术
分为JDK处理和cglib代理(有接口的时候用JDK代理,反之用cglib(基于父类的代理))
1.2spring的前置增强和后置增强有什么区别吗?
前置增强指在核心功能之前执行的额外功能
后置增强指在核心功能之后执行的额外功能
System.out.println(“前值增强”);
Object invoke = method.invoke(target,args);
System.out.println(“后置增强”);
1、导入Spring集成Junit的坐标
2、使用@Runwith注解替换原来的运行期
3、使用@ContextConfiguration指定的配置文件或配置类
4、使用@Autowired注入需要测试的对象
5、创建测试方法进行测试