java web
藤原豆腐店-
准备迁移博客,新博客地址:https://www.jianshu.com/u/16102e967c0f
展开
-
创建基于Feign的RPC服务
1.首先声明一个feign的接口@FeignClient(value = "test-api", configuration = QueryBySqlServiceConfiguration.class, fallback = QueryBySqlServiceFallBack.class)public interface QueryBySqlService { @PostMapp...原创 2019-04-02 11:09:26 · 1523 阅读 · 1 评论 -
themleaf中th:href传入动态参数
HTML中th:href的格式用法:<a th:href="@{'/pageController?pageNum='+${pageNum}}" th:text="${pageNum}"></a>格式:th:href="@{'字符串'+${model中的nam值}}"。Controller中获取值:@RequestMapping(value = "/pag...原创 2019-02-26 16:58:42 · 33460 阅读 · 6 评论 -
springsecurity设置不同角色登录后跳转到不同页面
要在WebSecurityConfig中的configure方法中配置登录.formLogin().loginPage("/login").failureUrl("/login?error").defaultSuccessUrl("/home").successHandler(new LoginSuccessHandle()).permitAll()重点在.successHand...原创 2019-02-26 16:58:53 · 6159 阅读 · 2 评论 -
spring singleton和自动装配源码解析学习
1.spring中Bean的作用域有五种:singleton(单例模式,每次调用的都是同一个Bean),prototype(每次从容器中调用,都会创建一个新的实例),request(每次HTTP请求都会创建一个新实例),session(同一个HttpSession共享同一个实例,不同的HttpSession使用不同的Bean),globalSession(全局的web域共享一个实例,类似于serv...原创 2019-02-26 17:15:43 · 859 阅读 · 0 评论 -
springboot项目实现文件的上传显示和下载
文件上传:HTML上传页面代码:<input type="file" class="form-control" name="file">submit提交到controller,controller中的代码:@RequestMapping(value = "/usershare", method = RequestMethod.POST) public Str...原创 2019-02-26 16:59:11 · 7146 阅读 · 8 评论 -
Themleaf中html向controller传递参数 th:onclick传参
HTML中button的onclick方法代码:<tr th:each="diary:${list}"> <td th:text="${diary.title}"></td> <td th:text="${diary.fileName}"原创 2019-02-26 16:59:16 · 6360 阅读 · 5 评论 -
Java基础知识点巩固学习
1.方法重载overload是实现编译时的多态性。方法重写override是实现运行时的多态性。2.char型占两个字节,并且Java中使用的Unicode编码,所以char型可以存放一个汉字。3.抽象方法不可以是静态的,因为抽象方法要被重写实现,而静态方法不允许被重写。4.抽象方法不可以是native本地方法,因为本地方法是由C语言写好的方法,而抽象方法是未实现的方法。5.抽象方...原创 2019-02-26 17:15:50 · 707 阅读 · 0 评论 -
Spring AOP的作用,动态代理模式
AOP即面向切面编程。AOP是基于代理模式的。代理模式:当我们需要修改一个类,在类中加入代码时,为了不破坏这个类的封装性。可以使用代理模式,建立一个代理类。比如:修改需求,在调用UserController类的saveUser()方法之前要判断用户是否有权限,普通的办法我们可以直接修改类中的saveUser()方法。用代理模式就是,建立一个代理类,在调用saveUser()方法之前再加...原创 2019-02-26 17:16:40 · 2375 阅读 · 1 评论 -
Spring Boot启动流程简单解释
Spring Boot程序有一个入口,就是main方法。main里面调用SpringApplication.run()启动整个Spring Boot程序,该方法所在类需要使用@SpringBootApplication注解。 @SpringBootApplication包括三个注解: @EnableAutoConfiguration:SpringBoot根据应用所声明的依赖来对...原创 2019-02-26 17:17:31 · 34724 阅读 · 2 评论 -
springMVC Mybatis实现分页查询
首先在对应的Mapper.xml中配置:<!--查询总记录的条数--><select id="findTotal" resultType="java.lang.Integer"> SELECT COUNT(id) FROM Diary</select><!--分页查询十条--><select id="pageSh原创 2019-02-26 16:58:38 · 1857 阅读 · 2 评论 -
mybatis多条件查询,动态sql,模糊查询
mapper.xml中:<select id="selectShareByName" resultMap="seeShare"> SELECT * FROM Diary <where> <!--where标签自动去掉满足条件的第一个and --> <if test="ar...原创 2019-02-26 16:58:31 · 6583 阅读 · 1 评论 -
Kapacitor、Chronograf配置报警的TICKscript脚本语言使用
TICK :Telegraf +InfluxDB +Chronograf +KapacitorTelegraf:Telegraf是一个数据采集套件,对应用、容器等进行监控,监控采集的数据会发送给influxDB。InfluxDB:go语言开发的时序数据库,专门负责存储时序数据。Chronograf :可视化的监控展示服务。Kapacitor:Kapacitor是一款时序数据...原创 2019-04-20 10:45:30 · 3081 阅读 · 0 评论 -
解决Mybatis出现的各种Parameter ' ' not found. Available parameters are [ , ]
1.当Mapper给xml传入的是基础类型或者要用到的list时,出现问题的原因可能是因为Mapper的参数没有加@Param标注 List<UserMissionRecord> getMissionRecordByUserIds(@Param("userIdList") List<Long> userIdList); UserMissionRecor...原创 2019-03-05 16:06:10 · 30645 阅读 · 0 评论 -
Redis两种持久化方式,RDB、AOF对比
Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。为了保证它的效率,会将数据缓存在内存中,但是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,以保证数据的持久化。以免在断电关机时数据丢失。Redis提供的持久化方式有两种:rdb:快照形式是直接把内存...原创 2019-02-26 17:20:12 · 536 阅读 · 0 评论 -
redis为什么是单线程
原因一:redis本身就是基于内存操作的,所以每个操作执行速度都很快。如果使用多线程,就需要解决多线程同步的问题,就会涉及到线程的频繁切换而消耗CPU。单线程的使用避免了不必要的上下文切换和竞争条件,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗。原因二:redis中的数据结构比较简单,对数据的操作也就比较快。原因三:使用多路复用IO,即非阻塞IO。...原创 2019-02-26 17:23:47 · 2833 阅读 · 1 评论 -
解决复选框checkbox提交数据到后台获取不到的问题
将前端勾选了的checkbox的数据提交到后台的方法是:<label> <input name="form-field-checkbox" class="ace-checkbox-2" type="checkbox" value="Amazon,store002"><span class="lbl"原创 2019-02-26 16:55:30 · 10660 阅读 · 2 评论 -
JMeter压力测试工具使用
1.新建测试计划,选择添加,线程。2.点击http请求,配置协议、ip、端口、路径、请求方式、参数。get方式直接在parameters中配置即可,如果是post方式,要在bodydata中添加json形式的数据,并且右键线程组,add。添加一个HTTP Header Manager。点击add,添加发送数据的格式.3.如果已经有写好的测试数据文件,右键...原创 2019-03-05 16:03:56 · 231 阅读 · 0 评论 -
Mybatis多表联合查询,多对一关联查询
有两张表,一张表为业务账户表,一张为资费表,业务账户表其中有一个外键为资费类型id,引用了资费表的主键id。建表语句:/*资费表*/create table sys_charge( id int(11) auto_increment, name varchar(16) CHARACTER SET utf8 not null, type int, duration i...原创 2019-02-26 16:56:56 · 394 阅读 · 0 评论 -
Redis事务,watch命令学习
redis事务:redis的事务和mysql等关系型数据库的事务不太一样,redis中的事务不会回滚,只能手动收拾事务失败后的烂摊子。在命令行中,MULTI是事务的开始命令。EXEC是事务的执行命令。并且会按顺序执行事务中的命令,不会被其他事务的命令打扰。在java操作redis中,是通过.multi()和.exec()开始和执行事务。MULTI会将之后加入的所有命令按顺序的加入到命令...原创 2019-03-05 16:07:15 · 1745 阅读 · 0 评论 -
调用NBA赛事API,完成对返回json数据的解析
这篇博客主要记录申请API,解析API返回的json数据,然后将需要的数据呈现到网页上。一、申请聚合数据提供的NBA赛事的API。二、创建自己的类,并复制API提供的接口方法。package com.example.demo.match;import com.example.demo.matchBean.ListObject;import com.example.demo....原创 2019-02-26 17:18:19 · 1846 阅读 · 8 评论 -
web开发中F12调试以及HTTP请求头,响应头解析
常见的HTTP请求头 请求头 说明 Accept-Charset 用于指定客户端接受的字符集 Accept-Encoding 用于指定可接受的内容编码,如Accept-Encoding:gzip.deflate Accept-Language 用于指定一种自然语言,如Accept-Language:zh-cn Host 用于指定被请求资源的In...原创 2019-02-26 17:18:08 · 10863 阅读 · 0 评论 -
springboot + springsecurity + mybatis + mysql实现用户登录验证,记住密码,退出功能
springsecurity 主要的功能是 验证 和 授权。springsecurity主要的工作原理是:当我们在登录页面中输入用户名和密码之后首先会进入到UsernamePasswordAuthenticationToken验证(Authentication),然后生成的Authentication会被交由AuthenticationManager来进行管理而AuthenticationMa...原创 2019-02-26 17:18:27 · 8849 阅读 · 3 评论 -
hibernate 单向多对一,一对多,双向多对一详解
1、单向多对一和双向多对一的区别?只需要从一方获取另一方的数据时 就使用单向关联双方都需要获取对方数据时 就使用双向关系部门--人员使用人员时如果只需要获取对应部门信息(user.getdeptarment())不需要 从部门下的人员信息时,就配置成单向 多对一使用部门时如果只需要获取部门下人员信息(deptartmanet.getusers())不需要 从人员获取部门信息时,就配置成单向 一...原创 2019-02-26 17:21:27 · 1540 阅读 · 0 评论 -
<%@include%>与<jsp>的区别
最主要的区别为<%@include%>是静态包含的,<jsp:include>是动态包含的。<%@include%>包含的过程是静态的,在指定文件属性值时,只能包含一个相对路径的文件名,并且不能是一个变量,也不能在所指定的文件名后面加任何参数。在编译阶段将页面的代码插入到主页面的代码中,最后包含页面和被包含页面生成了一个文件,如果被包含页面代码有改动,需要重...原创 2019-02-26 17:22:27 · 3644 阅读 · 0 评论 -
html中多个按钮提交表单
可以将按钮都设置为button类型,然后添加onclick事件调用js函数,然后在js函数中提交给servlet并传递不同的参数来区分是哪个按钮提交的。button事件:<td align="center"> <input type="button" name="alter" id=<%="alter"+j%> value="修改"原创 2019-02-26 17:21:54 · 5924 阅读 · 0 评论 -
html中的button按钮调用js函数和提交表单传递参数
1.button的type设置为button 而不用submit,并添加onclick方法调用js函数<input type="button" name="confirmAlter" value="确认修改" onclick="changeInfo(form1.code,form1.name,form1.detail,form1.count)"/>2.传到js函数中,然后提交表...原创 2019-02-26 17:21:58 · 44952 阅读 · 0 评论 -
html中使用[removed].href()跳转和传递参数。
1.在按钮上添加onclick时间,并传递参数给js函数,参数可以为input中输入的值,也可以为jsp中获取的值。onclick="searchInfo(form1.workername)"在js函数里调用时要加.valueonclick="alterInfo(<%=work1.getCode()%>,<%=work1.getName()%>,<%=wo...原创 2019-02-26 17:22:04 · 39659 阅读 · 1 评论 -
spring5.0.2下的自定义属性编辑器
新版本spring的CustomEditorConfigurer类进行了改变: 新模板为:<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> ...原创 2019-02-26 17:23:27 · 286 阅读 · 0 评论 -
spring之IOC控制反转和DI依赖注入
Ioc—Inversion of Control,即“控制反转”,是一种设计思想。传统方式是需要什么对象就new什么对象,完全是由自己定义自己创建自己销毁的,控制权在自己手上。用了IOC之后,控制权发生了反转,由spring容器控制,自己写好的Javabean后,在applicationContext.xml中注册登记,然后由spring进行管理,需要用什么对象时,就调用spring的A...原创 2019-02-26 17:23:05 · 321 阅读 · 0 评论 -
Tomcat打开方法,碰到JRE_HOME 问题和修改默认端口
Tomcat打开:运行bin目录下的startup.bat,再运行tomcat8.exe碰到JRE_HOME 问题:编辑bin目录下的setclasspath.bat加上 修改conf目录下的server.xml可改localhost:8080的端口号...原创 2019-02-26 17:23:09 · 2621 阅读 · 0 评论 -
bootstrap下载安装和基础学习
1.前往bootstrap官网,下载已经编译好的版本,不是source版。2.下载后解压,然后将两个文件夹css,js或者三个文件夹css,fonts,js拷贝到工程目录里我这里没有拷js文件 3.在HTML文件或者jsp文件中引入 <!doctype html> <html lang="en"> 我这个是在jsp中使用。...原创 2019-02-26 17:21:33 · 23177 阅读 · 3 评论 -
mybatis下载和基础配置
mybatis jar包下载地址 https://github.com/mybatis1.首先将jar包导入到lib目录下2.创建核心配置文件 sqlMapConfig.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//...原创 2019-02-26 17:21:15 · 569 阅读 · 0 评论 -
idea启动web项目,Tomcat 配置问题记录
1.如果启动Tomcat后,访问url显示404,则可能是添加Tomcat服务器时没有Artifact.解决:点击Edit Configuration,选择启动的Tomcat,选择Deployment,然后点Artifact即可。 2.web项目连接数据库时,报数据库驱动不存在异常。 如果已经将jar包导入到项目了,则可能是因为没有将数据库驱动jar包导入到Tomcat的...原创 2019-02-26 17:17:51 · 732 阅读 · 0 评论 -
Springsecurity引入静态资源 css,js,图片被屏蔽等问题解决办法
如果不加解决,springsecurity会自动屏蔽我们引用的css,js等静态资源,导致页面不能加载出该有的样式功能。应在继承了WebSecurityConfigurerAdapter类中的configure方法中添加允许加载的配置.antMatchers("/js/**","/css/**","/images/*","/fonts/**","/**/*.png","/**/*.jpg.原创 2019-02-26 17:18:32 · 11517 阅读 · 2 评论 -
Spring Cloud Eureka 创建服务注册中心和创建服务提供者 Eureka Client 服务消费者Ribbon Consumer
创建服务注册中心Eureka Server一、新建springboot工程,勾上Eureka Serverpom.xml中是这样<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2...原创 2019-02-26 17:18:23 · 660 阅读 · 0 评论 -
前后端关系,restful风格,restcontroller与controller区别
restful风格简单的理解,restful是一种url风格,或者说是规范,在以前的网址中,假定一个业务,取得数据网址为http://test/get ,添加信息的网址为http://test/post ,类似这样。但是在restful风格中,取得数据和添加数据的网址均应为http://test ,方法为get或者post;所以,在restful风格中,一个网址就是一个资源,其形式类似于h...转载 2019-02-26 17:19:21 · 4702 阅读 · 0 评论 -
forward转发和redirect 重定向的区别
forward 转发,如return "forward:/hello"; 浏览器的地址栏不会变,但是有视图返回来redirect 重定向,如return "redirect:/hello"; 浏览器的地址栏会变。spring控制器最后返回一个ModelAndView(urlName),其中urNamel可以是一个视图名称,由视图解析器负责解析后将响应流写回客户端;也可以通过redirec...转载 2019-02-26 17:20:49 · 307 阅读 · 0 评论 -
springmvc常见问题记录
1.在页面请求controller处理时form的action写的内容要和@RequestMapping中value写的内容一致。如document.getElementById('form1').action="/userlogin";@RequestMapping(value = "/userlogin",method=RequestMethod.POST)2.controller...原创 2019-02-26 17:20:54 · 1971 阅读 · 0 评论 -
springmvc基本原理
前端控制器dispatcherServlet,相当于struts2中的filtercontroller。接受请求,响应结果,相当于转发器。减少其他组件之间的耦合度。处理器映射器handlerMapping,根据请求的URL,寻找相应的handler。handler处理器,是controller,相当于struts2中的action处理器适配器handlerAdapter,执行handl...原创 2019-02-26 17:21:06 · 1542 阅读 · 0 评论 -
spring 注解配置与java配置
注解配置:声明bean的注解@Service 在业务逻辑层service层使用@Component 组件,没有明确的角色@Repository 在数据访问层dao层使用@Controlle 在控制层使用注入bean的注解,一般情况下通用@Autowired@Inject@Resource 功能类beanpackage Test1;import ...原创 2019-02-26 17:21:10 · 3071 阅读 · 0 评论