注意: dwr 是3.x 的版本 spring 2.5在线等, 完事后给分。。
解决方案 »
- 高手快来,关于打印功能,高分悬赏
- 求struts2+hibernate+poi导出到excel实例
- 请教下大家,在开发项目中对于复杂一点的权限管理。。一般是怎么处理。。
- 转帐失败的原因
- 请问:J2EE开发过程中,可能用到的各种中间件有哪些?
- 怎样读取access的长二进制数据
- Spring中如果属性是对象,怎么注入属性的属性的值
- org.jdom.input.JDOMParseException 是怎么回事?
- 狂送分!!!大伙有在福州工作的吗?能说说在福州找一份JAVA编程的工作都要达到什么程度?!!!
- ejb中的查询问题
- myeclipse 添加Spring支持删除后怎么再添加一次
- oracle sql查询时间
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"><dwr> <allow> <!-- test -->
<create creator="new" javascript="test">
<param name="class" value="com.accp.y2.biz.Test"/>
<include method="test" />
</create>
<!-- IGoods -->
<create creator="spring" javascript="IGoods">
<param name="beanName" value="IGoods"/>
<include method="findAllGoods" />
<include method="addGoods" />
<include method="getSetBid" />
</create>
<!-- IUserinfo -->
<create creator="spring" javascript="IUserInfo">
<param name="beanName" value="IUserInfo"/>
<include method="login" />
<include method="dwrlogin" />
<include method="querySetGoods" />
</create>
<!-- IBid -->
<create creator="spring" javascript="IBid">
<param name="beanName" value="IBid"/>
<include method="addBid" />
<include method="updateBidAndGoods" />
<include method="getMaxPriceGoods" />
</create> <!-- this is a bad idea for live, but can be useful in testing
<convert converter="exception" match="java.lang.Exception"/>
<convert converter="bean" match="java.lang.StackTraceElement"/> -->
<convert converter="bean" match="com.accp.y2.persist.Goods"/>
<convert converter="bean" match="com.accp.y2.persist.Userinfo"/>
<convert converter="bean" match="com.accp.y2.persist.Bid"/>
</allow></dwr>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"> <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/epai"></property>
<property name="username" value="root"></property>
<property name="password" value="accp"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/accp/y2/persist/Userinfo.hbm.xml</value>
<value>com/accp/y2/persist/Bid.hbm.xml</value>
<value>com/accp/y2/persist/Goods.hbm.xml</value></list>
</property>
</bean>
<!-- 1.事务管理器对象 -->
<bean id="myHibTxManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory"
ref="sessionFactory" />
</bean>
<!-- 2.事务通知的对象 .管理什么方法 -->
<tx:advice id="txAdvice" transaction-manager="myHibTxManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="do*" propagation="REQUIRED" />
<tx:method name="*" propagation="SUPPORTS" read-only="true" />
</tx:attributes>
</tx:advice>
<!--3.aop代理:定义了session包下的所有类方法都要用于事务拦截,由txAdvice来处理 B -->
<aop:config>
<!-- 会话业务方法的类包 包名.类名.方法名-->
<aop:pointcut id="bizConfig"
expression="execution(* com.accp.y2.biz.*.*(..))" /><!-- 项目中biz包中的所有接口和类方法都要拦截 -->
<!-- 织入通知: 用A来管理B -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="bizConfig" />
</aop:config>
<!-- DAO -->
<bean id="UserinfoDAO" class="com.accp.y2.persist.UserinfoDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="BidDAO" class="com.accp.y2.persist.BidDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="GoodsDAO" class="com.accp.y2.persist.GoodsDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- biz -->
<bean id="IUserInfo" class="com.accp.y2.biz.UserInfoImpl">
<property name="userinfoDAO" ref="UserinfoDAO" />
</bean>
<bean id="IGoods" class="com.accp.y2.biz.GoodsImpl">
<property name="goodsDAO" ref="GoodsDAO" />
</bean>
<bean id="IBid" class="com.accp.y2.biz.BidImpl">
<property name="bidDAO" ref="BidDAO" />
<property name="userinfoDAO" ref="UserinfoDAO" />
<property name="goodsDAO" ref="GoodsDAO" />
</bean>
<!-- web -->
<bean name="/user" class="com.accp.y2.web.action.UserAction">
<property name="iuserinfo" ref="IUserInfo" />
</bean>
<bean name="/goods" class="com.accp.y2.web.action.GoodsAction">
<property name="igoods" ref="IGoods" />
<property name="iuserinfo" ref="IUserInfo" />
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- dwr -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <!-- This should NEVER be present in live -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>classes</param-name>
<param-value>java.lang.Object</param-value>
</init-param>
</servlet> <servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!--编码过滤器-->
<filter>
<filter-name>EncodeFilter</filter-name>
<filter-class>com.accp.y2.web.action.EncodeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 类型转换器 -->
<servlet>
<servlet-name>UtilDateConverterInitWithServlet</servlet-name>
<servlet-class>com.accp.y2.web.action.UtilDateConverterInitWithServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
<!-- 认识上下文环境 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</context-param>
<!-- 上下文监听器:是否初始化 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.spring.DwrSpringServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">
<dwr:configuration>
<dwr:convert class="com.aaaa.bbbbb.CodeLjd" type="bean"/>
</dwr:configuration>
<bean id="ajaxRoleAction" class="com.cccc.ddddd.TbRoleAction">
<dwr:remote javascript="ajaxRoleAction"/>
</bean>
</beans>
加载web.xml<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:ajaxContext.xml
</param-value>
</context-param>
<script type='text/javascript' src='<%=basePath%>dwr/util.js'></script>function codelist(tableName){
var sel=document.getElementById(tableName);
if(sel.length<=1){
DWREngine.setAsync(false);
ajaxRoleAction.codeList(name, //codeList RoleAction中方法
function (list){ //反回 LIST集合
for(var i=0;i<list.length;i++){
sel.options.length = sel.options.length+1;
var option = new Option(list[i].name,list[i].code,false,true); //name,code ajaxContext.xml 配制bean类的属性
sel.options[sel.options.length-1]= option;
}
}
);
DWREngine.setAsync(true);
}
}