`
文章列表
类型转换 spring提供了供在用户自定义的扩展机制 具体步骤: 第一步:编写自己的类  继承自spring的PropertyEditorSupport类 public class UtilDatePropertyEditor extends PropertyEditorSupport { private String format = "yyyy-MM-dd"; public void setAsText(String dateText) throws IllegalArgumentException { SimpleDateFormat sdf ...
拦截器:老的拦截器 配置: 第一步:自定义的拦截类 public class MyInterceptor extends EmptyInterceptor { public boolean onSave(Object entity, Serializable id, Object[] state, String[] propertyNames, Type[] types) { if (entity instanceof Team) { Team t = (Team)entity ; System.out.println(t.getName() + " ...
悲观锁: 配置:  Person p = (Person)session.load(Person.class, 2, LockMode.UPGRADE) ; 相当于发出一条sql语句并锁定该语句 . 9. 乐观锁机制 如何配置: 第一步:在person.hbm.xml中 <class name="com.cs.Person" table="t_PERSON" optimistic-lock="version" > <id name="id" column="PERSON ...
hibernate二级缓存,属于sessionFactory的级别,是全局缓存,它的生命周期和sessionFactory一致 配置步骤: 1: 要使用二级缓存<property name="hibernate.cache.use_second_level_cache">true</property>      2:使用哪个缓存提供商<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prope ...
hibernate优化 (1) Lazy Load     在Lazy Load 上推介不要什么字段都采用Lazy Load方式。对于一些基本属性建议将其Lazy设置为false ,而对于一些可能消耗大量内存的字段,如clob这样的字段,建议设置为true,对于集合则全部设置为lazy=tr ...
Struts的体系结构? Struts是基于MVC架构的开放源代码的应用架构,也是web开发中比较成熟的一种架构 通过把Servlet ,jsp,JavaBean,自定义标签和信息资源整合到一个统一的框架中,为web开发提供了具有高可配置性的MVC的开发模式。 Model由代表系统状态和商业逻辑action来构建 View由Jsp和Struts提供的自定义标签来实现 Controller负责控制流程,由ActionServlet和ActionMapping来完成。 开发工作蛀牙包括4个部分: (1)视图: 主要由Jsp建立,Struts自身包含了一组可扩展的自定义标签,可以简化创建用户界面的 ...
Hibernate: 优点: 1: hibernate是基于ORMapping技术的开源的框架,对JDBC进行了轻量级的封装,使用面向对象的思维来操纵数据库。 2:hibernate提供了session缓存和二级缓存,对于不需要进行复杂查询的系统,性能有提升。 3:低侵入式设计 缺点: 1:hibernate学习成本太高。 2:不适合有复杂的sql查询(统计) 。 3:不适合大量的聚集操作,(存储过程) Hibernate的优缺点: 1、不需要编写的SQL语句(不需要编辑JDBC),只需要操作相应的对象就可以了,就可以能够存储、更新、删除、加载对象,可以提高生产效; 2、因为使用Hibern ...
  页面重复提交产生原因: 页面提交信息给Action进行业务处理,Action再传回前台页面,但该页面还是原来的那个页面,前台 刷新,就会造成重复提交 解决办法: 1:token机制 2:在forward时设置客户端跳转 token原理: 1:saveToken:产生一个和时间相关的字符串,struts把该字符串放到session中,并且使用struts的<html:form>标签时会自动产生一个隐藏域就是该Token 2:isTokenValid:当前session中的token值和request过来的值是否匹配
    如何解决同一个action中的增删改查 第一种方法:mappingDispatcherAction  ,现在已经不推介使用 第二种方法:DispacherAction  推介使用     配置:        <action             path="/user"             type="com.cs.action.UserDispatcherAction"             name="userActionForm"         parameter="method&qu ...
    类型转换: 问题:表单提交过去的都是String类型,如何转换为formbean中的类型? struts针对大多数类型都支持,如果是自定义的类型该如何处理 方法1:写一个servlet在init方法中注册,容器一加载就注册 方法2:写一个自己的action继承ActionServlet , 覆盖actionServlet的initOther()方法       第一步,调用父类的initOther()方法       第二步:添加自己的注册 如:      protected void initOther() throws ServletException { super.i ...
1:struts上传 jsp: <form action="fileup.do" method="post" enctype="multipart/form-data" >   标题:<input type="text" name="title"  /><br>   文件:<input type="file" name="upfile"  /><br>   <input type=& ...
struts国际化的步骤: 1:在配置文件中<message-resources parameter="res.MessageResources" /> 2:在指定目录下,创建指定的前缀为文件名+语言代码+国家代码.properties文件 3:在页面上使用 <bean:message key="key-value" /> 插件安装方法: 1:把插件的features和plugin下的内容拷贝到MyEclipse安装目录下的Eclipse目录下对应的features和plugin目录下。 2:把MyEclipse安装目录下的Ecl ...
ActionForm: 1:默认情况,ActionServlet会把ActionForm的实例存入session范围,key值就是<action配置中的name />   在scope为request的时候,userActionForm会被放到request的attribute中,注意重定向之后,就取不到了   ActionServlet会把ActionForm的实例存入request或session中的时候,回去检查是否配置了   attribute,如何配置了,则属性的key值就是配置的attribute的值,如果没有,默认使用name配置。     ActionForm: 1 ...
struts的工作流程: 1:容器启动,ActionServlet启动, 并且读取/WEB-INF/struts-config.xml,主要包括action,formbean,path等等,并且生成Mappings 2:ActionServlet等待***.do的请求过来,根据xxx找到需要那个Action来处理它,同时填充对应的ActionForm 3:根据xxx对应的Action,找到它,调用它,并且把对应的FormBean以参数的形式传给他 4:调用下一层的类的逻辑方法处理业务逻辑 5:根据业务逻辑,返回合适的ActionForwrd(对应配置中的forword) 6:在ActionSe ...
struts1的优缺点: 优点: 1:stuts1通过ActionForm能方便的帮助我们收集和验证页面的表单数据 2:struts1的实现了可配置路径跳转。 3:struts1基于MVC模式,能规范我们的开发行为。 缺点: 1:struts1的缺点,属于侵入式设计,它和servlet耦合非常严重。 2:action和web层耦合严重,测试麻烦。 3:标准的struts的action不是线程安全的。但struts1的action是线程安全的
Global site tag (gtag.js) - Google Analytics