- 浏览: 240821 次
- 性别:
- 来自: 上海
最新评论
-
kowen:
顶你!!!!!!
[jshop]jshop目录结构说明 -
kowen:
大神好人呐
[JShop]开源电子商务系统jshop快速入门 -
dinguangx:
竹林闲人 写道LZ想问下,后台给商品传图片的时候,初始化的图片 ...
[JShop]开源电子商务系统jeeshop的spring mvc版本发布 -
竹林闲人:
LZ想问下,后台给商品传图片的时候,初始化的图片kindedi ...
[JShop]开源电子商务系统jeeshop的spring mvc版本发布 -
suiyuanwangshi:
我搭建源码时,出现了错误。希望你能帮忙解决,启动tomcat时 ...
[JShop]开源电子商务系统jshop快速入门
文章列表
JEXL是一个表达式语言的解析引擎,用来解析表达式,被用来做一个条件判断,数据有效性校验,工作流等场合,一个示例如下:
private static HashMap<String, Object> contextMap = new HashMap<String, Object>();
@Before
public void init() {
contextMap.put("str", "字符串");
contextMap.put("index", 12);
contextMa ...
最近在学习OperamasksUI(版本v2.1)的时候,有了一个想法,想把UI的组件生成通过标签属性扩展的方式来实现。比如对于按钮,通过标签扩展,增加left-icon,right-icon,label,width等属性来实现属性的定义,而通过扩展一个fn属性来达到对事件的定义。如:
<a class="ui-button" label="按钮3" id="btn3" fn="{onClick:function(){alert('按钮3的事件通过扩展属性fn实现');}}"
left-i ...
在前面的示例中,使用的用户名和密码都是自己捏造出来的,而在实际的应用系统中,都需要从应用数据库中读取用户名和密码,下面就进行自定义CAS服务器的数据源的实验。
准备数据库
在mysql数据库test中新建表user
CREATE TABLE `user` (
`username` varchar(46) NOT NULL,
`password` varchar(46) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
为该表增加两条数据(密码使用MD5加密):
CAS服务器实验之五:单点退出测试
- 博客分类:
- CAS
cas服务器配置
进行单点退出时,需要通过cas服务器的/logout路径执行退出,以便cas服务器清除对当前session的保持,并通知其他的应用程序用户已经退出。默认情况下,cas服务器执行退出之后,会转向自带的一个退出成功页面,而在实际的项目中,一般都不会使用这个默认的页面,所以需要对cas的logoutController进行修改,启用它的退出转向。这样,在退出时,只要在url后面增加service参数指定退出之后的跳转页面,浏览器就会转向该跳转页面。
对cas-servlet.xml
客户端应用创建
新建一动态web工程cas-client1,这里使用的是maven来创建,在pom文件中增加对cas-client的依赖。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0. ...
Cas server默认的安全认证是基于https协议的,这就要求在应用程序和CAS Server端配置SSL,但对于一些对安全要求不高的应用或者不愿意花代价部署SSL的应用系统,可以通过降低CAS Server的安全级别来实现对HTTP协议的支持。
在cas-server-webapp中的
/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml文件中有如下配置:
<bean id="ticketGrantingTicketCookieGenerator" class=&quo ...
下载cas server之后,在解压之后的modules包可以看到如下内容:
将这里的cas-server-webapp-3.4.4.war更名为cas.war放入tomcat/webapps目录中,启动tomcat服务,在浏览器中输入http://locahost:8080/cas,看到如下的登录页面,
输入用户名和密码admin/admin,登录成功之后的页面如下图:
什么是SSO
所谓SSO(Single Sign On)单点登录是指基于用户/会话认证的一个过程,用户只需一次性提供凭证(仅一次登录),就可以访问多个应用。
目前单点登录主要基于Web的多种应用程序,即通过浏览器实现对多个B/S架构应用 ...
在使用CAS Server进行单点退出的实验时,一直不成功,最终跟终到的代码是cas server通过HttpURLConnection模拟了一个对客户端应用的POST请求,通过代码的调试发现,问题就出现在POST请求这里,客户端应用的SingleSignOutFilter过滤器接收到了这个请求,但是得到的请求却是GET请求,并且得不到所需的参数值。
为了进一步进行调试,把cas server中的请求过程拿出来做了一个测试类,如下:
public class TestConn {
public static void main(String[] args) {
...
在使用spring的jdbc:initialize-database标签进行单元测试时,发现这个标签与dataSource一同使用时,SQL脚本没有被正确执行,测试过程如下:
applicationContext-jdbc.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XML ...
Tomcat-maven-plugin插件使用
- 博客分类:
- maven
maven-tomcat-plugin让maven与tomcat配合得很好。它可以把应用部署到Tomcat服务器,也可以把 tomcat作为内嵌服务器启动,就像jetty一样。
插件的坐标配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1 ...
软件环境:spring3.1.1
实现目标:测试Spring3的任务调度使用,以及实现任务的暂停与唤醒。
1. Spring3的任务调度
Spring3对任务调度提供了更多的支持,并且提供了新的命名空间task,支持固定时间频率的任务调度和cron表达式。可以替代quartz组件来实现简单的任务调度。本文的目的是要使用spring3自带的任务调度机制实现一个简单的任务调度,并且该任务调度中提供了任务的暂停和唤醒功能。
目前正在使用的软件开发包中有一个业务服务基类BaseService,所有的自定义服务类都会继续于这个BaseService,但是业务服务实例是由软件包中封装好的BaseServiceFactory创建的,在需要使用具体的业务实例时,BaseServiceFactory接收具体的BaseService类名来创建服务实例,如下:
public BaseService getService(String className);
现在想要将该软件开发包与spring进行整合,将所有的业务服务类加入到spring容器中,作为spring bean使用,所以就想采用动态创建
多文件上传时,首先要解决的一个问题就是动态去添加或删除文件选择框,原来以为没多么困难的,但是没想到IE居然不支持table.appendChild()的js代码,导致整个前台JS的实现时间比原计划大大增加。不过还好可以借助网络查找需要的资源,最终成功实现兼容IE和FF的文件选择框的动态添加及删除功能。 先来看一下在FF中展现出来的效果,IE中效果亦然;这里要上传的是xls格式的 excel文件,在文件选择之后对文件后缀名进行校验,并且最上面的文件选择框不能删除;
用到的两个小图标也保留一下:
实现过程见代码:
<head>
& ...
复制数组:
javascript中操作对象与java一样采用引用的方式,所以如果通过obj2 = obj1的方式进行数组复制的时候,无论对obj2还是obj1所做的修改都同时影响两个变量的值,从而引发不愿意看到的后果。下面介绍两种实现简单数组元素复制的方法。
(1) 借用slice()进行数组的复制
slice() 函数可从已有的数组中返回选定的元素。使用语法为:
arrObject.slice(start,end); //start,开始位置;end,结束位置
slice()函数将会返回一个新的数组对象,所以使用slice(0)就可以实现数组的复制.
测试代码:
var arr = [1,2 ...