Bootstrap Modal 模态框的简单封装

把 Bootstrap 的模态框简单的封装了一下,在这里做个记录,以备不时之需。 1、HTML <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" id="myModalLabel">模态框</h4> <...
阅读全文

使用 Hibernate 的 PostInsertEventListener, PostUpdateEventListener, PostDeleteEventListener 做日志管理

Hibernate 为我们提供了事件监听机制,我们只需要实现相应的监听器,就可以追踪到对象的修改,比如 PostInsertEventListener, PostUpdateEventListener, PostDeleteEventListener、PostLoadEventListener等等,都在 org.hibernate.event.spi 包中。 1、实现 PostInsertEventListener, PostUpdateEventListener, PostDeleteEventListener package com.***.listener; import com.***.entity.LogEntity; import com.***.enums.LogType; import com.***.manager.LogManager; import com.***.utils.SysUserUtil; import com.***.UserDto; import org.hibernate.event.spi.*; import org.hibernate.persister...
阅读全文

DateConverter does not support default String to 'Date' conversion

先贴上错误信息: 严重: Servlet.service() for servlet [dispatcher] in context with path [] threw exception [Request processing failed; nested exception is org.apache.commons.beanutils.ConversionException: DateConverter does not support default String to 'Date' conversion.] with root cause org.apache.commons.beanutils.ConversionException: DateConverter does not support default String to 'Date' conversion. at org.apache.commons.beanutils.converters.DateTimeConverter.toDate(DateTimeConverter.java:474) at org.apache...
阅读全文

如何在Spring启动后执行一些操作

某些时候,我们在项目启动后就需要执行一些操作,这个时候我们就可以通过实现ApplicationListener接口,实现他的onApplicationEvent方法来做到。 但是直接做的话会有个问题,就是在spring启动后onApplicationEvent方法会被执行两次。 这是因为此时存在两个ApplicationContext: 一个是Root WebApplicationContext; 另一个是SpringMVC的ApplicationContext,叫做:WebApplicationContext for namespace ‘dispatcher-servlet’(dispatcher-servlet为你的springmvc的配置文件名),它是Root WebApplicationContext的子容器。 解决办法就是判断当前WebApplicationContext是否有父容器。 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context....
阅读全文

一个Dubbo的小例子

下面是一个Dubbo实现RPC服务的小例子,包含了服务提供者(Provider)和服务消费者(Consumer)部分,服务注册于Zookeeper上。 1、服务提供者(Provider)部分 1) pom文件中添加zookeeper和dubbo的依赖,提供者和消费者都需要加上。 <!-- Zookeeper --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.5.0-alpha</version> </dependency> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.5</versi...
阅读全文

Apache Shiro 动态授权

shiro的权限控制可以配置在shiroFilter的filterChainDefinitions中: <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <!-- 此处省略其他配置信息 --> <property name="filterChainDefinitions"> <value> /login.jsp = authc /logout = logout /**.* = anon /user/add = perms[user:add] /** = authc </value> </property> </bean> 但是一般我们的系统中的权限都是动态的,角色和权限信息都存储于数据库中,此时就需要我们去继承Permission...
阅读全文

Apache Shiro 自定义 Realm 实现登录及授权

在上一篇文章讲了Shiro自带的JdbcRealm实现的登录和授权,但是这种方式不能在principal中传入对象,所以我们可能需要自定义Realm的实现。 1、自定义MyRealm继承AuthorizingRealm import com.***.User; import com.***.userService; import com.***.roleService; import com.***.resourceService; import org.apache.shiro.authc.*; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.authz.SimpleAuthorizationInfo; import org.apache.shiro.realm.AuthorizingRealm; import org.apache.shiro.subject.PrincipalCollection; import org.apache.shiro.util.ByteSource; import or...
阅读全文

Apache Shiro JdbcRealm 实现登录及授权

以下是使用shiro自身的JdbcRealm实现的登录及授权功能: 1、pom文件中添加依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> </dependency> <dependency> <groupId>org.apache....
阅读全文

JDK的安装和Java环境变量的配置(CentOS和windows)

以下是分别在Windows和CentOS系统下JDK的安装过程及环境变量的配置过程: 1、从oracle下载JDK并安装,windows下直接点击安装即可,CentOS下用yum或rpm安装,具体过程略过。 2、Windows下Java环境变量的配置 1) 右击“计算机” -> “属性” -> “高级系统设置” -> “高级” -> “环境变量”; 2) 新建系统变量“JAVA_HOME”,值为:jdk的安装路径,比如“D:\Java\jdk1.6.0_26”; 3) 新建系统变量“CLASS_PATH”,值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(tools.jar和dt.jar的路径); 4) 修改系统变量“Path”,值为:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(bin和jre\bin的路径); 5) “javac”,显示javac命令用法等信息,表示java环境变量配置成功。 3、CentOS下Java环境变量的配置 vi /etc/profile 加入如...
阅读全文

基于ZooKeeper的Dubbo注册中心安装(CentOS)

DUBBO是一个分布式服务框架,用于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架。Dubbo架构的节点包含Provider、Consumer、Registry、Monitor、Container,其中Registry(注册中心)可以使用Zookeeper注册中心、Redis注册中心等来进行服务注册。下面是Zookeeper及Dubbo-admin的安装过程: 1、安装jdk并配置java环境变量 2、安装Zookeeper (1) 下载Zookeeper wget http://www.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz (2) 解压 tar zxvf zookeeper-3.4.6.tar.gz (3) 复制 conf/zoo_sample.cfg 为 conf/zoo.cfg cd zookeeper-3.4.6/conf cp zoo_sample.cfg zoo.cfg (4) 对zoo.cfg文件做相应修改 tickTime:每次心跳的毫秒数...
阅读全文