
SSH进阶
文章平均质量分 87
Struts封装了表示层,hibernate封装了数据持久层,spring封装了业务逻辑层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序,将系统的耦合度降低到最小,有利于团队成员并行工作,大大提高了开发效率。
陈晓婵
这个作者很懒,什么都没留下…
展开
-
activemq:Address already in use
在安装activemq的时候,报了下面的错.2018-04-27 11:11:17,888 | ERROR | Failed to start Apache ActiveMQ (localhost, ID:iZ2ze3kuzf87772bu634vcZ-42277-1524798677716-0:1) | org.apache.activemq.broker.BrokerService | mai...原创 2018-04-27 20:20:23 · 3466 阅读 · 3 评论 -
【Restful】三分钟彻底了解Restful最佳实践
REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想Rest架构的主要原则 网络上的所有事物都被抽象为资源 每个资源都有一个原创 2017-06-25 15:27:17 · 171958 阅读 · 69 评论 -
【基于url权限管理 shiro(二)】--权限管理解决方案
Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。这篇博文将介绍权限管理解决方案.1.什么是粗粒度和细粒度权限粗粒度权限管理,对资源类型的权限管理。资源类原创 2017-06-06 16:16:13 · 1222 阅读 · 16 评论 -
【基于url权限管理 shiro(一)】--基础
只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。权限管理包括用户认证和授权两部分。用户认证1.概念用户认证,用户去访问系统,系统要验证用户身份的合法性。最常用的用户身份验证的方法:1、用户名密码方式、2、指纹打卡机、3、基于证书验证方法。。系统验证用户身份合法,用户方可访问系统的原创 2017-06-06 15:40:05 · 2151 阅读 · 17 评论 -
Java实现将日志信息存到TXT中
在java文件操作的时候,思考将日志信息存到txt中,现在很多项目都是通过log4j来做的,同样也会用到将日志存到txt中.package FileOperation;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;impo原创 2017-06-05 21:27:58 · 6888 阅读 · 13 评论 -
Java自动装箱和拆箱
自动装箱定义:将一个原始数据类型赋值给相应封装类的变量在JDK1.5版本以后,经常使用的是下面的方法来定义一个Integer对象. Integer num1 = 127;num1为一个Integer类型的引用,127为java中的基础数据类型,这种将一个基础数据类型传给其相应的封装类的做法,就是自动装箱.原理:查看Integer的底层发现,会直接调用Intege原创 2017-06-04 15:28:14 · 1124 阅读 · 9 评论 -
深入JVM内核---JVM内存模型
在上一篇博客中讲GC算法的时候提到了一些关于JVM内存模型.JVM中用heap堆来存储运行时的数据,所有类实例和数组由堆分配内存,JVM启动时创建堆(heap memory),在堆以外的内存叫非堆(non-heap memory)1.堆(Heap space)在JVM的堆内存空间中,从大的层面划分,可以分为新生代(Young)和老年代空间(Old).其中Young空间又被分为两个部原创 2017-05-31 21:42:07 · 1302 阅读 · 5 评论 -
深入JVM内核---GC算法
GC(Garbage Collection)垃圾收集,即将内存分为几个区域,将不同的生命周期的对象放在不同区域里,在GC收集的时候,频繁收集生命周期短的区域(young).比较少的收集生命周期较长的区域(old),基本不收集的永久区(perm).1960年List使用了GC,java中,GC的对象是堆空间和永久区,GC的作用是自动检测对象是否超过作用域从而自动回收内存.防止人为的引入导致内存的泄露原创 2017-05-31 21:20:30 · 607 阅读 · 4 评论 -
透彻分析反射的基础---class类
反射的基石---class类java程序中的各个java类属于同一个类事物,描述这类事物的java类名就是class.什么是字节码:当在源程序中用到了person这个类的时候,首先将这个类的class编译的二级制编码加载到内存中来,然后再用这个二进制将它复制成一个个对象来.如何得到各个字节码对应的实例对象或者说是获取class类一共有三种方式:1.类名.class,例如:Sys原创 2017-05-30 16:11:12 · 1058 阅读 · 10 评论 -
深入JVM内核---类加载器和父类委托机制
类加载器:加载类的工具,只要你用到了哪个类,就需要把他的class(二级制文件)加载进来,这个工作就是类加载器来做的.java虚拟机上可以安装多个类加载器,系统默认有三个类加载器,Bootstrap(内嵌在java虚拟机内内核中由c++编写),ExtClassLoader,AppClassLoader,每个类负责加载特定位置的类.也可以自定义类加载器,自定义的加载器必须继承classLoader.原创 2017-05-30 11:11:27 · 1808 阅读 · 11 评论 -
大型分布式网站的架构演进
1.单一应用框架一个简单的电商网站,可能包含如下的几个模块和功能:首页,detail,list页,下单,支付以及后台管理页面和功能.单一应用架构带来的问题:1.代码越来越庞大,业务越来越复杂,多个团队开发同一个应用,难以维护2.业务复杂,占用的系统资源越来越多,流量越来越大,不方便扩展.2.垂直应用框架解决的问题:解决了单一框架所面临的扩容问题,流量能够分散到各原创 2017-04-30 21:10:38 · 1397 阅读 · 12 评论 -
大型分布式网站的架构提供的各个服务
1)RPC远程调用RPC的全称是RemoteProcess Call,即远程过程调用,它应用广泛,实现方式也很多,拥有包括RMI,webservice等等诸多成熟的方案,在业界得到了广泛的使用.RPC的实现包括客户端和服务端,即服务的调用方以及服务的提供方,服务调用方发送RPC请求到服务提供方,服务提供方根据调用方提供的参数执行请求方法,将执行结果返回给调用方,一次RPC调用完原创 2017-04-30 21:19:10 · 1135 阅读 · 16 评论 -
大型分布式网站的分布式缓存
高并发环境下,大量的读写请求涌向数据库,磁盘的处理速度与内存显然不在一个量级,从减轻数据库的压力和提高系统响应速度两个角度来考虑,一般都会在数据库之前加一层缓存。由于单台机器的内存资源以及承载能力有限,并且,如果大量使用本地缓存,也会使相同的数据被不同的节点存储多份,对内存资源造成较大的浪费,因此,才催生出了分布式缓存。Memcachememcache是一款开源的高性能的分原创 2017-04-30 21:24:41 · 17557 阅读 · 17 评论 -
【一头扎进JMS】(1)----JMS基础
JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持.JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database C原创 2017-04-01 11:10:05 · 930 阅读 · 18 评论 -
Linux下安装Nginx完整教程及常见错误解决方案
1.Nginx安装环境Nginx是C语言开发,建议在linux上运行,本教程使用Centos7.0作为安装环境.1)gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc需要执行的命令:yum install gcc-c++ 2)PCREPCRE(Perl Compatible Regular Expressions)是一原创 2017-03-19 21:16:41 · 20421 阅读 · 23 评论 -
SpringMVC:解决406 not acceptable
最近的项目中使用springMVC,在前台页面中报406 not acceptable的错误.在controller层的代码@RequestMapping("/item/list")@ResponseBody public EUDataGridResult getItemList(Integer page, Integer rows) { EUDataGridResult res原创 2017-03-14 21:45:10 · 1595 阅读 · 23 评论 -
hibernate对JPA_Annotation的支持实例讲解
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.JPA是一种规范,而hibernate是JPA的实现,除了hibernate还有EclipseLink也是JPA的实现.JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问原创 2017-02-17 15:49:15 · 1349 阅读 · 11 评论 -
【hibernate进阶】hql简单属性查询
翻开之前的博客,距离最开始写hibernate进阶专栏的第一篇博客开始,已经有八个多月了,因为最近做的项目在用hql,所以继续完善这个专栏.在今天主要分享hql的简单属性查询,通过查询单个属性和通过五种不同的查询方式来讲解.1.hql单个属性查询首先新建一个Student的JavaBean.package com.hqlquery.hibernate;import java原创 2017-02-03 21:04:38 · 1270 阅读 · 20 评论 -
【SSH进阶】java.lang.IllegalArgumentException: id to load is required for loading
最近在做办公自动化的项目,遇到这样的问题java.lang.IllegalArgumentException: id to load isrequired for loadingStruts Problem ReportStruts has detected an unhandled exception:Messages:• id to load is required for loadingFile:org/hibernate/event/LoadEvent.javaLine number:原创 2016-06-26 19:35:16 · 9775 阅读 · 15 评论 -
【SSH进阶】No result defined for action **的解决方案
最近在做办公自动化的项目,用的框架是SSH,在SSH整合的时候遇到了这样的问题.No result defined for action cn.itcast.oa.view.action.RoleAction and result addUI原创 2016-07-17 21:43:39 · 3214 阅读 · 1 评论 -
Spring 与Struts2整合遇到的问题以及解决方案
最近在做办公自动化的项目,在Spring与Struts2整合的时候遇到了问题,现在将遇到的问题和解决方案分享.问题1:10:53:48,757 ERROR ContextLoader:215 - Context initialization failedorg.springframework.beans.factory.BeanDefinitionStoreException: Unex原创 2016-12-26 15:15:21 · 2509 阅读 · 28 评论 -
Redis的使用
最近的项目中使用了redis,自己负责的模块用到了,看到公众号上发表的文章,忍不住写一篇博客来总结一下自己在项目中是如何使用的.共同学习,共同进步.原创 2016-10-31 23:56:05 · 1299 阅读 · 17 评论 -
java.lang.IllegalArgumentException: The class class ** is not found in EntityFactory.
小编在最近的项目中使用了mongo数据库,刚开始使用的时候,不太上手,对mongo的配置文件不太了解,现在将遇到的问题分享一下,并提供解决方案.解决方案:在mongo的配置文件中,添加的key和value的值.在mongo的配置文件中添加需要注入到mongo里新添加的表就好. 虽然是个很简单的问题,但是在刚开始对配置文件不太熟,原创 2016-10-31 23:48:32 · 3105 阅读 · 24 评论 -
【Restful接口】restful接口的两种使用方式
小编最近的项目是好几个团队的一块合作,由于项目大,功能多,各个团队负责的东西不同,我的团队除了自己的开发前端和后端外,还负责给别的团队提供后端支持,在这里就用上了restful接口. 小编刚开始都是本本分分的做着自己的dubbo接口,后来被分了几个restful接口,之前没有写过restful接口,别人给讲了讲以后开始写dobbo接口的旅程.为什么用restful接口?原创 2016-10-31 23:31:45 · 70003 阅读 · 26 评论 -
【java进阶】随机图片验证码
在项目中经常会见到图片验证码和短信验证码的,小编在最近的项目里负责这部分,那么图片验证码是什么呢?是什么? 图形验证码是验证码的一种。验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用原创 2016-10-31 22:31:27 · 1884 阅读 · 18 评论 -
【SSH网上商城】Incorrect datetime value: '' for column 'pdate' at row 1
【项目说明】在做网上商城的项目的时候,向数据库中插入数据插不进去,显示pdate(pdate为上传商品的日期)的错误,查看了一下数据库中的pdate格式为2014-11-02 20:18:00,需要引用的也都引用了,具体错误提示:【错误提示】ERROR JDBCExceptionReporter:234 - Data truncation: Incorrectd原创 2016-01-16 20:30:23 · 6349 阅读 · 35 评论 -
【SSH】——struts2 拦截器
Struts2拦截器可以说相当于是个过滤器:就是把不想要的或不想显示的内容给过滤掉。拦截器可以抽象出一部分代码可以用来完善原来的action,同时可以减轻代码冗余,提高重用率。原创 2016-01-22 21:37:39 · 1735 阅读 · 29 评论 -
【hibernate进阶】hibernate持久化对象的三种状态
Hibernate持久化对象的三种状态:瞬时对象(Transient Objects),持久化对象(Persist Objects),离线对象(Detached Objects)。三种状态: 瞬时对象(Transient Objects):使用new 操作符初始化的对象不是立刻就持久的。它们的状态是瞬时的,也就是说他们没有任何跟数据库表相关联的行为,只要应用不在引用这些对象(不原创 2016-05-28 20:47:36 · 7777 阅读 · 49 评论 -
【hibernate进阶】hibernate搭建开发环境+实例讲解
本篇博客将带着大家以一个简单的实例来学习hibernate项目。1、创建java项目2、创建User Library,加入依赖包* HIBERNATE_HOME/lib/*.jar* HIBERNATE_HOME/hibernate3.jar* 加入数据库驱动(mysql驱动)具体的操作步骤参考我的上一篇博客:【hibernate进阶】如何在myeclipse中添加ja原创 2016-05-16 07:37:51 · 8323 阅读 · 36 评论 -
【hibernate进阶】如何在myeclipse中添加jar包
这篇博客的目的是为下一篇博客讲解hibernate实例做准备,如何在myeclipse中,向hibernate项目加jar包,分为两种方法:①直接添加②建立本地仓库,把需要的jar包引用进去,再把本地仓库放到项目中。 方法1:直接添加1、右击项目,点击properties2、选择【java build path】,选择【libraries】,点击add e原创 2016-05-15 15:55:31 · 7698 阅读 · 28 评论 -
【hibernate进阶】hibernate基本原理
hibernate作为SSH的持久层,是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。使用Hibernate可以增加开发速度,并且程序员可以花更多的时间来关注业务逻辑。本篇文章主要从hibernate是什么,为什么要用hibernate,以及hibernate的优缺点来介绍hibernate的基本原理。原创 2016-05-08 21:39:10 · 1185 阅读 · 26 评论