- 浏览: 799451 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (307)
- struts (8)
- hibernate (3)
- spring (32)
- opensourceproject (12)
- javaScript (9)
- primeton EOS (2)
- journey of heart (10)
- Design pattern (6)
- ejb (17)
- point (37)
- Linux&Unix (22)
- ibatis (10)
- AJAX (6)
- DB (26)
- Protocol (6)
- chart (4)
- web server (11)
- webservice (7)
- integration (3)
- tuxedo (5)
- ext (4)
- android (1)
- c/c++ (12)
- JVM (1)
- paginationFrame (2)
- code (2)
- report (1)
- High-performance web (1)
- svn (1)
- JQuery (1)
- workDaily (2)
- cloud (16)
- Python (8)
- English (2)
- shell (5)
- googleCode (1)
- nio (1)
- hyper-v (1)
- debug (3)
- vbs (2)
- openstack (3)
- K8S (1)
- Mesos (0)
- Spark (0)
- Marathon (0)
最新评论
-
钱图大展:
chao2751021 写道lib包哪里去下载,找不到
大型网站用户行为记录的一个实现--基于clickStream(第一部分) -
钱图大展:
无法下载
大型网站用户行为记录的一个实现--基于clickStream(第一部分) -
fm395728572:
shell脚本中用到了环境变量,但是获取不到,例如脚本中有一句 ...
ganymed-ssh2 for Java -
liuhanjiang:
我qq147229234
大型网站用户行为记录的一个实现--基于clickStream(第一部分) -
liuhanjiang:
博主 我利用您提供的方法实现博文中介绍的clickstream ...
大型网站用户行为记录的一个实现--基于clickStream(第一部分)
一个小例子,看看struts1.2.9+spring2.0.6+hibernate3.0.5 是如何整合在一起进行javaweb开发的
一个简单的OA小系统,下面是预览图和项目结构
这个SSH整合的例子,用到了许多经典的整合技巧,能帮助初学者清晰的理解整合的步骤和技巧,我们也可以使用这个框架为模版,来搭建自己SSH的环境。
首先我列出关键的整合步骤
1.建立WEB项目的目录结构
a.strtus的 ActionServlet 配置在web.xml 中
b.将spring的监听器 配置在web.xml
c.字符乱码过滤器 配置在web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <filter> <filter-name>Set Character Encoding</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter> <filter-name>sitemesh</filter-name> <filter-class> com.opensymphony.module.sitemesh.filter.PageFilter </filter-class> </filter> <filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <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> <session-config> <session-timeout>120</session-timeout> </session-config> <!-- The Usual Welcome File List --> <welcome-file-list> <welcome-file>index.do</welcome-file> </welcome-file-list> <jsp-config> <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri> <taglib-location> /WEB-INF/struts-nested.tld </taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri> <taglib-location> /WEB-INF/struts-template.tld </taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri> <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location> </taglib> <taglib> <taglib-uri>sitemesh-page</taglib-uri> <taglib-location> /WEB-INF/sitemesh-page.tld </taglib-location> </taglib> <taglib> <taglib-uri>sitemesh-decorator</taglib-uri> <taglib-location> /WEB-INF/sitemesh-decorator.tld </taglib-location> </taglib> </jsp-config> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app>
2.编写spring的配置文件 applicationContext.xml
a. 配置数据源
b.让spring来管理SessionFactory
c.配置事务
d.配置Hibernate 属性以及映射文件
e.定义DAO和DAO代理
f.根据需要配置AOP
g.定义struts的配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <!-- 配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>12345678</value> </property> </bean> <!-- 配置Hibernate --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource" /> </property> <property name="mappingResources"> <list> <value>com/demo/hibernate/beans/User.hbm.xml</value> <value>com/demo/hibernate/beans/Address.hbm.xml</value> <value>com/demo/hibernate/beans/Schedule.hbm.xml</value> <value>com/demo/hibernate/beans/Worklog.hbm.xml</value> <value>com/demo/hibernate/beans/Sms.hbm.xml</value> <value>com/demo/hibernate/beans/Notice.hbm.xml</value> <value>com/demo/hibernate/beans/Meeting.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean> <!-- 配置事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <!-- 定义DAO --> <bean id="userDAO" class="com.demo.hibernate.dao.UserDAO"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean id="addressDAO" class="com.demo.hibernate.dao.AddressDAO"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean id="scheduleDAO" class="com.demo.hibernate.dao.ScheduleDAO"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean id="worklogDAO" class="com.demo.hibernate.dao.WorklogDAO"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean id="smsDAO" class="com.demo.hibernate.dao.SmsDAO"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean id="noticeDAO" class="com.demo.hibernate.dao.NoticeDAO"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean id="meetingDAO" class="com.demo.hibernate.dao.MeetingDAO"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <!-- 定义DAO代理 --> <bean id="UserDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="target"> <ref local="userDAO" /> </property> <property name="transactionAttributes"> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <bean id="addressDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="target"> <ref local="addressDAO" /> </property> <property name="transactionAttributes"> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <bean id="scheduleDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="target"> <ref local="scheduleDAO" /> </property> <property name="transactionAttributes"> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <bean id="worklogDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="target"> <ref local="worklogDAO" /> </property> <property name="transactionAttributes"> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <bean id="smsDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="target"> <ref local="smsDAO" /> </property> <property name="transactionAttributes"> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <bean id="noticeDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="target"> <ref local="noticeDAO" /> </property> <property name="transactionAttributes"> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <bean id="meetingDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="target"> <ref local="meetingDAO" /> </property> <property name="transactionAttributes"> <props> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> <!-- 定义Struts配置 --> <bean name="/login" class="com.demo.struts.actions.LoginAction"> <property name="userDAO"> <ref local="userDAO" /> </property> </bean> <bean name="/logout" class="com.demo.struts.actions.LogoutAction"> <property name="userDAO"> <ref local="userDAO" /> </property> </bean> <bean name="/register" class="com.demo.struts.actions.RegisterAction"> <property name="userDAO"> <ref local="userDAO" /> </property> </bean> <!-- 定义Struts配置:address --> <bean name="/address" class="com.demo.struts.actions.AddressAction"> <property name="addressDAO"> <ref local="addressDAO" /> </property> </bean> <bean name="/address_add" class="com.demo.struts.actions.AddressAction"> <property name="addressDAO"> <ref local="addressDAO" /> </property> </bean> <bean name="/address_edit" class="com.demo.struts.actions.AddressAction"> <property name="addressDAO"> <ref local="addressDAO" /> </property> </bean> <!-- 定义Struts配置:schedule --> <bean name="/schedule" class="com.demo.struts.actions.ScheduleAction"> <property name="scheduleDAO"> <ref local="scheduleDAO" /> </property> </bean> <bean name="/schedule_add" class="com.demo.struts.actions.ScheduleAction"> <property name="scheduleDAO"> <ref local="scheduleDAO" /> </property> </bean> <bean name="/schedule_edit" class="com.demo.struts.actions.ScheduleAction"> <property name="scheduleDAO"> <ref local="scheduleDAO" /> </property> </bean> <!-- 定义Struts配置:worklog --> <bean name="/worklog" class="com.demo.struts.actions.WorklogAction"> <property name="worklogDAO"> <ref local="worklogDAO" /> </property> </bean> <bean name="/worklog_add" class="com.demo.struts.actions.WorklogAction"> <property name="worklogDAO"> <ref local="worklogDAO" /> </property> </bean> <bean name="/worklog_edit" class="com.demo.struts.actions.WorklogAction"> <property name="worklogDAO"> <ref local="worklogDAO" /> </property> </bean> <!-- 定义Struts配置:sms --> <bean name="/sms" class="com.demo.struts.actions.SmsAction"> <property name="smsDAO"> <ref local="smsDAO" /> </property> </bean> <bean name="/sms_add" class="com.demo.struts.actions.SmsAction"> <property name="smsDAO"> <ref local="smsDAO" /> </property> </bean> <!-- 定义Struts配置:notice --> <bean name="/notice" class="com.demo.struts.actions.NoticeAction"> <property name="noticeDAO"> <ref local="noticeDAO" /> </property> </bean> <bean name="/notice_add" class="com.demo.struts.actions.NoticeAction"> <property name="noticeDAO"> <ref local="noticeDAO" /> </property> </bean> <bean name="/notice_edit" class="com.demo.struts.actions.NoticeAction"> <property name="noticeDAO"> <ref local="noticeDAO" /> </property> </bean> <!-- 定义Struts配置:meeting --> <bean name="/meeting" class="com.demo.struts.actions.MeetingAction"> <property name="meetingDAO"> <ref local="meetingDAO" /> </property> </bean> <bean name="/meeting_add" class="com.demo.struts.actions.MeetingAction"> <property name="meetingDAO"> <ref local="meetingDAO" /> </property> </bean> <bean name="/meeting_edit" class="com.demo.struts.actions.MeetingAction"> <property name="meetingDAO"> <ref local="meetingDAO" /> </property> </bean> <!-- 配置拦截器 --> <bean name="logger" class="com.demo.spring.aop.LoggingInterceptor" /> <!-- 配置拦截器代理 --> <bean name="loggingAutoProxy" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <value>/login</value> <value>/register</value> <value>/address</value> <value>/address_add</value> <value>/address_edit</value> <value>/schedule</value> <value>/schedule_add</value> <value>/schedule_edit</value> <value>/worklog</value> <value>/worklog_add</value> <value>/worklog_edit</value> <value>/sms</value> <value>/sms_add</value> <value>/notice</value> <value>/notice_add</value> <value>/notice_edit</value> <value>/meeting</value> <value>/meeting_add</value> <value>/meeting_edit</value> </list> </property> <property name="interceptorNames"> <list> <value>logger</value> </list> </property> </bean> </beans>
3.配置 struts.xml ,使用spring的处理器(controller)来 处理用户的请求
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <!-- <data-sources> <data-source type="org.apache.commons.dbcp.BasicDataSource"> <set-property property="driverClassName" value="org.gjt.mm.mysql.Driver" /> <set-property property="url" value="jdbc:mysql://localhost:3306/demo" /> <set-property property="username" value="root" /> <set-property property="password" value="" /> <set-property property="maxActive" value="10" /> <set-property property="maxWait" value="5000" /> <set-property property="defaultAutoCommit" value="false" /> <set-property property="defaultReadOnly" value="false" /> <set-property property="validationQuery" value="SELECT COUNT(*) FROM user" /> </data-source> </data-sources> --> <form-beans> <form-bean name="pageForm" type="com.demo.struts.forms.PageForm"> </form-bean> <form-bean name="loginForm" type="com.demo.struts.forms.LoginForm"> </form-bean> <form-bean name="registerForm" type="com.demo.struts.forms.RegisterForm"> </form-bean> <form-bean name="addressForm" type="com.demo.struts.forms.AddressForm"> </form-bean> <form-bean name="scheduleForm" type="com.demo.struts.forms.ScheduleForm"> </form-bean> <form-bean name="worklogForm" type="com.demo.struts.forms.WorklogForm"> </form-bean> <form-bean name="smsForm" type="com.demo.struts.forms.SmsForm"> </form-bean> <form-bean name="noticeForm" type="com.demo.struts.forms.NoticeForm"> </form-bean> <form-bean name="meetingForm" type="com.demo.struts.forms.MeetingForm"> </form-bean> </form-beans> <global-exceptions /> <global-forwards> <forward name="welcome" path="/welcome.do" /> <forward name="login" path="/login.do" /> <forward name="index" path="/login.jsp" /> </global-forwards> <action-mappings> <action path="/index" forward="/login.jsp" /> <action path="/welcome" forward="/welcome.jsp" /> <action path="/login" name="loginForm" scope="request" input="/login.jsp"> <forward name="success" path="/welcome.jsp" /> <forward name="failure" path="/login.jsp" /> </action> <action path="/logout" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="logout" path="/login.jsp" /> </action> <action path="/register" parameter="method" name="registerForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/register.jsp"> <forward name="success" path="/login.jsp" /> <forward name="failure" path="/register.jsp" /> </action> <!-- 通讯录模块 --> <action path="/address" parameter="method" name="pageForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="list" path="/address.jsp" /> </action> <action path="/address_add" parameter="method" name="addressForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/address_add.jsp"> <forward name="list" path="/address.jsp" /> <forward name="add" path="/address_add.jsp" /> </action> <action path="/address_edit" parameter="method" name="addressForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/address_edit.jsp"> <forward name="list" path="/address.jsp" /> <forward name="edit" path="/address_edit.jsp" /> </action> <!-- 日程安排模块 --> <action path="/schedule" parameter="method" name="pageForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="list" path="/schedule.jsp" /> </action> <action path="/schedule_add" parameter="method" name="scheduleForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/schedule_add.jsp"> <forward name="list" path="/schedule.jsp" /> <forward name="add" path="/schedule_add.jsp" /> </action> <action path="/schedule_edit" parameter="method" name="scheduleForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/schedule_edit.jsp"> <forward name="list" path="/schedule.jsp" /> <forward name="edit" path="/schedule_edit.jsp" /> </action> <!-- 工作日志 --> <action path="/worklog" parameter="method" name="pageForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="list" path="/worklog.jsp" /> </action> <action path="/worklog_add" parameter="method" name="worklogForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/worklog_add.jsp"> <forward name="list" path="/worklog.jsp" /> <forward name="add" path="/worklog_add.jsp" /> </action> <action path="/worklog_edit" parameter="method" name="worklogForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/worklog_edit.jsp"> <forward name="list" path="/worklog.jsp" /> <forward name="edit" path="/worklog_edit.jsp" /> </action> <!-- 短消息管理 --> <action path="/sms" parameter="method" name="pageForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="list" path="/sms.jsp" /> </action> <action path="/sms_add" parameter="method" name="smsForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/sms_add.jsp"> <forward name="list" path="/sms.jsp" /> <forward name="add" path="/sms_add.jsp" /> </action> <!-- 公告管理 --> <action path="/notice" parameter="method" name="pageForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="list" path="/notice.jsp" /> </action> <action path="/notice_add" parameter="method" name="noticeForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/notice_add.jsp"> <forward name="list" path="/notice.jsp" /> <forward name="add" path="/notice_add.jsp" /> </action> <action path="/notice_edit" parameter="method" name="noticeForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/notice_edit.jsp"> <forward name="list" path="/notice.jsp" /> <forward name="edit" path="/notice_edit.jsp" /> </action> <!-- 会议管理 --> <action path="/meeting" parameter="method" name="pageForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="list" path="/meeting.jsp" /> </action> <action path="/meeting_add" parameter="method" name="meetingForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/meeting_add.jsp"> <forward name="list" path="/meeting.jsp" /> <forward name="add" path="/meeting_add.jsp" /> </action> <action path="/meeting_edit" parameter="method" name="meetingForm" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" input="/meeting_edit.jsp"> <forward name="list" path="/meeting.jsp" /> <forward name="edit" path="/meeting_edit.jsp" /> </action> </action-mappings> <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" /> <message-resources parameter="com.demo.struts.resources.ApplicationResources" /> <!-- <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" /> </plug-in> --> </struts-config>
详细的代码请下载附件中的项目,用sql脚本,建立库和表已经数据,将项目放在TOMCat下,来验证
- myoa.rar (9.9 MB)
- 下载次数: 341
相关推荐
Struts 1.2.9 + Spring 2.5.6 + iBATIS 2.3.4 + MySQL 3.1 + Tomcat 5.5.26 > 开发环境: * MyEclipse、JDK1.5、J2EE1.4 > 使用技术: * Struts1、Spring、iBATIS > 运行环境: * Window + Tomcat 5.5.26 + ...
struts1.2.9,Hibernate3.3.1,struts-tags,JSTL标签库+EL,对数据库表(test.userinfo)增删改查的完整示例. 未用Eclipse或MyEclipse,几乎纯手工实现,含所需库文件. 欢迎大家下载部署,学习. 2009-12-15
最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1版,使用的是MyEclipse8.0开发,但是问题就随之而来了。MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5...
适合小单位应用的新闻发布系统采用 sql server2000数据库系统,也可以作为教学的小例子。系统只需要初始化管理员数据库,用户信息,新闻版块,及用户权限,由管理员登陆后初始化。登陆用户可查看相应权限新闻。管理...
struts1.2.9,struts开发手册,初学者的导航书!
struts1.2.9完整Jar包。struts1.2.9完整Jar包。
Struts 1.2.9 jar 包及原文件Struts 1.2.9 jar 包及原文件Struts 1.2.9 jar 包及原文件
基于请求驱动的MVC框架Struts1.2.9的源码
流行的基于请求驱动的MVC框架struts1.2.9完整版本
struts1.2.9包下载:http://struts.apache.ort/download.cgi
struts1.2.9 jar包,是struts的基本包
struts1.2.9的jar包 是学习struts1必须质料
struts 1.2.9 完全版本~包括src和bin文件~
struts1.2.9-src.zip
struts1.2.9的lib,jar包 antlr commons-beanutils commons-digester commons-fileupload commons-logging commons-validator jakarta-oro struts
1.struts-1.2.9-lib.zip 2,struts-1.2.9-src.zip
struts1.2.9.jar包 struts1.2.9.jar包
Struts1.2.9API绝对好用API,官方最新发布,中英对照
struts1.2.9英文APIstruts1.2.9英文APIstruts1.2.9英文APIstruts1.2.9英文API