struts-co
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>web</display-name>
<context-param>
<param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext-hibernate.xml,/WEB-INF/applicationContext.xml,/WEB-INF/applicationContext-status.xml</param-value>
</context-param>
<filter>
<filter-name>downloadFilter</filter-name>
<filter-class>com.cnpec.ims.tm.web.filter.DownloadFilter</filter-class>
</filter>
<filter>
<filter-name>EncoderFilter</filter-name>
<filter-class>com.cnpec.ims.tm.web.filter.EncodeFilter</filter-class>
</filter>
<filter>
<filter-name>tmsFilter</filter-name>
<filter-class>com.cnpec.ims.tm.web.filter.TMSFilter</filter-class>
</filter>
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>downloadFilter</filter-name>
<url-pattern>/upload/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>downloadFilter</filter-name>
<url-pattern>/column/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>*.xhtm</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>EncoderFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-->
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/column/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.xhtm</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/dwr/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/auth/usrauth/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>tmsFilter</filter-name>
<url-pattern>/column/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>tmsFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>tmsFilter</filter-name>
<url-pattern>*.xhtm</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>tmsFilter</filter-name>
<url-pattern>/dwr/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>tmsFilter</filter-name>
<url-pattern>/auth/usrauth/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<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,/WEB-INF/struts-config-auth.xml,/WEB-INF/struts-config-res.xml,/WEB-INF/struts-config-act.xml,/WEB-INF/struts-config-plana.xml,/WEB-INF/struts-config-planb.xml,/WEB-INF/struts-config-authb.xml,/WEB-INF/struts-config-synth.xml,/WEB-INF/struts-config-re.xml,/WEB-INF/struts-config-report.xml,/WEB-INF/struts-config-enquiry.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>FindStaff</servlet-name>
<servlet-class>com.cnpec.ims.tm.web.servlet.p1604.FindStaff</servlet-class>
</servlet>
<servlet>
<servlet-name>FindDeptPost</servlet-name>
<servlet-class>com.cnpec.ims.tm.web.servlet.p1604.FindDeptPost</servlet-class>
</servlet>
<servlet>
<servlet-name>CourseIfm</servlet-name>
<servlet-class>com.cnpec.ims.tm.web.servlet.p1601.CourseIfm</servlet-class>
</servlet>
<servlet>
<servlet-name>DeptIframe</servlet-name>
<servlet-class>com.cnpec.ims.tm.web.servlet.base.DeptIframe</servlet-class>
</servlet>
<servlet>
<servlet-name>HelpServlet</servlet-name>
<servlet-class>com.cnpec.ims.tm.web.servlet.help.HelpServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.xhtm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>FindStaff</servlet-name>
<url-pattern>/auth/usrauth/findStaff</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>FindDeptPost</servlet-name>
<url-pattern>/auth/usrauth/findDeptPost</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CourseIfm</servlet-name>
<url-pattern>/res/materialmgr/courseifm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DeptIframe</servlet-name>
<url-pattern>/deptiframe</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HelpServlet</servlet-name>
<url-pattern>/help/helpServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list>
<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>
<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-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>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core_rt</taglib-uri>
<taglib-location>/WEB-INF/c-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/xml</taglib-uri>
<taglib-location>/WEB-INF/x.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/xml_rt</taglib-uri>
<taglib-location>/WEB-INF/x-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt_rt</taglib-uri>
<taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
<taglib-location>/WEB-INF/sql.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql_rt</taglib-uri>
<taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/taglibs-string.tld</taglib-uri>
<taglib-location>/WEB-INF/taglibs-string.tld</taglib-location>
</taglib>
</web-app>
config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="staffTrainDeptActionForm" type="com.cnpec.ims.tm.web.form.p1601.StaffTrainDeptActionForm" />
<form-bean name="staffForm" type="com.cnpec.ims.tm.web.form.p1601.StaffActionForm" />
</form-beans>
<action-mappings>
<action name="staffTrainDeptActionForm" path="/res/staffTrainDept/staffTrainDeptAction"
type="org.springframework.web.struts.DelegatingActionProxy" validate="false" scope="request" parameter="method" >
<forward name="list" path="/res/staffTrainDept/list.jsp"/>
<forward name="add" path="/res/staffTrainDept/add.jsp"/>
<forward name="modify" path="/res/staffTrainDept/modify.jsp"/>
</action>
<action name="staffForm" path="/res/staff/staff" parameter="method"
type="org.springframework.web.struts.DelegatingActionProxy" scope="request" validate="true">
<forward name="list" path="/res/staff/StaffList.jsp" />
<forward name="info" path="/res/staff/StaffInfo.jsp" />
<forward name="update" path="/res/staff/staff.do?method=info" />
<forward name="view" path="/res/staff/StaffView.jsp" />
<forward name="query" path="/res/staff/StaffIfrm.jsp" />
</action>
</action-mappings>
<controller processorClass="com.cnpec.ims.tm.web.action.ImstmRequestProcessor"/>
<!-- spring -->
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/action-servlet.xml"/>
</plug-in>
<plug-in className="com.cnpec.ims.tm.service.util.Init"/>
</struts-config>
action-servlet.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean name="/res/staffTrainDept/staffTrainDeptAction" class="com.cnpec.ims.tm.web.action.p1601.StaffTrainDeptAction" singleton="false">
<property name="staffTrainDeptManager"><ref bean="staffTrainDeptManager"/></property>
</bean>
</beans>
applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- Transaction template for Managers -->
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager"><ref bean="transactionManager"/></property>
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="store*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="agree">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="disAgree">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="apply*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="dbManager" parent="txProxyTemplate">
<property name="target">
<bean class="com.cnpec.ims.tm.service.manager.DBManager">
<property name="dbDao"><ref bean="dbDao"/></property>
<property name="businessDAO"><ref bean="businessDAO"/></property>
<property name="basedao"><ref bean="basedao"/></property>
<property name="teacherManager"><ref bean="teacherManager"/></property>
</bean>
</property>
</bean>
<bean id="staffTrainDeptManager" parent="txProxyTemplate">
<property name="target">
<bean class="com.cnpec.ims.tm.service.manager.p1601.impl.StaffTrainDeptManagerImpl">
<property name="staffTrainDeptDAO"><ref bean="staffTrainDeptDAO"/></property>
</bean>
</property>
</bean>
</beans>
applicationContext-hibernate.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="propertyConfigurer" lazy-init="true" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location"><value>/WEB-INF/classes/jdbc.properties</value></property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>${jdbc.driverClassName}</value></property>
<property name="url"><value>${jdbc.url}</value></property>
<property name="username"><value>${jdbc.username}</value></property>
<property name="password"><value>${jdbc.password}</value></property>
</bean>
<!-- JNDI DataSource for J2EE environments -->
<!--
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName"><value>IMSGTMS</value></property>
</bean>
-->
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor"><ref local="nativeJdbcExtractor" /></property>
</bean>
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.WebLogicNativeJdbcExtractor" lazy-init="true" />
<!-- Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource"><ref local="dataSource"/></property>
<property name="lobHandler"><ref local="oracleLobHandler" /></property>
<property name="mappingResources">
<list>
<value>com/cnpec/ims/tm/model/AllFilterDef.hbm.xml</value>
<value>com/cnpec/ims/tm/model/Allowance.hbm.xml</value>
<value>com/cnpec/ims/tm/model/Approveflowdetail.hbm.xml</value>
<value>com/cnpec/ims/tm/model/StaffTrainDept.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.query.factory_class">${hibernate.factory.class}</prop>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show.sql}</prop>
<prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch.size}</prop>
<prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch.size}</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory"><ref local="sessionFactory"/></property>
</bean>
<!-- base dao -->
<bean id="basedao" class="com.cnpec.ims.tm.dao.base.hibernate.BaseDaoImpl">
<property name="sessionFactory"><ref local="sessionFactory"/></property>
</bean>
<bean id="staffTrainDeptDAO" class="com.cnpec.ims.tm.dao.p1602.hibernate.StaffTrainDeptDAOImpl">
<property name="dao"><ref bean="basedao"/></property>
</bean>
</beans>
src/jdbc.properies
# Properties file with JDBC-related settings.
# Applied by PropertyPlaceholderConfigurer from "applicationContext-*.xml".
# Targeted at system administrators, to avoid touching the context XML files.
#mysql
#jdbc.driverClassName=com.mysql.jdbc.Driver
#mysql
#jdbc.url=jdbc:mysql:///petclinic
#oracle
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:oracle:thin:@host:1521:oracle10
#jdbc.username=ims
#jdbc.password=ims
jdbc.url=jdbc:oracle:thin:@11.11.16.21:1521:yy
jdbc.username=user
jdbc.password=pass
# Property that determines the Hibernate dialect
# (only applied with "applicationContext-hibernate.xml")
#mysql
#hibernate.dialect=org.hibernate.dialect.MySQLDialect
#oracle
#hibernate.dialect=org.hibernate.dialect.OracleDialect
hibernate.dialect=com.cnpec.ims.tm.Oracle10Dialect
#
#hibernate factory class
hibernate.factory.class=org.hibernate.hql.classic.ClassicQueryTranslatorFactory
##
#hibernate show sql
hibernate.show.sql=true
##
#hibernate jdbc fetch size
hibernate.jdbc.fetch.size=50
hibernate.jdbc.batch.size=30
src/log4j.properties
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
log4j.rootLogger=WARN, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=tms.log
log4j.appender.logfile.MaxFileSize=5120KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.logger.com.cnpec.ims.tm = WARN
src/conf.properties
##授权类别
kind.common=C
kind.plan=P
kind.emergency=E
kind.attach=A
##
#page size
page.size=20
##
#session的存在时间
session.max.active=7200
##
#ftp server
ftp.rootpath=/upload
ftp.hostname=host
ftp.port=21
ftp.userid=ftp
ftp.password=ftp
##
#http server
http.hostname=11.11.11.11
##
#mail server test
smtp.hostname=host
smtp.username=name
smtp.password=password
smtp.suffix=@gr.com
web.server=http://localhost:7001/tm
## super system manager
super.user.name=super
super.user.pass=password
dwr.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="spring" javascript="dwrManager">
<param name="beanName" value="dwrManager"/>
<include method="getStaffsByShortcutNo"/>
<include method="getPlanNoFromImpl"/>
<include method="getPlanNoFromMonthplan"/>
<include method="getPlanNoFromMonthplanByCid"/>
<include method="getGrade"/>
<include method="isStaffExist"/>
</create>
<convert converter="bean" match="com.cnpec.ims.tm.web.form.p1607.ProjectActionForm"/>
<convert converter="bean" match="com.cnpec.ims.tm.web.form.p1607.NetClassQuestionForm"/>
<convert converter="bean" match="com.cnpec.ims.tm.model.CourseSimple"/>
</allow>
</dwr>