随笔分类 -  JavaWeb

摘要:Hibernate主要支持两种查询方式:HQL查询和Criteria查询。前者应用较为广发,后者也只是调用封装好的接口。现在有一个问题,就是实现多表连接查询,且查询结果集不与任何一个实体类对应,怎么解决呢?举个例子:现在有两个表,一个users用户表, 一个goods商品表,每个用户可以有多个商品,而一个商品只能对应一个用户。users表中的字段:userId,userName,telephone,addressgoods表中的字段:goodsId,goodsName,userId现在要实现两表连接查询,查出每个用户所拥有的商品,并把该用户的信息和其商品信息显示出来。使用Hibernate反向 阅读全文
posted @ 2013-03-28 20:35 lihui_yy 阅读(11368) 评论(0) 推荐(2) 编辑
摘要:最近一直在研究S2SH开发框架,把三部分分别看完之后开始整合,发现由于 hibernate 高版本已经又完善了好多功能,导致与之前跟 spring 整合的方法有些出入。先说一下与 hibernate3 整合的时候获取 Session 的办法吧。以检测用户名和密码是否正确为例,数据表是users,所以使用MyEclipse反向生成其所对应的类和.hbm.xml文件分别是Users.java和Users.hbm.xml。我是直接使用 MyEclipse 添加的两个框架,所以系统自动给生成了 applicationContext.xml 配置文件,关于 SessionFactory 的部分如下: 1 阅读全文
posted @ 2013-03-21 10:00 lihui_yy 阅读(18730) 评论(2) 推荐(1) 编辑
摘要:数据库连接池技术的基本原理:由Web容器(如Tomcat)提供数据源对象,在程序中使用 JNDI 技术获得该对象。一般如果自己创建连接的话,用下面的代码获取数据源对象:Context context = new InitialContext();DataSource dataSource = (DataSource)context.lookup("java://comp/env/jdbc/mydb");Connection conn = dataSource.getConnection();这里mydb是要连接到的数据库名,一定要注意 java: 后面有双斜线,否则就会报出 阅读全文
posted @ 2013-03-19 20:04 lihui_yy 阅读(4185) 评论(0) 推荐(0) 编辑
摘要:struts2配置时,在web.xml中的配置如下:1 <filter>2 <filter-name>struts2</filter-name>3 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>4 </filter>5 <filter-mapping>6 <filter-name>struts2</filter-name>7 <url 阅读全文
posted @ 2013-03-14 19:13 lihui_yy 阅读(1008) 评论(0) 推荐(0) 编辑
摘要:Struts2 的表单输入校验有多种方法。1.重写 ActionSupport 类的 validate() 方法。 将需要验证的逻辑写在该方法中,那么当执行该Action的时候会先执行该方法再执行execute()方法。但这个方法有一个缺陷,就是一个表单只能对应一个Action.2.重写 validateXxx 方法。 比如在 LoginAction 类中,我们想有验证login表单和regist表单的两个验证方法,则分别定义 validateLogin() 和 validateRegist() 方法,然后在配置 struts.xml 时指定 action=login 时执行 login(.. 阅读全文
posted @ 2013-03-13 21:00 lihui_yy 阅读(1823) 评论(0) 推荐(0) 编辑
摘要:Struts2 相比 Struts1 而言,不用直接访问 Servlet API, 使得 Action 可以脱离 Web 容器进行测试。那么 Struts2 访问 Servlet API 有三种方式:1.使用 ActionContext 在程序中使用 ActionContext ac = ActionContext.getContext(); 获取到ActionContext的一个实例,然后使用ac.put("key", "value");将信息返回给Web前端。但使用该方法需要在Action类中实现request参数的setter()和getter() 阅读全文
posted @ 2013-03-11 09:46 lihui_yy 阅读(3169) 评论(0) 推荐(0) 编辑
摘要:用php的时候不小心在phpAdmain里把root的密码给改了,而php用的加密算法估计与mysql用的不是一个,导致再进入mysql的时候总是说密码错误。在网上看了好多关于忘记mysql密码的帖子,可能针对不同的情况解决方法上略有差异,不能只看一种说法。针对我这种情况,我是这样解决的:1.打开cmd命令行,输入 net stop mysql 停止当前的mysql服务。2.跳到mysql安装目录下的bin目录下,输入 mysqld --skip-grant-tables 意思是现在可以不用密码登录了。 第一种方法:这时候可以打开mysql的命令行端,打开后是这样: 这时候不用输入密码就可以进 阅读全文
posted @ 2012-10-26 09:10 lihui_yy 阅读(9109) 评论(0) 推荐(2) 编辑
摘要:var xmlRequest; if(window.ActiveXObject){ /*支持IE浏览器*/ xmlRequest = new ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest){ /*支持Firefox, chrome, safari等*/ xmlRequest = new XMLHttpRequest(); ... 阅读全文
posted @ 2012-07-17 19:34 lihui_yy 阅读(269) 评论(0) 推荐(0) 编辑
摘要:这几天按照书上的案例对bbs的搭建多少学了点儿东西。其他的倒是没有什么,书上的编程规习惯很好,值得学习,类的划分和接口的定义对功能扩展提供了很大的方便。在程序中,用到了验证拦截器 AuthenticationInterceptor 。具体代码如下: 1 import java.util.Map; 2 3 import org.model.User; 4 5 import com.opensymphony.xwork2.Action; 6 import com.opensymphony.xwork2.ActionInvocation; 7 import com.opensymphony.xw.. 阅读全文
posted @ 2012-06-05 10:03 lihui_yy 阅读(1925) 评论(0) 推荐(0) 编辑
摘要:最近一直在看一个工程例子,遇到一个问题就是在 jsp 文件中,通常会在 <s:form>标签中使用<s:submit>,而二者均有 action 属性,今天貌似明白了两个之间的区别,但是不知道理解的对不对,若有高手路过还请多指教~~例如,在struts.xml文件中设置了几个action如下:1 <action name="UserLogin" class="org.web.user.UserLoginAction">2 <result name="success" type="re 阅读全文
posted @ 2012-06-04 12:53 lihui_yy 阅读(9723) 评论(0) 推荐(0) 编辑
摘要:Struts2中有时可能会需要使用一个Action来处理多个请求,来提高编码的效率和减少代码量。例如,在登录界面上的表单中可能会有登录和注册两个事件请求,有几种方式可以借鉴:1.采用DMI动态调用方法。 该方法的主要思想是在一个 Action 类中实现多个方法,然后每个 action 请求中表明要调用该类中的哪个方法。使用 actionname!method 方式调用。 (1)LoginAction 类代码如下:View Code 1 package com.main.action; 2 3 import com.opensymphony.xwork2.ActionSupport; 4... 阅读全文
posted @ 2012-05-30 09:19 lihui_yy 阅读(9006) 评论(0) 推荐(0) 编辑
摘要:1.index.jsp 1 <%@ page language="java" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <script type="text/javascript" language="javaScript"> 6 var bgcolor = &# 阅读全文
posted @ 2012-05-24 15:47 lihui_yy 阅读(4543) 评论(0) 推荐(0) 编辑
摘要:1.index.jsp 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <html> 3 <head> 4 <script type="text/javascript" language="javaScript"> 5 var xmlHttp = false; //全局变量,用于记录XMLHttpRequest对象 6 function createX 阅读全文
posted @ 2012-05-23 13:37 lihui_yy 阅读(15486) 评论(0) 推荐(1) 编辑
摘要:1.Bean有两种作用域属性,singleton 和 prototype ,默认为前者。对于singleton,当请求的 Bean 相同时,则不再重新生成新的实例化对象,通常应用程序中的组多组件都只需要一个实例就足够了。而 prototype ,用于每次返回 Bean 的一个新的实例,例如需要获取系统实时时间。<bean id="mydate" class="com.lihui.MyDate" scope="prototype"></bean>2.各种注入方式所有的注入方式在Spring.xml 文件中配置如下 阅读全文
posted @ 2012-05-22 10:53 lihui_yy 阅读(4628) 评论(0) 推荐(1) 编辑
摘要:摘自《JavaWeb开发从初学到精通》P379Spring的IoC容器就是一个实现了BeanFactory接口的可实例化类。事实上,Spring提供了两种不同的容器:一种是最基本的BeanFactory,另一种是扩展的ApplicationContext。BeanFactory 仅提供了最基本的依赖注入支持,而 ApplicationContext 则扩展了BeanFactory ,提供了更多的额外功能。实例化这两种容器时是有区别的:(1)BeanFactoryXmlBeanFactory bFactory = new XmlBeanFactory(new ClassPathResource( 阅读全文
posted @ 2012-05-22 09:03 lihui_yy 阅读(3086) 评论(0) 推荐(1) 编辑
摘要:传统方式:通过接口访问对象必须经过实例化,这样就必然增加了代码之间的耦合度,而其调用时必须了解接口实现类中定义的内容,同时不同意对生成的对象进行管理。容器管理方式:当程序中用到该对象时,依赖容器进行实例化。实现方法调用是只须参考接口中实现的方法。当对象实例后通过容器提供的方法,对生成的对象进行管理,使用完毕后将对该实例对象进行消除。Spring依赖注入的方式有三种:接口注入、设置属性注入、构造方法注入。构造方法注入,在构造期间即创建一个完整、合法的对象。避免了繁琐的setter方法。设置属性注入,通过setter方法设定依赖关系。这种方式简单直观,因而在Spring的注入里大量使用。下面举个例 阅读全文
posted @ 2012-05-18 10:39 lihui_yy 阅读(1452) 评论(0) 推荐(0) 编辑
摘要:Struts2中一共定义了4个主题,分别是simple、xhtml(默认)、css_xhtml、ajax。以下拉列表和移动列表框为例,移动列表框就类似于QQ中选择某些好友上线提醒一样。 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <%@ taglib prefix="s" uri="/struts-tags"%> 3 4 <!DOCTYPE HTML PUBLIC 阅读全文
posted @ 2012-04-09 20:28 lihui_yy 阅读(3733) 评论(0) 推荐(0) 编辑
摘要:数据标签主要包括:action bean data debug i18n include param push set text url property 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <%@page import="com.sun.org.apache.bcel.internal.classfile.Attribute"%> 3 <%@ taglib prefix=&q 阅读全文
posted @ 2012-04-09 19:12 lihui_yy 阅读(913) 评论(0) 推荐(0) 编辑
摘要:Struts2控制标签一共有9个。1. if2. else if 和 else3. append4. generator5. iterator6. merage7. sort8. subset看一下代码就容易理解了: 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8" isELIgnored="true"%> 2 <%@ taglib prefix="s" uri="/struts- 阅读全文
posted @ 2012-04-05 15:57 lihui_yy 阅读(1092) 评论(0) 推荐(0) 编辑
摘要:在jsp代码中:<s:set name="score" value="80"></s:set> <s:if test="${score > 60}"> 你的成绩及格了 </s:if>结果运行之后,网页上出现这么句:According to TLD or attribute directive in tag file, attribute test does not accept any expressions这个是因为不能识别EL表达式出现的问题。在jsp首部 <%@ pag 阅读全文
posted @ 2012-03-30 15:19 lihui_yy 阅读(764) 评论(0) 推荐(0) 编辑