J2EE学习
文章平均质量分 81
Uno2
活泼,开朗,有上进心。善于结交朋友。
展开
-
Spring中Aop的实现方式之一(基于动态代理)
Spring中重要的概念:基于AOP切面编程:(其实就是在方法的前后加入执行代码)切面:Aspect:即由切入点(PointCut)和通知(Advice)切入点:就是需要加入切面代码的地点(通常是某个方法名称,实际中用正则来匹配)。通知:就是切入点发生后要做的事情,比如执行某段代码。首先Spring支持5中通知:(1)Before(前) org.apringframework原创 2016-04-27 16:09:01 · 708 阅读 · 0 评论 -
在web.xml中配置了struts2的filter后访问jsp出现404
刚学stuts2,下午搞了一晚上,一个简单的helloworld搞了半天,各种保存,经过各种尝试,发现在web.xml中只要配了filter在访问jsp或者html后就出现404.后来不经意间发现tomcat启动的时候console输出各种报错,就看了半天,然后发现在工程中没有把jar包拷贝全,现在附上允许struts2需要的基本核心jar包,记得不能少一个,否则各种问题。原创 2016-03-02 00:00:13 · 1787 阅读 · 0 评论 -
在Struts的jsp中使用<s: set> 和 Jstl的<c: set>
或者--------------------------------------------------------------------------------------------------- Welcome ${userSession.userName} 退登或者或者总结:使用jstl设置的属性,要用el的${}或者js原创 2016-04-02 16:36:10 · 1384 阅读 · 0 评论 -
使用Struts实现防止表单重复提交
首先知道引起表单重复提交的原因有2个1: 当用户提交了一个表单,此时,如果跳转时使用dispatcher,则地址栏显示的是处理这个表单的Action的地址,若此时刷新,则会重新发送一次表单数据,即又进行了一次提交,若这个Action是用来处理用户注册的,那么重复提交会再一次向数据库中插入之前已经插入的数据,这显然不是我们想要的。2. 服务器处理时间久。当用户在表单中填完信息,点击“提交原创 2016-04-02 12:19:12 · 395 阅读 · 0 评论 -
jsp中文乱码问题
问题说明:由于浏览器中的参数传递是按字节传送,因此英文和数字不会有任何的问题,而中文汉字则由两个字节组成.1. request.getparameter("name"): 默认采用的按照iso码表取值,所以如果不指定request.setCharacterEncoding("utf-8")就会对中文不适应。那么问题就来了情况1: 1.jsp中 测试中文param2.jsp中如果直接原创 2016-04-02 14:47:47 · 429 阅读 · 0 评论 -
Struts为所有包配置拦截器
想定义拦截器拦截非登陆用户操作,但是我的action分别在不同的package中,那是不是我的拦截器必须要在每个package中都要定义呢? 可不可以定义一个公用的?1. 首先拦截器的范围是package级别的,正常情况下每个package的interceptors是不一样的,除非继承那如何为所有的package下的action都定义一个interceptor呢?答案就是继承。原创 2016-04-02 00:26:14 · 1075 阅读 · 0 评论 -
MyBatis中配置Spring的事物
这里接受下声明式事物(基于IOC的,避免在业务中插入非业务代码,符合spring的设计原则)@Transactional注解使用1. 在springContext.xml中配置 ... xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springfra原创 2016-04-01 20:11:38 · 506 阅读 · 0 评论 -
Struts2的Interceptor中使用includeMethods 和 excludeMethods
excludeMethods表示排除指定的方法,即不对标记为excludeMethods的方法进行拦截;includeMethods表示包含指定的方法,即对标记为includeMethods的方法进行拦截;在struts.xml中关于excludeMethods和includeMethods有两种实现方式,一种相当于全局,即原创 2016-04-20 19:06:05 · 623 阅读 · 0 评论 -
Struts的Action中获取Request和response对象
Struts2利用ServletActionContext维护Servlet对象,把Servlet对象放到了ServletActionContext中,例如request、response、session、applicationServletActionContext利用ThreadLocal维护不同线程的Servlet对象,这种方式叫做非注入式(非IOC)。不推荐使用这种方式,会存在原创 2016-04-02 22:41:07 · 1778 阅读 · 0 评论 -
Struts2中的paramsPrepareParamsStack
false 常常我们在Struts2中,都需要配置一个这个东西,是什么东西呢?先说下正常业务中的情况:Action接受用户提交的表单数据,并封装到bean里面,例如action中有个user对象,如果想要用params拦截器将数据直接封装到user对象中,那么就要在jsp中这么写 而如果我们想在jsp页面直接写并将这个name封装到use原创 2016-04-23 19:30:48 · 1895 阅读 · 0 评论 -
java项目中使用springmvc的调度任务
工作闲了,研究下springmvc的调度任务,只使用了定义普通java类的实现方式:1、定义实现类,由于spring的定时任务需要依赖slf4j,所以要在src下新建log4j.properties文件:log4j.rootLogger=INFO, stdout, logfilelog4j.appender.stdout=org.apache.log4j.ConsoleAppend原创 2016-09-30 14:37:05 · 922 阅读 · 0 评论 -
javaWeb项目中如何将console中的信息输出到文件中
在开发web项目时,有时候一些老项目,对于log4j使用不是规范,造成有些log用的是stdout,这样web启动时,一些信息就会被刷掉,查看起来非常不方便,故此,有时候需要把console的信息保存的文件中:下面就给出一种web项目中的console信息保存到文件的方式:其实就是修改默认的输出流为文件流,只不过要选择一个合适的时机而已下面这就是一个合适的时机:package co原创 2016-12-19 17:40:24 · 4383 阅读 · 1 评论 -
JSP有三种注释方式
1. HTML注释:(会被客户端查看)2. jsp注释:不会被客户端查看3. jsp中java代码注释a. //: 单行注释b. /* */:多行注释c: /*** */文档注释:必须是public的字段和方法上原创 2016-03-16 13:36:49 · 1079 阅读 · 1 评论 -
简单理解 Struts2的PrepareAndExecuteFilter
题外话:web启动时,先加载web.xml,(如果有ServletContxt的Listen)则初始化,然后初始化Struts2的filter,再会加载struts.xml中定义的Interceptor的init方法。ps:如果有对应的Listen,则Listen在Filter调用doFilter之前调用。PrepareAndExecuteFilter:Prepare: 设原创 2016-03-17 14:49:40 · 2399 阅读 · 0 评论 -
Struts2中使用PreResultListener来查看action与jsp执行
1、常识:PreResultListener 是一个监听器接口,它可以在 Action 完成控制处理之后,系统转入实际的物理视图之间被回调。Struts2应用可以为Action、拦截器添加 PreResultListener 监听器,添加PreResultListener 监听器通过 ActionInvocation 的 addPreResultListener() 方法完成。 一旦为原创 2016-04-20 18:18:37 · 641 阅读 · 0 评论 -
hibernate中提倡持久类实现equals()和hashCode()分析
我们知道,在hibernate中如果有一对多或者多对多的关联时,在po中使用set来存储原因是set能保证key不能重复而在数据库中的记录行则对应一个po对象。比如数据库中行+--------+-----------+----------+----------+------+------+------------+---------+------------------------转载 2016-05-10 20:46:14 · 386 阅读 · 0 评论 -
Hibernate 双向一对一关联
本文只介绍实际开发中常用的设计模式(双向一对一关联)其原理只是多对一的一种特例,只需增加一个unique="true"下面看代码:2个实体测试类:Man和Woman;理解为(一个男人可以娶一个女人,一个女人嫁一个男人)package ray.one2one;public class Man { private int id; private String name;原创 2016-04-13 11:21:18 · 440 阅读 · 0 评论 -
Hibernate中多对多的双向映射
首先说明:多对多的关系在Hibernate中使用一个临时表来维护表与表之间的关系下面用一个经典的学生和课程之间的关系来说明:Student类:package ray.many2many;import java.util.HashSet;import java.util.Set;public class Student2 { private int s_id; priv原创 2016-04-13 13:20:39 · 548 阅读 · 0 评论 -
关于使用Hibernate注解的时候遇到的问题
运行测试代码报错:Caused by: org.hibernate.HibernateException: Connection cannot be null when 'hibernate.dialect' not set我的配置信息<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernat原创 2016-04-13 16:49:56 · 350 阅读 · 0 评论 -
Hibernate注解方式多种映射
1、先介绍一对一的映射annotation(Man和Woman)Man.javapackage ray.one2one;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Ge原创 2016-04-13 17:28:46 · 856 阅读 · 0 评论 -
hibernate加载对象(get和load的区别)
在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式:通过session.get()方法和通过session.load()方法,然后其实这两种方法在获得一个实体对象时是有区别的,在查询性能上两者是不同的。一、load加载方式当使用load方法来得到一个对象时,会使用延迟加载的机制来加载这个对象。如果对象不存在,则会抛出ObjectNotFoundExcepti原创 2016-04-14 11:30:33 · 866 阅读 · 0 评论 -
SSH框架搭建
前段时间吧SSM框架搭建了,现在来吧SSH也搭建起来吧。第一、先把Struts整合进来:1. 导入核心jar包commons-fileupload-1.3.1.jar commons-io-2.2.jar commons-lang3-3.2.jar commons-logging-1.1.3.jar freemarker-2.3.22.jar javassist-3.11.0.GA原创 2016-04-15 21:59:35 · 312 阅读 · 0 评论 -
简单理解Hibernate和MyBatis区别
相同点: 1. 都是通过xml建立sessionFactory,mybaits叫(sqlsessonFactory),然后得到session 2. 都有一级缓存和二级缓存,session为一级缓存 hibernate二级缓存为sessionFactory,session共享 myBatis二级缓存为package,不同session可以原创 2016-04-15 23:29:35 · 568 阅读 · 0 评论 -
MyBaits传递多个参数
1.传递一个参数的情况比较容易比如在mapping.xml中有: select * from user where USERNAME=#{username} 那么dao层就需要这么调用:(主要是名称和参数类型要正确)public User Find(String username);2. 传递多个参数的情况:(1)、使用map来传递多个参数:mapping.xml中有:原创 2016-04-17 16:18:36 · 632 阅读 · 0 评论 -
iframe和response.sendRedirect使用的问题
一般使用filter过滤用户是否登录,如果用户没有登陆则转向登陆页面,这时候可以使用response.sendRedirect()。但当在页面上使用了iframe后,发现被重定向的只是父页面中的iframe区域,登陆页面内容显示在该区域中。说明在过滤器中发送重定向请求时,是在iframe页面发送的。错误的代码如下:HttpServletRequest req = (Ht原创 2016-04-17 18:46:04 · 1498 阅读 · 0 评论 -
Struts中实现验证码生成和验证
先看jsp页面: 验证码: <img id="randomCode" title="看不清楚请点击这里" width="70" height="29" alt="验证码" src="randomCode" onclick="reloadcode(this,'${applicationScope.basePath}')"/> function reloadcode(obj原创 2016-04-18 01:10:38 · 521 阅读 · 0 评论 -
Spring定时任务表达式配置说明
字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN-DEC , - * / 星期 1-7 或者 SUN-SAT , - * ? / L C # 年(可选) 留空, 19转载 2017-04-19 11:52:36 · 606 阅读 · 0 评论