随笔分类 - Java Web
摘要:1. 什么是缓存? 数据库的缓存指的是应用程序和物理数据源之间的数据。即把物理数据源的数据复制到缓存。有了缓存,可以降低应用程序对物理数据源的访问频率,从而提高效率。缓存的介质一般是内存,也可以是硬盘。 Hibernate的缓存有三种类型:一级缓存、二级缓存和查询缓存。 2. 一级缓存 一级缓存即S
阅读全文
摘要:在Hibernate3中获取Session的方法: 前提是类要继承HibernateDaoSupport: 在Hibernate4中,仍然需要继承HibernateDaoSupport,但是不能再this.getSession()了,只能通过SessionFacotry获得Session。首先要获得
阅读全文
摘要:1. 点击File->New->Other,在弹出的对话框中选择Maven->Maven Project: 2. 点击Next,选择maven-archetype-webapp: 3. 填入Group ID和Artifact ID,会自动生成一个包名: 4. 点击Finish,会生成以下的目录: 5
阅读全文
摘要:1. 首先下载apache-maven-3.3.9-bin.zip,并解压; 2. 添加系统变量MAVEN_HOME,值为apache-maven-3.3.9-bin.zip的解压路径: 再在path变量中添加: 3. 输入命令mvn -version检测安装是否成功: 4. 编辑%MAVEN_HO
阅读全文
摘要:首先,在applicationContext.xml文件中加一行: 加上这一行以后,将自动扫描路径下面的包,如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了,类似的还包括@Component、@Reposito
阅读全文
摘要:1. Slf4j的使用 在上一篇随笔:SSH使用Log4j的基础上配置。 (1)导入两个文件:slf4j-api-1.5.8.jar和slf4j-log4j12-1.5.8.jar。 (2)在需要日志的地方写入下面的代码: 第1行代码是通过工厂模式获得一个Logger,第2行代码使用Logger输出
阅读全文
摘要:1. 将Jar文件log4j-1.2.14.jar导入项目。 2. 在src文件夹下新建log4j.properties文件: 该文件设置了日志的级别、目录等信息。 3. 修改web.xml文件,增加下面的语句: applicationConetext.xml文件不需要修改。 4. 在需要输出日志的
阅读全文
摘要:在Spring+Struts+Hibernate中,有时需要使用到Spring上下文。项目启动时,会自动根据applicationContext配置文件初始化上下文,可以使用ApplicationContextAware接口去获得Spring上下文。创建以下的类: 在applicationConte
阅读全文
摘要:5. 添加功能的实现 新建一个Action:RClasAction,实现向Redis添加课程数据,并同步到MySQL。 clas:id是一个List类型的Key-Value,记录了所有的课程ID,取出最后一个ID,再+1,作为增加的课程的ID,同时clas:count的值也要+1。使用addHash
阅读全文
摘要:一个已有的Struts+Spring+Hibernate项目,以前使用MySQL数据库,现在想把Redis也整合进去。 1. 相关Jar文件 下载并导入以下3个Jar文件: commons-pool2-2.4.2.jar、jedis-2.3.1.jar、spring-data-redis-1.3.4
阅读全文
摘要:使用Spring时,通过Spring注入的Bean一般都被定义成private,并且要有getter和setter方法,显得比较繁琐,增加了代码量,而且有时会搞忘造成错误。 可以使用@Autowired注解来减少代码量。首先,在applicationContext中加入: Spring使用这个Bea
阅读全文
摘要:这是由于项目里面的一些包和Tomcat服务器的包重复,并且版本比Tomcat服务器的包低,但是运行时Tomcat服务器会先加载项目里面的包,造成和Tomcat服务器的其他包不匹配,解决的方法就是将重复的包从Tomcat服务器复制到项目里面。
阅读全文
摘要:Gradle是一种自动化建构工具,使用DSL来声明项目设置。通过Gradle,可以对项目的依赖进行配置,并且自动下载所依赖的文件,使得构建项目的效率大大提高。 1. 安装Gradle 下载Gradle的最新版本,并解压,设置环境变量GRADLE_HOME,并且将%GRADLE_HOME%\bin添加
阅读全文
摘要:在Java Web项目中,经常要在项目开始运行时启动一个线程,每隔一定的时间就运行一定的代码,比如扫描数据库的变化等等。要实现这个功能,可以现在web.xml文件中定义一个Listener,然后在这个Listener中启动一个线程,在线程里面实现功能。 1. 自定义Listener 在Struts+
阅读全文
摘要:在SSH项目中,有时需要由一个Action跳转到另一个Action。有两种方式可以实现Action之间的跳转,一种是chain,另一种是redirectAction,这两种方式之间的区别是chain是在服务器上跳转,可以实现不同Action之间的数据共享;而redirectAction是在客户端进行
阅读全文
摘要:Structs2中的Bean默认的是单例,在整个程序运行期间,每个Bean只有一个实例,只要程序在运行,这个实例就一直存在。 对于Action来说,单例就容易出问题。如果客户端每次提交的参数都是一样的,后面提交的值把前面提交的值覆盖了,那问题还不是很大。但是如果存在可选参数的情况,比如上次提交的是参
阅读全文
摘要:在SSH项目的开发中遇到了下面的错误: 检查后发现数据库和映射文件中这个字段是允许为空的,为什么还要出错呢?原来是因为这个字段是int的,int是基本类型,即使设置成可以为空也不能取空值。 解决的办法就是给这个字段赋一个默认值。
阅读全文
摘要:解压Tomcat8.0后,运行service.bat install,结果安装未成功,进入logs文件夹,查看错误日志,提示: 这是因为以前已经安装过Tomcat8.0,再次安装就不行了,解决的办法是打开Service.bat文件,给SERVICE_NAME换一个名字: 然后,再运行service.
阅读全文
摘要:下载Tomcat9.0,解压后安装运行,结果启动失败,进入logs文件夹看里面的日志文件,提示是Unsupported major.minor version 52.0错误,这是因为Tomcat版本过高或者JDK版本过低造成的,安装Tomcat8.0,运行后就不会出现这个错误。
阅读全文