第一篇 Hibernate实用技术

Size: px
Start display at page:

Download "第一篇 Hibernate实用技术"

Transcription

1 Spring Spring 1 Spring Spring Spring Spring Spring Spring Spring Spring...5

2 2.1.1 JDK JDK Path Classpath Eclipse Eclipse Tomcat TOMCAT_HOME Eclipse Tomcat Eclipse Tomcat Spring Spring Eclipse Spring Spring HelloWorld HelloWorld Java HelloWorld.java Spring config.xml TestHelloWorld.java Spring Hello.java ChHello EnHello Spring config.xml TestHelloWorld.java Spring 3 Spring / IoC DI interface...25 injection Set setter injection constructor...26 injection 3.3 HelloWorld HelloWorld.java config.xml TestHelloWorld.java

3 4 Spring Bean Bean Bean id name Bean class Singleton Bean null depend-on Bean Bean Bean Bean Bean Bean ref local bean parent Bean byname bytype constructor autodetect no Bean simple object all none List Set Map Properties Bean BeanWrapper Bean BeanFactory Bean ApplicationContext Bean...58

4 Bean ApplicationContext Spring AOP AOP AOP AOP OOP AOP Java Java Java AOP Pointcut Advice Advisor Spring 3 Pointcut Spring Advice Interception Around Before After Returning Throw Introduction Spring Advisor ProxyFactoryBean AOP ProxyFactoryBean ProxyFactoryBean Spring AOP Interception Around Before After Returning Throw Spring AOP Java CGLIB Spring...97

5 5.11 Spring AOP Advice ExceptionHandler.java Advice TimeHandler.java LogicInterface.java Logic1.java Logic2.java config.xml Logic1 TestAop.java Logic Logic2 TestAop.java Logic ProxyFactoryBean config.xml Logic1 TestAop.java ProxyFactoryBean Logic Logic2 TestAop.java ProxyFactoryBean Logic Spring JDBC Spring Spring Spring Jdbc XML DataSource Spring DriverManagerDataSource DBCP Tomcat JNDI JdbcTemplate Template TransactionTemplate JdbcTemplate...137

6 7.3.4 JdbcTemplate JdbcTemplate ORM ORM Hibernate ibatis Spring Web Web MVC MVC MVC MVC Model Model Spring MVC Jsp HelloWord Spring MVC Web.xml jsp index.jsp HelloWorldAction.java Spring dispatcherservlet-servlet.xml Tomcat index.jsp jstl dispatcherservlet-servlet.xml Log4j Spring MVC ModelAndView Jstl Spring MVC Controller Controller SimpleFormController MultiActionController Spring MVC DispatcherServlet Web DispatcherServlet

7 Validator cookie Spring MVC Eclipse Tomcat mymvc mymvc/web-inf/src web.xml login.jsp success.jsp Bean UserValidator.java Login.java dispatcherservlet-servlet.xml Spring Timer Quartz Spring Spring Timer Spring Quartz Spring 10 Spring Struts Struts Struts Struts...228

8 10.2 Struts Struts Struts Jsp HelloWord Struts web.xml jsp index.jsp HelloWorldAction.java Struts struts-config.xml Tomcat Struts ActionServlet Action Action Mapping ActionForm DispatchAction Struts Bean Logic Html Spring Struts Spring ActionSupport Spring DelegatingRequestProcessor Spring DelegatingActionProxy Spring Struts web.xml regedit.jsp success.jsp User.java Struts struts-config.xml Spring config.xml RegeditAction.java Regedit.java RegeditImpl.java Spring Hibernate Hibernate Hibernate Hibernate Hibernate...279

9 11.3 Hibernate POJO POJO Xml Hibernate Hibernate Hibernate Hibernate POJO Hibernate Configuration Hibernate SessionFactory Session Session Connection xml Spring Hibernate Hibernate-Context.xml Struts Spring Hibernate Spring Struts Hibernate web.xml regedit.jsp success.jsp User.hbm.xml POJO UserDAO.java UserDAOImpl.java Struts struts-config.xml Spring config.xml RegeditAction.java Regedit.java RegeditImpl.java Spring Ant Ant Ant Ant Ant Spring Ant Eclipse Ant...353

10 build.xml Ant Spring Junit Junit Junit Junit Junit Spring Junit Eclipse Junit TestCase Junit Junit Ant Junit build.xml Ant Spring 14 Spring JDK Tomcat Ant Eclipse mynews Eclipse Ant build Web.xml UML Jsp show.jsp release.jsp regedit.jsp login.jsp error.jsp...392

11 14.6 xml POJO xml POJO VO DAO User.java UsersAuthor.java News.java NewsType.java DAO UserDAO.java DAO NewsDAO.java DAO NewsTypeDAO.java DAO UserDAOImpl.java DAO NewsDAOImpl.java DAO NewsTypeDAOImpl.java Login.java Regedit.java Release.java LoginImpl.java RegeditImpl.java ReleaseImpl.java LoginController.java RegeditController.java ReleaseController.java ShowController.java NewsUtil.java dispatcherservlet-servlet.xml

12 7 Spring 6 Spring Spring Spring 7.1 Jdbc Jdbc JDBC //******* TimeBook.java************** Public Class HelloWorld { Connection conn =null; Statement stmt = null; try { // Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); conn = DriverManager.getConnection(jdbc:microsoft:sqlserver://localhost:1433/stdb, admin, admin); // conn.setautocommit(false); stmt = conn.createstatement(); // stmt.executeupdate("insert into hello values(1, gf, HelloWorld )'"); // conn.commit(); catch (SQLException e) { if (conn!= null) { try { // conn.rollback(); catch (SQLException ex) { System.out.println( + ex); finally { if (stmt!= null) { try { stmt.close(); catch (SQLException ex) { System.out.println( + ex); if (conn!= null) { try {

13 conn.close(); catch (SQLException ex) { System.out.println( + ex); Jdbc Spring Jdbc hello 3 id name msg id XML DataSource Spring 3 Xml DataSource Spring DriverManagerDataSource DBCP Tomcat JNDI Spring DriverManagerDataSource 6 DataSource Spring DriverManagerDataSource DriverManagerDataSource Jdbc DriverManagerDataSource <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <! datasource --> <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <property name="driverclassname"> <value>com.microsoft.jdbc.sqlserver.sqlserverdriver</value> <property name="url"> <value>jdbc:microsoft:sqlserver://localhost:1433/stdb</value> <property name="name"> <value>admin</value> <property name="msg"> <value>admin</value> </bean> <! transactionmanager --> <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager">

14 <property name="datasource"> <ref bean="datasource"/> </bean> <! DAO --> <bean id="hellodao" class="com.gc.action.hellodao"> <property name="datasource"> <ref bean="datasource"/> <property name="transactionmanager"> <ref bean="transactionmanager"/> </bean> </beans> id hellodao Bean 6 HelloDAO.java //******* HelloDAO.java************** package com.gc.action; import javax.sql.datasource; import org.springframework.jdbc.core.*; import org.springframework.transaction.*; import org.springframework.transaction.support.*; import org.springframework.dao.*; public class HelloDAO { private DataSource datasource; private PlatformTransactionManager transactionmanager; public void setdatasource(datasource datasource) { this.datasource = datasource; public void settransactionmanager(platformtransactionmanager transactionmanager) { this.transactionmanager = transactionmanager; public int create(string msg) { TransactionTemplate transactiontemplate = new TransactionTemplate(transactionManager); Object result = transactiontemplate.execute( new TransactionCallback() { public Object dointransaction(transactionstatus status) { // );. // resultobject return resultobject;

15 7.2.2 DBCP Spring DBCP DBCP Spring DBCP spring-framework-2.0-m1\lib\jakarta-commons commons-collections.jar commons-dbcp.jar commons-pool.jar ClassPath DBCP <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <! datasource --> <bean id="datasource" class="org.apache.commons.dbcp.basicdatasource" destroy-method="close"> <! sqlserver --> <property name="driverclassname"> <value>com.microsoft.jdbc.sqlserver.sqlserverdriver</value> <! Url --> <property name="url"> <value>jdbc:microsoft:sqlserver://localhost:1433/stdb</value> <! --> <property name="name"> <value>admin</value> <! --> <property name="msg"> <value>admin</value> </bean> <! transactionmanager --> <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="datasource"> <ref bean="datasource"/> </bean> <! DAO --> <bean id="hellodao" class="com.gc.action.hellodao"> <property name="datasource"> <ref bean="datasource"/> <property name="transactionmanager"> <ref bean="transactionmanager"/> </bean> </beans> HelloDAO

16 7.2.3 Tomcat JNDI DBCP Spring Web Web Tomcat Spring Tomcat JNDI Tomcat server.xml <Context path="/myapp" reloadable="true" docbase="d:\eclipse\workspace\myapp" workdir="d:\eclipse\workspace\myapp\work" > <Resource name="jdbc/opendb" auth="container" type="javax.sql.datasource" factory="org.apache.tomcat.dbcp.dbcp.basicdatasourcefactory" driverclassname="com.microsoft.jdbc.sqlserver.sqlserverdriver" url=" jdbc:microsoft:sqlserver://localhost:1433/stdb" <! --> name="admin" <! --> msg="admin" <! --> maxactive="10000" <! --> maxidle="10000" <! --> maxwait="10000" removeabandoned="true" removeabandonedtimeout="10" logabandoned="true" /></Context> Spring <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <! datasource --> <bean id="datasource" class="org.springframework.jndi.jndiobjectfactorybean"> <property name="jndiname"> <value>jdbc/opendb</value> </bean> <! transactionmanager --> <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="datasource"> <ref bean="datasource"/> </bean> <! DAO --> <bean id="hellodao" class="com.gc.action.hellodao"> <property name="datasource"> <ref bean="datasource"/>

17 <property name="transactionmanager"> <ref bean="transactionmanager"/> </bean> </beans> HelloDAO 3 DataSource Jdbc Spring Jdbc 7.3 JdbcTemplate JdbcTemplate Template Spring TransactionTemplate JdbcTemplate Template Template 1 Transaction Transaction.java //******* Transaction.java************** public abstract class Transaction{ // public Object execute() throws TransactionException { this.transactionmanager.gettransaction(this); Object result = null; try { result = dointransaction(); catch (Error err) { // Transactional code threw error -> rollback this.transactionmanager.rollback(this); throw err; this.transactionmanager.commit(this); return result; // Public abstract Object dointransaction (); 2 SubTransaction SubTransaction.java

18 //******* SubTransaction.java************** public class SubTransaction extends Transaction { // Public Object dointransaction () { // 3 SubTransaction. Execute TransactionTemplate Spring Template Spring 1 TransactionTemplate //******* TransactionTemplate.java************** public class TransactionTemplate extends DefaultTransactionDefinition implements InitializingBean{ // public Object execute(transactioncallback action) throws TransactionException { TransactionStatus status = this.transactionmanager.gettransaction(this); Object result = null; try { result = action.dointransaction(status); catch (RuntimeException ex) { // Transactional code threw application exception -> rollback rollbackonexception(status, ex); throw ex; catch (Error err) { // Transactional code threw error -> rollback rollbackonexception(status, err); throw err; this.transactionmanager.commit(status); return result; // private void rollbackonexception(transactionstatus status, Throwable ex) throws TransactionException { try { this.transactionmanager.rollback(status);

19 catch (RuntimeException ex2) { throw ex2; catch (Error err) { throw err; TransactionTemplate execute execute TransactionCallback dointransaction 2 TransactionCallback TransactionCallback.java //******* TransactionCallback.java************** public interface TransactionCallback { Object dointransaction(transactionstatus status); 3 TransactionCallback dointransaction //******* HelloDAO.java************** package com.gc.action; import javax.sql.datasource; import org.springframework.jdbc.core.*; import org.springframework.transaction.*; import org.springframework.transaction.support.*; import org.springframework.dao.*; public class HelloDAO { private DataSource datasource; private PlatformTransactionManager transactionmanager; public void setdatasource(datasource datasource) { this.datasource = datasource; public void settransactionmanager(platformtransactionmanager transactionmanager) { this.transactionmanager = transactionmanager; public int create(string msg) { TransactionTemplate transactiontemplate = new TransactionTemplate(transactionManager); Object result = transactiontemplate.execute( new TransactionCallback() { public Object dointransaction(transactionstatus status) { //

20 );. // resultobject return resultobject; HelloDAO create TransactionCallback dointransaction Spring JdbcTemplate Template JdbcTemplate JdbcTemplate JdbcTemplate Jdbc JdbcTemplate Template TransactionTemplate JdbcTemplate //******* JdbcTemplate.java************** public class JdbcTemplate extends JdbcAccessor implements JdbcOperations { // public Object execute(connectioncallback action) throws DataAccessException { Connection con = DataSourceUtils.getConnection(getDataSource()); try { Connection contouse = con; if (this.nativejdbcextractor!= null) { // Extract native JDBC Connection, castable to OracleConnection or the like. contouse = this.nativejdbcextractor.getnativeconnection(con); else { // Create close-suppressing Connection proxy, also preparing returned Statements. contouse = createconnectionproxy(con); return action.doinconnection(contouse); catch (SQLException ex) { // Release Connection early, to avoid potential connection pool deadlock // in the case when the exception translator hasn't been initialized yet. DataSourceUtils.releaseConnection(con, getdatasource()); con = null; throw getexceptiontranslator().translate("connectioncallback", getsql(action), ex); finally { DataSourceUtils.releaseConnection(con, getdatasource()); //

21 public Object execute(statementcallback action) throws DataAccessException { Connection con = DataSourceUtils.getConnection(getDataSource()); Statement stmt = null; try { Connection contouse = con; if (this.nativejdbcextractor!= null && this.nativejdbcextractor.isnativeconnectionnecessaryfornativestatements()) { contouse = this.nativejdbcextractor.getnativeconnection(con); stmt = contouse.createstatement(); applystatementsettings(stmt); Statement stmttouse = stmt; if (this.nativejdbcextractor!= null) { stmttouse = this.nativejdbcextractor.getnativestatement(stmt); Object result = action.doinstatement(stmttouse); SQLWarning warning = stmt.getwarnings(); throwexceptiononwarningifnotignoringwarnings(warning); return result; catch (SQLException ex) { // Release Connection early, to avoid potential connection pool deadlock // in the case when the exception translator hasn't been initialized yet. JdbcUtils.closeStatement(stmt); stmt = null; DataSourceUtils.releaseConnection(con, getdatasource()); con = null; throw getexceptiontranslator().translate("statementcallback", getsql(action), ex); finally { JdbcUtils.closeStatement(stmt); DataSourceUtils.releaseConnection(con, getdatasource()); // sql public void execute(final String sql) throws DataAccessException { if (logger.isdebugenabled()) { logger.debug("executing SQL statement [" + sql + "]"); class ExecuteStatementCallback implements StatementCallback, SqlProvider { public Object doinstatement(statement stmt) throws SQLException { stmt.execute(sql); return null; public String getsql() { return sql; execute(new ExecuteStatementCallback());

22 JdbcTemplate TransactionTemplate execute execute TransactionTemplate JdbcTemplate sql JdbcTemplate JdbcTemplate JdbcTemplate 1 Spring <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <! datasource --> <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <! sqlserver --> <property name="driverclassname"> <value>com.microsoft.jdbc.sqlserver.sqlserverdriver</value> <! Url --> <property name="url"> <value>jdbc:microsoft:sqlserver://localhost:1433/stdb</value> <! --> <property name="name"> <value>admin</value> <! --> <property name="msg"> <value>admin</value> </bean> <! transactionmanager --> <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="datasource"> <ref bean="datasource"/> </bean> <! DAO --> <bean id="hellodao" class="com.gc.action.hellodao"> <property name="datasource"> <ref bean="datasource"/> <property name="transactionmanager"> <ref bean="transactionmanager"/> </bean>

23 </beans> 6 2 HelloDAO JdbcTemplate HelloDAO.java //******* HelloDAO.java************** package com.gc.action; import javax.sql.datasource; import org.springframework.jdbc.core.*; import org.springframework.transaction.*; import org.springframework.transaction.support.*; import org.springframework.dao.*; public class HelloDAO { private DataSource datasource; private PlatformTransactionManager transactionmanager; public void setdatasource(datasource datasource) { this.datasource = datasource; public void settransactionmanager(platformtransactionmanager transactionmanager) { this.transactionmanager = transactionmanager; // JdbcTemplate public int create(string msg) { DefaultTransactionDefinition def = new DefaultTransactionDefinition(); TransactionStatus status = transactionmanager.gettransaction(def); try { JdbcTemplate jdbctemplate = new JdbcTemplate(dataSource); jdbctemplate.update("insert INTO hello VALUES(1, 'gf', 'HelloWord')"); catch (DataAccessException ex) { // status.setrollbackonly(); transactionmanager.rollback(status); throw ex; finally { transactionmanager.commit(status); datasource JdbcTemplate JdbcTemplate update Jdbc 2 3 datasource JdbcTemplate JdbcTemplate JdbcTemplate datasource <?xml version="1.0" encoding="utf-8"?>

24 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <! datasource --> <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <! sqlserver --> <property name="driverclassname"> <value>com.microsoft.jdbc.sqlserver.sqlserverdriver</value> <! Url --> <property name="url"> <value>jdbc:microsoft:sqlserver://localhost:1433/stdb</value> <! --> <property name="name"> <value>admin</value> <! --> <property name="msg"> <value>admin</value> </bean> <! transactionmanager --> <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="datasource"> <ref bean="datasource"/> </bean> <! jdbctemplate --> <bean id="jdbctemplate" class="org.springframework.jdbc.core.jdbctemplate"> <property name="datasource"> <ref bean="datasource"/> </bean> <! DAO --> <bean id="hellodao" class="com.gc.action.hellodao"> <property name=" jdbctemplate "> <ref bean=" jdbctemplate "/> <property name="transactionmanager"> <ref bean="transactionmanager"/> </bean> </beans> jdbctemplate datasource jdbctemplate jdbctemplate HelloDAO 4 HelloDAO JdbcTemplate datasource jdbctemplate HelloDAO.java //******* HelloDAO.java**************

25 package com.gc.action; import javax.sql.datasource; import org.springframework.jdbc.core.*; import org.springframework.transaction.*; import org.springframework.transaction.support.*; import org.springframework.dao.*; import org.springframework.jdbc.core.jdbctemplate; public class HelloDAO { private JdbcTemplate jdbctemplate; private PlatformTransactionManager transactionmanager; public void setjdbctemplate(jdbctemplate jdbctemplate) { this.jdbctemplate = jdbctemplate; public void settransactionmanager(platformtransactionmanager transactionmanager) { this.transactionmanager = transactionmanager; // jdbctemplate public int create(string msg) { DefaultTransactionDefinition def = new DefaultTransactionDefinition(); TransactionStatus status = transactionmanager.gettransaction(def); try { jdbctemplate.update("insert INTO hello VALUES(1, 'gf', 'HelloWord')"); catch (DataAccessException ex) { // status.setrollbackonly(); transactionmanager.rollback(status); throw ex; finally { transactionmanager.commit(status); 1 Spring IoC Spring 5 sql sql sql <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <! datasource --> <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <! sqlserver --> <property name="driverclassname"> <value>com.microsoft.jdbc.sqlserver.sqlserverdriver</value>

26 <! Url --> <property name="url"> <value>jdbc:microsoft:sqlserver://localhost:1433/stdb</value> <! --> <property name="name"> <value>admin</value> <! --> <property name="msg"> <value>admin</value> </bean> <! transactionmanager --> <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="datasource"> <ref bean="datasource"/> </bean> <! jdbctemplate --> <bean id="jdbctemplate" class="org.springframework.jdbc.core.jdbctemplate"> <property name="datasource"> <ref bean="datasource"/> </bean> <! DAO --> <bean id="hellodao" class="com.gc.action.hellodao"> <property name=" jdbctemplate "> <ref bean=" jdbctemplate "/> <property name="transactionmanager"> <ref bean="transactionmanager"/> <property name="sql"> <value> INSERT INTO hello VALUES(1, 'gf', 'HelloWord')</value> </bean> </beans> sql IoC HelloDAO 6 HelloDAO.java //******* HelloDAO.java************** package com.gc.action; import javax.sql.datasource; import org.springframework.jdbc.core.*; import org.springframework.transaction.*; import org.springframework.transaction.support.*; import org.springframework.dao.*;

27 import org.springframework.jdbc.core.jdbctemplate; public class HelloDAO { private JdbcTemplate jdbctemplate; private PlatformTransactionManager transactionmanager; private String sql; public void setjdbctemplate(jdbctemplate jdbctemplate) { this.jdbctemplate = jdbctemplate; public void settransactionmanager(platformtransactionmanager transactionmanager) { this.transactionmanager = transactionmanager; public void setsql(string sql) { this.sql = sql; // sql public int create(string msg) { DefaultTransactionDefinition def = new DefaultTransactionDefinition(); TransactionStatus status = transactionmanager.gettransaction(def); try { jdbctemplate.update(this.sql); catch (DataAccessException ex) { transactionmanager.rollback(status); // status.setrollbackonly(); throw ex; finally { transactionmanager.commit(status); 3 HelloDAO create Spring JdbcTemplate JdbcTemplate JdbcTemplate queryformap queryforlong queryforint queryforlist queryforlist List rows = jdbctemplate.queryforlist("select * from hello"); Iterator it = rows.iterator(); while(it.hasnext()) { Map map = (Map) it.next(); String id = map.get("id"); String name = map.get("name"); String msg = map.get("msg");

28 queryforint hello int count = jdbctemplate.queryforint("select count(*) from hello"); 2 JdbcTemplate JdbcTemplate JdbcTemplate update jdbctemplate.update("inset into hello values('1, gf', HelloWorld ')"); jdbctemplate.update("inset into hello values (?,?,?,)", new Object[] {1, gf, HelloWorld ); jdbctemplate.update("inset into hello values (?,?,?,)", new PreparedStatementSetter() { public void setvalues(preparedstatement ps) throws SQLException { ps.setint(1, 1); ps.setstring(2, gf ); ps.setstring(3, HelloWorld ); ); jdbctemplate.update("update hello set name = gd, msg = HelloWorld where id = 1"); jdbctemplate.update("update hello set name =?, msg =? where id =?", new Object[] { gf, HelloWorld,1); Object[] 7.4 ORM JdbcTemplate JdbcTemplate Spring ORM Spring Hibernate ibatis Spring Hibernate ibatis ORM

29 7.4.1 ORM ORM ORM Object-Relational Mapping ORM SQL SQL ORM Hibernate ibatis ORM ORM CRUD API API mapping metadata ORM dirty checking, lazy association fetching ORM ORM, ORM Hibernate Hibernate Hibernate Spring Hibernate Spring HelloDAO Hibernate Hello.hbm.xml Hello 1 Hibernate Spring <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <! datasource --> <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <! sqlserver --> <property name="driverclassname"> <value>com.microsoft.jdbc.sqlserver.sqlserverdriver</value> <! Url --> <property name="url"> <value>jdbc:microsoft:sqlserver://localhost:1433/stdb</value> <! --> <property name="name"> <value>admin</value> <! -->

30 <property name="msg"> <value>admin</value> </bean> <! Hibernate sessionfactory --> <bean class="org.springframework.orm.hibernate.localsessionfactorybean"> <property name="datasource"> <ref local="datasource" /> <property name="mappingresources"> <list> <value>com/gc/action/ Hello.hbm.xml</value> </list> <property name="hibernateproperties"> <props> <prop key="hibernate.dialect"> net.sf.hibernate.dialect.sqlserverdialect </prop> <prop key="hibernate.show_sql"> true </prop> </props> </bean> <! transactionmanager --> id="sessionfactory" <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="sessionfactory"> <ref bean="sessionfactory"/> </bean> <! DAO --> <bean id="hellodao" class="com.gc.action.hellodao"> <property name="sessionfactory"> <ref bean="sessionfactory"/> <property name="transactionmanager"> <ref bean="transactionmanager"/> </bean> </beans> Hibernate SessionFactory Session Spring SessionFactory com/gc/action/ Hello.hbm.xml Hello.hbm.xml com.gc.action 2 Hello.hbm.xml com.gc.action Hello.hbm.xml <hibernate-mapping> <class name="com.gc.action.hello" table="hello" dynamic-update="false" dynamic-insert="false"> <id name="id" column="id" type="java.lang.integer"/>

31 <property name="name" type="java.lang.string" update="true" insert="true" access="property" <! msg--> column="msg" <! 50--> length="50"/> <property name="msg" type="java.lang.string" update="true" insert="true" access="property" <! name--> column="name" <! 50--> length="50" /> </class> </hibernate-mapping> 3 Hello com.gc.action Hello.java //******* Hello.java************** /** table="hello" */ public class Hello { public Integer id; public String name; public String msg; /** * column="id" * type="java.lang.integer" */ public Integer getid() { return id; public void setid(integer id) { this.id = id; /** column="msg" length="50" */ public String getmsg() { return msg; public void setmsg(string msg) { this.msg = msg; /** column="name" length="50"

32 */ public String getname() { return name; public void setname(string name) { this.name = name; 4 HelloDAO SessionFactory HelloDA //******* HelloDAO.java************** package com.gc.action; import javax.sql.datasource; import org.springframework.jdbc.core.*; import org.springframework.transaction.*; import org.springframework.transaction.support.*; import org.springframework.dao.*; import org.springframework.orm.*; public class HelloDAO { private SessionFactory sessionfactory; private PlatformTransactionManager transactionmanager; public void set SessionFactory (DataSource sessionfactory) { this. sessionfactory = sessionfactory; public void settransactionmanager(platformtransactionmanager transactionmanager) { this.transactionmanager = transactionmanager; // HibernateTemplate JdbcTemplate public int create(string msg) { DefaultTransactionDefinition def = new DefaultTransactionDefinition(); TransactionStatus status = transactionmanager.gettransaction(def); try { HibernateTemplate hibernatetemplate = new HibernateTemplate (sessionfactory); Hello hello = new Hello(); hello.setid(1); hello.setname( gf ); hello.setmsg( HelloWorld ); hibernatetemplate. saveorupdate (hello); catch (DataAccessException ex) { transactionmanager.rollback(status); // status.setrollbackonly(); throw ex; finally { transactionmanager.commit(status);

33 JdbcTemplate ibatis ibatis Hibernate ibatis Spring ibatis Spring HelloDAO ibatis sqlmapconfig.xml Hello.xml Hello 1 ibatis Spring <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <! datasource --> <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <! sqlserver --> <property name="driverclassname"> <value>com.microsoft.jdbc.sqlserver.sqlserverdriver</value> <! Url --> <property name="url"> <value>jdbc:microsoft:sqlserver://localhost:1433/stdb</value> <! --> <property name="name"> <value>admin</value> <! --> <property name="msg"> <value>admin</value> </bean> <! ibatis--> <bean id="sqlmap" class="org.springframework.orm.ibatis.sqlmapclientfactorybean"> <property name="configlocation"> <value>web-inf/sqlmapconfig.xml</value> </bean> <! transactionmanager --> <bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="datasource"> <ref bean="datasource"/> </bean> <! DAO --> <bean id="hellodao" class="com.gc.action.hellodao"> <property name="datasource">

34 <ref bean="datasource"/> <property name="transactionmanager"> <ref bean="transactionmanager"/> <property name="sqlmap"> <ref bean="sqlmap"/> </bean> </beans> sqlmapconfig.xml ibatis WEB-INF 2 sqlmapconfig.xml <sqlmapconfig> <sqlmap resource="com/gc/action/hello.xml"/> </sqlmapconfig> 3 Hello.xml com.gc.action Hello.xml <sqlmap namespace="hello"> <typealias alias="hello" type="com.gc.action.hello" /> <insert id="inserthello" parameterclass="hello"> insert into hello ( id,name, msg) values ( #id#,#name#,#msg# ) </insert> </sqlmap> 4 Hello Hibernate Hello.java //******* Hello.java************** public class Hello { public Integer id; public String name; public String msg; public Integer getid() { return id; public void setid(integer id) { this.id = id; public String getmsg() { return msg; public void setmsg(string msg) { this.msg = msg; public String getname() { return name; public void setname(string name) {

35 this.name = name; 5 HelloDAO HelloDAO.java //******* HelloDAO.java************** package com.gc.action; import javax.sql.datasource; import org.springframework.jdbc.core.*; import org.springframework.transaction.*; import org.springframework.transaction.support.*; import org.springframework.dao.*; import org.springframework.orm.*; public class HelloDAO extends SqlMapClientDaoSupport { private PlatformTransactionManager transactionmanager; public void settransactionmanager(platformtransactionmanager transactionmanager) { this.transactionmanager = transactionmanager; // getsqlmapclienttemplate JdbcTemplate public int create(string msg) { DefaultTransactionDefinition def = new DefaultTransactionDefinition(); TransactionStatus status = transactionmanager.gettransaction(def); try { Hello hello = new Hello(); hello.setid(1); hello.setname( gf ); hello.setmsg( HelloWorld ); getsqlmapclienttemplate().update("inserthello", hello); catch (DataAccessException ex) { transactionmanager.rollback(status); // status.setrollbackonly(); throw ex; finally { transactionmanager.commit(status); JdbcTemplate Hibernate 7.5 Spring Jdbc JdbcTemplate Spirng Hibernate ibatis Spring JdbcTemplate Spring Spring Web Spring Web

36 14 Spring 13 Spring Spring Spring Spring Spring Hibernate Spring Hibernate Spring MVC Struts Spring Hibernate Struts JDK Tomcat Spring Hibernate Ant JDK 2 JDK cmd cmd java JDK 14.1

37 14.1 java Tomcat 2 Tomcat IE Tomcat Tomcat

38 Ant cmd ant Ant Ant Ant Buildfile: build.xml does not exist! Build failed Build build.xml Build Ant 14.3 Eclipse mynews Eclipse mynews Spring Hibernate Eclipse 1 Eclipse File File 2 New Project Eclipse New Project Java Tomcat Project Next New Tomcat Project 14.5

39 14.4 New Project 14.5 New Tomcat Project 4 New Tomcat Project Project name mynews Finish mynews mynews 5 log4j jar commons-logging.jar spring.jar antlr.jar asm.jar spring-hibernate3.jar asm-attrs.jars cglib.jar commons-collections.jar dom4j.jar ehcache.jar jta.jar mysql-connector-java beta-bin.jar hibernate3.jar 14 jar /WEB-INF/lib/ mynews\web-inf\lib CLASSPATH 6 Windows log4j.properties log4j.properties mynews\web-inf\src 7 log4j.properties log4j.rootlogger=debug,stdout,r log4j.logger.org=error, A1 log4j.logger.com.gd =DEBUG,A2 log4j.appender.a1=org.apache.log4j.rollingfileappender log4j.appender.a1.file=org.log log4j.appender.a1.maxfilesize=500kb log4j.appender.a1.maxbackupindex=50 log4j.appender.a1.append=true log4j.appender.a1.layout=org.apache.log4j.patternlayout log4j.appender.a1.layout.conversionpattern=%d{iso [%p] [%C{1] - %m%n log4j.appender.a2=org.apache.log4j.rollingfileappender log4j.appender.a2.file=gc.log log4j.appender.a2.maxfilesize=500kb log4j.appender.a2.maxbackupindex=50 log4j.appender.a2.append=true log4j.appender.a2.layout=org.apache.log4j.patternlayout log4j.appender.a2.layout.conversionpattern=%d{iso [%p] [%C{1] - %m%n # stdout log4j.appender.stdout=org.apache.log4j.consoleappender log4j.appender.stdout.layout=org.apache.log4j.patternlayout # Pattern to output the caller's file name and line number. log4j.appender.stdout.layout.conversionpattern=[%-5p] %d{yyyy-mm-dd HH:mm:ss %c - %m%n # R #log4j.appender.r=org.apache.log4j.rollingfileappender log4j.appender.r=org.apache.log4j.dailyrollingfileappender #this log file will be stored in web server's /bin directory,modify to your path which want to store. log4j.appender.r.file=gf.log

40 #log4j.appender.r.datepattern='.'yyyy-mm-dd-hh-mm log4j.appender.r.datepattern='.'yyyy-mm-dd log4j.appender.r.append=true ## Keep one backup file log4j.appender.r.layout=org.apache.log4j.patternlayout log4j.appender.r.layout.conversionpattern=[%-5p] %d{yyyy-mm-dd HH:mm:ss %c - %m%n #[%-5p] %d{yyyy-mm-dd HH:mm:ss,SSS method:%l%n%m%n 8 mynews Eclipse 9 Properties for mynews Properties for mynews 10 Properties for mynews Java Build Path 11 Properties for mynews Libraries 12 Libraries Add JARs Selection JAR Selection 13 JAR Selection mynews lib 14 jar log4j jar commons-logging.jar spring.jar antlr.jar spring-hibernate3.jarasm.jar

41 asm-attrs.jars cglib.jar commons-collections.jar dom4j.jar ehcache.jar jta.jar mysql-connector-java beta-bin.jar hibernate3.jar 14 Ctrl 14 jar OK Properties for mynews Properties for mynews 15 Properties for mynews OK Spring Hibernate 16 mynews New Package Package New Java Package spring.jar Hibernate Hibernate spring-framework-2.0-m1\dist\extmodules\spring-hibernate3.jar ClassPath New Java Package 17 New Java Package Name com.gd.action Finish com.gd.action 18 com.gd.service com.gd.service.impl com.gd.dao com.gd.dao.impl com.gd.vo com.gd.po 19 WEB-INF jsp 20 Spring Hibernate mynews 14.11

42 14.11 Spring Hibernate mynews Ant build mynews ant build.xml <?xml version="1.0"?> <project name="mynews" default="init" basedir="."> <property name="mynews.home" value="." /> <property name="mynews.lib" value="${mynews.home/web-inf/lib" /> <property name="mynews.jar" value="${mynews.home/web-inf/lib" /> <property name="mynews.classes" value="${mynews.home/web-inf/classes" /> <property name="tomcat.home" value="d\:/jakarta-tomcat-5.5.5" /> <!--<property file="build.properties" /> build.properties --> <target name="init"> <path id="all"> <fileset dir="${mynews.lib"> <include name="**/*.jar" /> </fileset> /* jar*/ <fileset dir="${tomcat.home/common/lib"> <include name="*.jar" /> </fileset> </path> <mkdir dir="${mynews.classes" /> </target> <target name="clean"> <delete dir="${mynews.classes"> </delete> </target> <target name="compile" depends="init"> /* */ <javac srcdir="${mynews.home/web-inf/src" destdir="${mynews.classes" target="1.5"> <classpath refid="all" /> </javac> </target> <target name="jar" depends="compile"> /* jar */ <jar jarfile="${mynews.jar/gd.jar" basedir="${mynews.classes" includes="com/gd/**">

43 </jar> </target> <!-- mynews war --> <target name="war" depends="jar"> <war destfile="${mynews.home/mynews.war" webxml="${mynews.home/web-inf/web.xml"> <fileset dir="${mynews.home" casesensitive="yes"> <include name="web-inf/**" /> <exclude name="*.war" /> </fileset> <lib dir="${mynews.home/web-inf/lib"> <include name="*.jar" /> </lib> </war> </target> </project> Web.xml web.xml mynews \WEB-INF web.xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" " <web-app> <servlet> <servlet-name>dispatcherservlet</servlet-name> <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class> <init-param> <param-name>contextconfiglocation</param-name> <param-value>/web-inf/conf/dispatcherservlet-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherservlet </servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <taglib> <taglib-uri>/spring</taglib-uri> <taglib-location>/web-inf/tld/spring.tld</taglib-location> </taglib> </web-app> /WEB-INF/conf/dispatcherServlet-servlet.xml conf /WEB-INF/conf/ /WEB-INF/tld/spring.tld tld

44 /WEB-INF/tld/ show.html release.html regedit.html login.html error.html 1 show.html show.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> <style type="text/css"> <!--.style1 {font-family: " " -->

45 </style> </head> <body> <table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0" > <tr height="100%"> <td height="20"><strong> </strong></td> <td><strong> </strong></td> <tr height="100%"> <td height="150"><ol> <li> </li> <li> </li> <li> </li> <li> </li> <li> </li> </ol></td> <td><ol> <li> </li> <li> </li> <li> </li> <li> </li> <li> </li> </ol></td> <tr height="100%" style=" border-top-width:0"> <td height="15" style=" border-top-width:0"><div align="right" class="style1" > </div></td> <td style=" border-top-width:0"><div align="right" class="style1" > </div></td> <tr height="100%"> <td height="20"><strong> </strong></td> <td><strong> </strong></td> <tr height="100%"> <td height="150"><ol> <li> </li> <li> </li> <li> </li> <li> </li> <li> </li> </ol></td> <td><ol> <li> </li> <li> </li> <li> </li> <li>2006 </li> <li> 2005 </li> </ol></td> <tr height="100%"> <td height="15" style=" border-top-width:0"><div align="right" class="style1" > </div></td>

46 <td style=" border-top-width:0"><div align="right" class="style1" > </div></td> </table> </body> </html> 2 release.html release.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> <style type="text/css"> <!--.style1 { font-size: large; font-weight: bold; --> </style> </head> <body> <form name="form1" method="post" action=""> <table width="100%" height="160" border="1" cellpadding="0" cellspacing="0"> <tr> <td height="17" colspan="2"><div align="center" class="style1"> </div></td>

47 <tr> <td width="126" height="19"><strong> </strong></td> <td width="560"> </td> <tr> <td height="73"><strong> </strong></td> <td><p><strong>1</strong><strong> </strong></p> <p align="left">1.1 </p> <p>1.2 </p> <p>1.3 </p> <p><strong>2</strong><strong> </strong></p> <p>2.1 </p> <p>2.2 <p>2.3 <strong> </strong></p> <p><strong>3</strong><strong> </strong></p> <p>3.1 </p> <p> </p> </td> <tr> <td height="19" colspan="2"><strong> </strong> <strong> </strong> gd <strong> </strong> <select name="select"> <option> </option> <option selected> </option> <option> </option> <option> </option> </select></td> <tr> <td height="18"> </td> <td><input type="submit" name="submit" value=" "> <input type="submit" name="submit" value=" "> <input type="submit" name="submit" value=" "></td> </table> </form> </body> </html> 3 regedit.html 14.14

48 14.14 regedit.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> </head> <body> <form name="form1" method="post" action=""> <table width="100%" height="251" border="1" cellpadding="0" cellspacing="0"> <tr> <td height="17" colspan="2"><div align="center"><strong> </strong></div></td> <tr> <td width="18%"><strong> </strong></td> <td width="82%"><input type="text" name="textfield"></td> <tr> <td><strong> </strong></td> <td><input type="password" name="textfield"></td> <tr> <td><strong> </strong></td> <td><input type="password" name="textfield"></td> <tr> <td colspan="2"><div align="center"> <input type="submit" name="submit" value=" "> <input type="reset" name="submit" value=" "> </div></td> </table>

49 </form> </body> </html> 4 login.html login.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> </head> <body> <form name="form1" method="post" action=""> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td colspan="2"><div align="center"><strong> </strong></div></td> <tr> <td height="41"><strong> </strong></td> <td><input type="text" name="textfield"></td> <tr> <td height="40"><strong> </strong></td> <td><input type="password" name="textfield"></td> <tr> <td height="49"><strong> </strong></td> <td><input type="password" name="textfield"></td> <tr>

50 <td height="83" colspan="2"><div align="center"> <input type="submit" name="submit" value=" "> <input type="reset" name="submit" value=" "> </div></td> </table> </form> </body> </html> 5 error.html error.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> <style type="text/css"> <!--.style1 { color: #000000; font-weight: bold;.style2 {color: #FF > </style> </head> <body> <table width="100%" border="1"> <tr> <td colspan="2"><div align="center"><strong> </strong></div></td> <tr>

51 <td width="22%" height="141"><span class="style1"> </span></td> <td width="78%"><span class="style2">sql SQL </span></td> </table> </body> </html> User.java UsersAuthor.java News.java NewsType.java Together UML Together User.java UML 14.18

52 14.18 UML Together //******* User.java************** package com.gd.vo; public class User { public String getmsg(){ return msg; public void setmsg(string msg){ this.msg = msg; public String getpassword2(){ return password2; public void setpassword2(string password2){ this.password2 = password2; public String getpassword1(){ return password1; public void setpassword1(string password1){ this.password1 = password1; public String getusername(){ return username; public void setusername(string username){ this.username = username; public boolean validate() { private String msg; private String password2; private String password1; private String username; msg password1 password2 username 2 UsersAuthor.java UML 14.19

53 14.19 UML UsersAuthor User Together //******* UsersAuthor.java************** package com.gd.vo; public class UsersAuthor { public void setusersauthor(user lnkuser, int power) { lnkuser = lnkuser; power = power; public int getauthorbyuser(user lnkuser) { return power; public UsersAuthor(User lnkuser, int power) { lnkuser = lnkuser; power = power; private int power; /** 1 0.n */ private User lnkuser; power 0 power 1

54 3 NewsType.java UML UML Together //******* NewsType.java************** package com.gd.vo; public class NewsType { public int getid(){ return id; public void setid(int id){ this.id = id; public String gettypename(){ return typename; public void settypename(string typename){ this.typename = typename; public String gettypebyid (int id) { return typename; private int id; private String typename; 4 News.java UML 14.22

55 14.22 UML News User Together //******* News.java************** package com.gd.vo; public class News { public int getid(){

56 return id; public void setid(int id){ this.id = id; public String getmsg(){ return msg; public void setmsg(string msg){ this.msg = msg; public String gethead(){ return head; public void sethead(string head){ this.head = head; public String getcontent(){ return content; public void setcontent(string content){ this.content = content; public Date getdate(){ return date; public void setdate(date date){ this.date = date; // id public List getnewsbytype(int id) { // public void savenews(new new) { private int id; private String msg; private String head; private String content; private Date date; /** n 1 */ private NewsType lnknewstype; /** n 1 */ private User lnkuser;

57 user username password username 2 userauthor username power username power 3 newstype id type 4 news id head content issuedate issueuser newstype id id UML UML UML

58 14.5 Jsp jsp show.jsp WEB-INF/jsp Map id show.jsp contenttype="text/html;charset=gbk"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " import="java.util.*,com.gd.util.*,com.gd.vo.*,com.gd.po.newstype,com.gd.po.new"%> <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> <style type="text/css"> <!--.style1 {font-family: " " --> </style> </head> <% List listnewstype = (List)request.getAttribute("listNewsType"); Map mapnews = (Map)request.getAttribute("mapNews"); %> <body> <table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0" > <% for (int i = 0; listnewstype!= null && i < listnewstype.size(); i++) { %> <tr height="100%"> <td height="20"><strong><%=((newstype)listnewstype.get(i)).gettype()%></strong></td> <td><strong><%=((newstype)listnewstype.get(i + 1)).getType()%></strong></td> <tr height="100%"> <td height="150"><ol> <% List newsheads = (List)mapNews.get((((Newstype)listNewsType.get(i)).getId())); for (int j = 0; newsheads!= null && j < newsheads.size(); j++) { %> <li><%=((new)newsheads.get(j)).getcontent() %></li> <%%> </ol></td> <td><ol>

59 <% newsheads = (List)mapNews.get((((Newstype)listNewsType.get(++i)).getId())); for (int j = 0; newsheads!= null && j < newsheads.size(); j++) { %> <li><%=((new)newsheads.get(j)).getcontent() %></li> <%%> </ol></td> <tr height="100%" style=" border-top-width:1"> <td height="15" style=" border-top-width:1"><div align="right" class="style1" > </div></td> <td style=" border-top-width:1"><div align="right" class="style1" > </div></td> <%%> </table> </body> </html> Map mapnews = (Map)request.getAttribute("mapNews") release.jsp WEB-INF/jsp NewsUtil.java release.jsp <%@page contenttype="text/html;charset=gbk"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <%@page import="java.util.list,com.gd.util.*,com.gd.vo.user,com.gd.po.newstype"%> <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> <style type="text/css"> <!--.style1 { font-size: large; font-weight: bold; --> </style> </head> <% List newstypes = (List)request.getAttribute("newsTypes"); User user = (User)request.getAttribute("user"); %> <body> <form name="form1" method="post" action="/mynews/release.do">

60 <table width="100%" height="160" border="1" cellpadding="0" cellspacing="0"> <tr> <td height="17" colspan="2"><div align="center" class="style1"> </div></td> <tr> <td width="126" height="19"><strong> </strong></td> <td width="560"><input name="head" type="text" size="100%"></td> <tr> <td height="73"><strong> </strong></td> <td><p> <textarea name="content" cols="100%" rows="30"></textarea> </p> </td> <tr> <td height="19" colspan="2"><strong> </strong><%=newsutil.getcurrentdate()%><strong> </strong> <%=user.getusername()%> <strong> </strong> <select name="newstype"> <% for (int i = 0; newstypes!= null && i < newstypes.size(); i++) { Newstype newstype = (Newstype)newsTypes.get(i); %> <option value = '<%=newstype.getid()%>'><%=newstype.gettype()%></option> <%%> </select></td> <tr> <td height="18"> </td> <td><input type="submit" name="insert" value=" "> <input type="submit" name="update" value=" "> <input type="submit" name="delete" value=" "></td> </table> </form> </body> </html> NewsUtil.getCurrentDate() NewsUtil mynews com.gd.util regedit.jsp WEB-INF/jsp <%@page contenttype="text/html;charset=gbk"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html>

61 <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> </head> <body> <form name="form1" method="post" action="/mynews/regedit.do"> <table width="100%" height="251" border="1" cellpadding="0" cellspacing="0"> <tr> <td height="17" colspan="2"><div align="center"><strong> </strong></div></td> <tr> <td width="18%"><strong> </strong></td> <td width="82%"><input type="text" name="username"></td> <tr> <td><strong> </strong></td> <td><input type="password" name="password1"></td> <tr> <td><strong> </strong></td> <td><input type="password" name="password2"></td> <tr> <td colspan="2"><div align="center"> <input type="submit" name="submit" value=" "> <input type="reset" name="submit" value=" "> </div></td> </table> </form> </body> </html> login.jsp WEB-INF/jsp login.jsp contenttype="text/html;charset=gbk"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> </head> <body> <form name="form1" method="post" action="/mynews/login.do"> <table width="100%" height="251" border="1" cellpadding="0" cellspacing="0">

62 <tr> <td height="17" colspan="2"><div align="center"><strong> </strong></div></td> <tr> <td width="18%"><strong> </strong></td> <td width="82%"><input type="text" name="username"></td> <tr> <td><strong> </strong></td> <td><input type="password" name="password1"></td> <tr> <td><strong> </strong></td> <td><input type="password" name="password2"></td> <tr> <td colspan="2"><div align="center"> <input type="submit" name="submit" value=" "> <input type="reset" name="submit" value=" "> </div></td> </table> </form> </body> </html> error.jsp WEB-INF/jsp Exception error.jsp contenttype="text/html;charset=gbk"%> <html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <title> </title> <style type="text/css"> <!--.style1 { color: #000000; font-weight: bold;.style2 {color: #FF > </style> </head> <% Exception ex = (Exception)request.getAttribute("Exception"); %> <body> <table width="100%" border="1"> <tr>

63 <td colspan="2"><div align="center"><strong> </strong></div></td> <tr> <td width="22%" height="141"><span class="style1"> </span></td> <td width="78%"><span class="style2"><%=ex.getmessage();%></span></td> </table> </body> </html> Sprng <bean id="exceptionresolver" class="org.springframework.web.servlet.handler.simplemappingexceptionresolver"> <property name="exceptionmappings"> <props> <prop key="java.sql.sqlexception">error</prop> <prop key="java.sql.ioexception">error</prop> </props> </bean> SQLException IOException /WEB-INF/jsp/ error.jsp 14.6 xml POJO Xampp mysql xampp 2 Xampp phpmyadmin 14.26

64 mynews mynews user 3 user user 2 user user 14.28

65 14.28 user 3 username password varchar 32 username user sql CREATE TABLE `user` ( `username` VARCHAR( 32 ) NOT NULL, `password` VARCHAR( 32 ) NOT NULL, PRIMARY KEY ( `username` ) ) ENGINE = MYISAM ; 4 user user

66 news 6 news news 2 news news news 3 id head content issuedate issueuser newstype id int

67 4 head varchar 200 content varchar 8000 issuedate Date issueuser varchar 32 newstype int 4 id news sql CREATE TABLE `news` ( `id` INT( 4 ) NOT NULL, `head` VARCHAR( 200 ) NOT NULL, `content` VARCHAR( 8000 ) NOT NULL, `issuedate` DATE NOT NULL, `issueuser` VARCHAR( 32 ) NOT NULL, `newstype` INT( 4 ) NOT NULL, PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ; 4 news news userauthor username power username power 3 newstype id type 4 news id head content issuedate issueuser newstype id 1 newstype 2 newstype

68 newstype 2 newstype newstype newstype 3 id type id int 4 type varchar 32 id newstype sql CREATE TABLE `newstype` ( `id` INT( 4 ) NOT NULL, `type` VARCHAR( 32 ) NOT NULL, PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ; 4 newstype 14.35

69 14.35 newstype

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

第03章 控制反转(Spring IoC)

第03章  控制反转(Spring IoC) 3 Spring IoC GoF Design Patterns: Elements of Reusable Object-Oriented Software Programming to an Interface not an Implementation Java Java Java GoF Service Locator IoC IoC Spring IoC 3.1 IoC IoC IoC Dependency

More information

输入 project name 选择完成

输入 project name 选择完成 JAVA 程序访问 HighGo DB 的环境准备 山东瀚高科技有限公司版权所有仅允许不作任何修改的转载和转发 Hibernate 的配置 MyEclipse 中创建新项目 : 选择菜单栏 file---new---project 选择 web project 进行下一步 输入 project name 选择完成 4. 单击 " 添加 JAR/ 文件夹 ", 会如下图出现 JDBC 下载 Hibernate

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

untitled

untitled -JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

RUN_PC連載_10_.doc

RUN_PC連載_10_.doc PowerBuilder 8 (10) Jaguar CTS ASP Jaguar CTS PowerDynamo Jaguar CTS Microsoft ASP (Active Server Pages) ASP Jaguar CTS ASP Jaguar CTS ASP Jaguar CTS ASP Jaguar CTS ASP Jaguar CTS ASP Jaguar Server ASP

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

设计模式 Design Patterns

设计模式 Design Patterns Spring 与 Struts Hibernate 的集成 丁勇 Email:18442056@QQ.com 学习目标 掌握 Spring 与 Struts 的集成 掌握 Spring 与 Hibernate 的集成 学会使用 Spring 实现声明式事务 Spring 与 Hibernate 集成 使用 Spring 简化 Hibernate 编程 使现有使现有 Java Java EE EE 技术更易用

More information

优迈科技教学大纲2009版本

优迈科技教学大纲2009版本 java 软 件 工 程 师 培 训 教 学 大 纲 1 JAVA 软 件 工 程 师 培 训 教 学 大 纲 深 圳 软 件 园 人 才 实 训 基 地 2009 年 3 月 目 录 java 软 件 工 程 师 培 训 教 学 大 纲 2 教 学 阶 段...3 第 一 章 JAVA 起 步...3 第 二 章 面 向 对 象 的 编 程...4 第 三 章 数 据 结 构 IO 线 程 网 络...5

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

untitled

untitled 653 JAVA 2008 11 Institution of Software Engineer... 2... 4... 4... 5... 5... 8... 8... 8... 8... 8... 9... 9... 9... 11... 13... 13... 13... 13... 15... 15... 15... 15... 16... 16... 17... 17... 17...

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

untitled

untitled PowerBuilder Tips 利 PB11 Web Service 年度 2 PB Tips PB9 EAServer 5 web service PB9 EAServer 5 了 便 web service 來說 PB9 web service 力 9 PB11 release PB11 web service 力更 令.NET web service PB NVO 論 不 PB 來說 說

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

IoC容器和Dependency Injection模式.doc

IoC容器和Dependency Injection模式.doc IoC Dependency Injection /Martin Fowler / Java Inversion of Control IoC Dependency Injection Service Locator Java J2EE open source J2EE J2EE web PicoContainer Spring Java Java OO.NET service component

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

计算机软件技术专业教学计划

计算机软件技术专业教学计划 计 算 机 软 件 技 术 专 业 人 才 培 养 方 案 ( 服 务 外 包 方 向 ) 专 业 大 类 名 称 ( 代 码 ):++(++) 专 业 类 名 称 ( 代 码 ):++++++(++++) 专 业 名 称 ( 代 码 ):+++++++(++++++) 修 业 年 限 : 三 年, 全 日 制 招 生 对 象 : 三 年 制 普 通 高 中 及 对 口 中 职 专 业 毕 业 生

More information

Java应用框架Spring实验指导书.doc

Java应用框架Spring实验指导书.doc Java Spring lyaiqing@126.com Spring 1. Spring jsp 001 Spring name mike password name Tom password 123456 Mysql 1. a) i. mysql Empl, sql 1. 2. a) Eclipse Web Project :myspring b) jar i. / ii. spring-framework-3.2.0.release

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

5-1 nav css 5-2

5-1 nav css 5-2 5 HTML CSS HTML CSS Ê Ê Ê Ê 5-1 nav css 5-2 5-1 5 5-1-1 5-01 css images 01 index.html 02 5-3 style.css css 03 CH5/5-01/images 04 images index.html style.css 05

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型 文 章 编 号 :1007-757X(2012)1-0036-04 领 域 驱 动 模 型 的 WEB 软 件 系 统 设 计 研 究 摘 要 : J2EE 3 JDK1.7 Tomcat WEB 关 键 词 : 中 图 分 类 号 :TP311 文 献 标 志 码 :A 0 引 言 Web 软 件 系 统 的 分 层 结 构 典 型 的 J2EE 软 件 系 统 开 发 方 法 分 为 三 层 结

More information

FileMaker 16 ODBC 和 JDBC 指南

FileMaker 16 ODBC 和 JDBC 指南 FileMaker 16 ODBC JDBC 2004-2017 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. FileMaker WebDirect FileMaker Cloud FileMaker,

More information

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile.. WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center

More information

RunPC2_.doc

RunPC2_.doc PowerBuilder 8 (5) PowerBuilder Client/Server Jaguar Server Jaguar Server Connection Cache Thin Client Internet Connection Pooling EAServer Connection Cache Connection Cache Connection Cache Connection

More information

FileMaker 15 ODBC 和 JDBC 指南

FileMaker 15 ODBC 和 JDBC 指南 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. / FileMaker WebDirect FileMaker, Inc. FileMaker

More information

XXXXXXXX http://cdls.nstl.gov.cn 2 26

XXXXXXXX http://cdls.nstl.gov.cn 2 26 [ ] [ ] 2003-7-18 1 26 XXXXXXXX http://cdls.nstl.gov.cn 2 26 (2003-7-18) 1...5 1.1...5 1.2...5 1.3...5 2...6 2.1...6 2.2...6 2.3...6 3...7 3.1...7 3.1.1...7 3.1.2...7 3.1.2.1...7 3.1.2.1.1...8 3.1.2.1.2...10

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

使用 XFire 与 Spring 开发 Web Service 2 实现功能与特点 基于 J2EE 平台的 Web Service 服务 开发方便, 配置简单 设计接口 实现服务 配置暴露接口 XFire 将自动生成对应的 wsdl 支持高级详细配置 与 Spring 无缝集成 运行环境 JDK

使用 XFire 与 Spring 开发 Web Service 2 实现功能与特点 基于 J2EE 平台的 Web Service 服务 开发方便, 配置简单 设计接口 实现服务 配置暴露接口 XFire 将自动生成对应的 wsdl 支持高级详细配置 与 Spring 无缝集成 运行环境 JDK 使用 XFire 与 Spring 开发 Web Service 1 使用 XFire 与 Spring 开发 Web Service 王啸宇信易诚 wangxiao1@mail.yuchengtech.com 目录 实现功能与特点... 2 运行环境... 2 开发平台... 2 实施步骤... 2 概述... 2 新建 Java Project... 3 新建 WTP 动态 WEB 工程...

More information

序号:001

序号:001 第 一 组 选 题 简 介 序 号 :001 题 目 : 基 于 BPEL 的 网 上 订 餐 系 统 的 设 计 与 实 现 网 上 订 餐 系 统 是 在 互 联 网 上 进 行 菜 单 信 息 发 布 网 上 订 餐 以 及 维 护 客 户 关 系 的 电 子 商 务 系 统, 餐 饮 企 业 可 以 通 过 这 个 电 子 商 务 系 统 发 布 自 己 的 菜 单 信 息 以 供 客 户

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

05 01 accordion UI containers 03 Accordion accordion UI accordion 54

05 01 accordion UI containers 03 Accordion accordion UI accordion 54 jquery UI plugin Accordion 05 01 accordion UI containers 03 Accordion accordion UI accordion 54 05 jquery UI plugin 3-1

More information

1. 2. Flex Adobe 3.

1. 2. Flex Adobe 3. 1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

TopTest_Adminstrator.doc

TopTest_Adminstrator.doc 壹 前 言... 3 貳 系 統 簡 介... 4 一 TKB multimedia Top-Test 系 統 架 構...4 1. 使 用 者 介 面 層 (Presentation tier)...5 2. 商 業 邏 輯 層 (business logic tier)...5 3. 資 料 服 務 層 (data services tier)...5 二 TKB Multimedia Top-Test

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

北 风 网 讲 师 原 创 作 品 ---- 仅 供 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见

北 风 网 讲 师 原 创 作 品 ---- 仅 供  学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 北 风 网 讲 师 原 创 作 品 ---- 仅 供 www.ibeifeng.com 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 者 远 ; 顺 风 而 呼, 声 非 加 疾 也, 而 闻 者 彰 假 舆 马 者, 非 利 足 也,

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

ebook

ebook 26 JBuilder RMI Java Remote Method Invocation R M I J a v a - - J a v a J a v J a v a J a v a J a v a R M I R M I ( m a r s h a l ) ( u n m a r c h a l ) C a ff e i n e J a v a j a v a 2 i i o p J a v

More information

在Spring中使用Kafka:Producer篇

在Spring中使用Kafka:Producer篇 在某些情况下, 我们可能会在 Spring 中将一些 WEB 上的信息发送到 Kafka 中, 这时候我们就需要在 Spring 中编写 Producer 相关的代码了 ; 不过高兴的是,Spring 本身提供了操作 Kafka 的相关类库, 我们可以直接通过 xml 文件配置然后直接在后端的代码中使用 Kafka, 非常地方便 本文将介绍如果在 Spring 中将消息发送到 Kafka 在这之前,

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

JBuilder Weblogic

JBuilder Weblogic JUnit ( bliu76@yeah.net) < >6 JUnit Java Erich Gamma Kent Beck JUnit JUnit 1 JUnit 1.1 JUnit JUnit java XUnit JUnit 1.2 JUnit JUnit Erich Gamma Kent Beck Erich Gamma Kent Beck XP Extreme Programming CRC

More information

D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ

D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ 第 四 章 Filter( 过 滤 器 ) 样 题 A 卷 一 选 择 题 ( 每 小 题 2 分, 共 20 分 ) 1 下 面 选 项 中, 用 于 实 现 初 始 化 过 滤 器 的 方 法 是 ( ) A init(filterconfig filterconfig) B dofilter(servletrequest req,servletresponse resp,filterchain

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

Microsoft Word - PHP7Ch01.docx

Microsoft Word - PHP7Ch01.docx PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:

More information

A-1 HTML A-1-1 HTML 1 HTML JSP HTML HTML HTML JSP A HTML HTML HTML HTML HTML HTML HTML HTML.htm.html HTML Windows NotePad HTML IE [ / ] NotePad A-2

A-1 HTML A-1-1 HTML 1 HTML JSP HTML HTML HTML JSP A HTML HTML HTML HTML HTML HTML HTML HTML.htm.html HTML Windows NotePad HTML IE [ / ] NotePad A-2 HTML A-1 HTML A-2 A-2 HTML A-8 A-3 A-14 A-4 A-26 A-5 A-30 A-6 A-42 A-1 HTML A-1-1 HTML 1 HTML JSP HTML HTML HTML JSP A HTML HTML HTML HTML HTML HTML HTML HTML.htm.html HTML Windows NotePad HTML IE [ /

More information

Microsoft Word - 王彬_已修改_.doc

Microsoft Word - 王彬_已修改_.doc 第 39 卷 第 1 期 应 用 科 技 Vol.39, No.1 2012 年 2 月 Applied Science and Technology Feb. 2012 doi:10.3969/j.issn.1009-671x.201110009 基 于 J2EE 网 络 教 学 系 统 的 设 计 与 实 现 李 静 梅, 王 彬, 彭 晴 晴 哈 尔 滨 工 程 大 学 计 算 机 科 学 与

More information

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访 发 行 公 告 jconnect for JDBC 7.0 文 档 ID:DC74874-01-0700-01 最 后 修 订 日 期 :2010 年 3 月 2 日 主 题 页 码 1. 访 问 最 新 发 行 公 告 信 息 2 2. 产 品 摘 要 2 3. 特 殊 安 装 说 明 2 3.1 查 看 您 的 jconnect 版 本 3 4. 特 殊 升 级 指 导 3 4.1 迁 移 3

More information

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2. 2005-06 p.1 HTML HyperText Mark-up Language 1. HTML Logo, Pascal, C++, Java HTML 2. HTML (tag) 3. HTML 4. HTML 1. HTML 2. 3. FTP HTML HTML html 1. html html html cutehtmleasyhtml 2. wyswyg (What you see

More information

职 位 类 别 : 测 试 工 程 师 工 作 经 验 或 实 习 经 历 : 不 限 岗 位 要 求 : 1. 本 科 及 其 以 上 学 历, 计 算 机 相 关 专 业 2014 届 毕 业 生 ; 2. 实 习 时 间 要 求, 尽 量 一 周 五 个 工 作 日 ; 3. 熟 悉 Wind

职 位 类 别 : 测 试 工 程 师 工 作 经 验 或 实 习 经 历 : 不 限 岗 位 要 求 : 1. 本 科 及 其 以 上 学 历, 计 算 机 相 关 专 业 2014 届 毕 业 生 ; 2. 实 习 时 间 要 求, 尽 量 一 周 五 个 工 作 日 ; 3. 熟 悉 Wind 企 业 信 息 表 公 司 名 称 : 中 铁 信 安 ( 北 京 ) 信 息 安 全 技 术 有 限 公 司 公 司 性 质 : 国 企 控 股 公 司 规 模 : 100 人 左 右 所 属 行 业 : 互 联 网 计 算 机 软 件 招 聘 人 数 :12 工 作 地 点 : 北 京 市 海 淀 区 公 司 能 够 提 供 的 福 利 : 五 险 一 金 晋 升 旅 游 节 假 日 礼 物 加

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

J2ME ISBN J2ME MIDP MIDP 2.0 API J2ME Netbeans IDE 4.1 Mobility Pack 4.1 MIDlet MIDlet MIDP PUSH API PDA API Ja

J2ME ISBN J2ME MIDP MIDP 2.0 API J2ME Netbeans IDE 4.1 Mobility Pack 4.1 MIDlet MIDlet MIDP PUSH API PDA API Ja Java JBuilder 2005 2005 6 ISBN 7-121-01166-2 69.00 1 688 JBuilder JBuilder 2005 JBuilder JBuilder 2005 JBuilder 2005 Java Java Java JBuilder 17 J2ME 2006 1 ISBN 7-121-02210-9 39.00 1 436 J2ME MIDP MIDP

More information

RUN_PC連載_8_.doc

RUN_PC連載_8_.doc PowerBuilder 8 (8) Web DataWindow ( ) DataWindow Web DataWindow Web DataWindow Web DataWindow PowerDynamo Web DataWindow / Web DataWindow Web DataWindow Wizard Web DataWindow Web DataWindow DataWindow

More information

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat 本章学习目标 小风 Java 实战系列教程 AOP 思想概述 AOP 底层技术实现 AOP 术语介绍 SpringAOP 的 XML 方式 HelloWorld SpringAOP 的 XML 方式配置细节 SpringAOP 的注解方式 SpringAOP 的零配置方式 1. AOP 思想概述 1.1. AOP 思想简介 1.2. AOP 的作用 2. AOP 底层技术实现 小风 Java 实战系列教程

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

jsp

jsp JSP Allen Long Email: allen@huihoo.com http://www.huihoo.com 2004-04 Huihoo - Enterprise Open Source http://www.huihoo.com 1 JSP JSP JSP JSP MVC Huihoo - Enterprise Open Source http://www.huihoo.com 2

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

untitled

untitled ArcGIS Server Web services Web services Application Web services Web Catalog ArcGIS Server Web services 6-2 Web services? Internet (SOAP) :, : Credit card authentication, shopping carts GIS:, locator services,

More information

RunPCPB8 new feature.PDF

RunPCPB8 new feature.PDF Client/Server Web N-Tier PowerBuilder 8.0 PowerBuilder 8.0 IDE Client/Server Web PowerBuilder / Web-based IT IDE PowerBuilder PowerBuilder 8.0 PowerBuilder 8.0 PowerBuilder 8.0 PowerBuilder Sybase PowerBuilder

More information

SQL Server SQL Server SQL Mail Windows NT

SQL Server SQL Server SQL Mail Windows NT ... 3 11 SQL Server... 4 11.1... 7 11.2... 9 11.3... 11 11.4... 30 11.5 SQL Server... 30 11.6... 31 11.7... 32 12 SQL Mail... 33 12.1Windows NT... 33 12.2SQL Mail... 34 12.3SQL Mail... 34 12.4 Microsoft

More information

目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放 性... 8 3.5 高 性 能 和

目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放 性... 8 3.5 高 性 能 和 致 远 协 同 管 理 软 件 V5 平 台 白 皮 书 北 京 致 远 协 创 软 件 有 限 公 司 2014 年 6 月 1 / 20 目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

untitled

untitled 1 .NET 料.NET 料 料來 類.NET Data Provider SQL.NET Data Provider System.Data.SqlClient 料 MS-SQL OLE DB.NET Data Provider System.Data.OleDb 料 Dbase FoxPro Excel Access Oracle Access ODBC.NET Data Provider 料

More information

IP505SM_manual_cn.doc

IP505SM_manual_cn.doc IP505SM 1 Introduction 1...4...4...4...5 LAN...5...5...6...6...7 LED...7...7 2...9...9...9 3...11...11...12...12...12...14...18 LAN...19 DHCP...20...21 4 PC...22...22 Windows...22 TCP/IP -...22 TCP/IP

More information

untitled

untitled . Version 1.0 2015 7 1. IT 1.. IBM IBM IBM WBI IBM WBI Jasdaq 3G 9 Java Hitachi Suntory Panansonic 2. IT . 10 Java Software AG (Dachieve) (Angel Engineers Inc.) 360,, Software AG XML,.,,,,.. CRM TOLO 3G

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 Web (CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 1092 1/ 16 30.75 748 2005 1 1 2005 1 1 : 1 3 100

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

untitled

untitled 12-1 -2 VC# Web Blog 12-1 -1-1 12-1.1-1 C:\ ChartModuleSample_CSharp\Application\2001\ Files\ 4096 KB 120 Web.Config httpruntime maxrequestlength executiontimeout 12-2

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

在所有的项目开发中, 一定是多人协作的团队开发, 但是使用框架就会出现一个问题, 我们所 有的 Action 以及相关的路径都要求在我们的 struts.xml 文件中配置, 如果所有的人去修改一个 文件, 那么就会变得混乱, 而且有可能出现冲突, 那么在 struts.xml 文件中为了解决这个问

在所有的项目开发中, 一定是多人协作的团队开发, 但是使用框架就会出现一个问题, 我们所 有的 Action 以及相关的路径都要求在我们的 struts.xml 文件中配置, 如果所有的人去修改一个 文件, 那么就会变得混乱, 而且有可能出现冲突, 那么在 struts.xml 文件中为了解决这个问 内置对象的取得和多人开发 一 内置对象的取得 在使用的 servlet 的时候可以通过 HttpServletResquest 获取到一些内置对象, 但是在 struts2 中为了方便取得内置对象, 专门提供了一个 ServletActionContext 这个类取得取得内置对象, 观察如下方法 public static javax.servlet.jsp.pagecontext() 取得 pagecontext

More information

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63> 基 于 Android 平 台 的 电 子 拍 卖 系 统 摘 要 本 电 子 拍 卖 系 统 其 实 就 是 一 个 电 子 商 务 平 台, 只 要 将 该 系 统 部 署 到 互 联 网 上, 客 户 都 可 以 在 该 系 统 上 发 布 想 出 售 的 商 品, 也 可 以 对 拍 卖 中 的 商 品 参 与 竞 价 整 个 过 程 无 须 人 工 干 预, 由 系 统 自 动 完 成 本

More information

Microsoft Word - Learn Objective-C.doc

Microsoft Word - Learn Objective-C.doc Learn Objective C http://cocoadevcentral.com/d/learn_objectivec/ Objective C Objective C Mac C Objective CC C Scott Stevenson [object method]; [object methodwithinput:input]; output = [object methodwithoutput];

More information

epub 61-2

epub 61-2 2 Web Dreamweaver UltraDev Dreamweaver 3 We b We b We Dreamweaver UltraDev We b Dreamweaver UltraDev We b We b 2.1 Web We b We b D r e a m w e a v e r J a v a S c r i p t We b We b 2.1.1 Web We b C C +

More information

Flume-ng与Mysql整合开发

Flume-ng与Mysql整合开发 Flume-ng 与 Mysql 整合开发 我们知道,Flume 可以和许多的系统进行整合, 包括了 Hadoop Spark Kafka Hbase 等等 ; 当然, 强悍的 Flume 也是可以和 Mysql 进行整合, 将分析好的日志存储到 Mysql( 当然, 你也可以存放到 pg oracle 等等关系型数据库 ) 不过我这里想多说一些 :Flume 是分布式收集日志的系统 ; 既然都分布式了,

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

f2.eps

f2.eps 前 言, 目 录 产 品 概 况 1 SICAM PAS SICAM 电 力 自 动 化 系 统 配 置 和 使 用 说 明 配 置 2 操 作 3 实 时 数 据 4 人 机 界 面 5 SINAUT LSA 转 换 器 6 状 态 与 控 制 信 息 A 版 本 号 : 08.03.05 附 录, 索 引 安 全 标 识 由 于 对 设 备 的 特 殊 操 作 往 往 需 要 一 些 特 殊 的

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

将 MD5 的工具类拷贝到项目中 二 微服务模块的搭建 我们将权限的查询放到一个单独的模块中, 这个模块提供接口供给消费者远程调用 (RPC), 这次范例是微服开发的雏形, 在以后你使用 springcloud 的时候会使用到今天的概念 1 使用 maven 创建新的模块 (microboot-sh

将 MD5 的工具类拷贝到项目中 二 微服务模块的搭建 我们将权限的查询放到一个单独的模块中, 这个模块提供接口供给消费者远程调用 (RPC), 这次范例是微服开发的雏形, 在以后你使用 springcloud 的时候会使用到今天的概念 1 使用 maven 创建新的模块 (microboot-sh Shiro 的环境搭建 一 公共模块的搭建 在实际的开发中, 一个项目可能会分多个模块进行实际的开发, 但是这些模块需要使用一些公 共的操作, 那么这些公共的操作不应该在每个模块中重新定义, 而是将这些公共的操作专门定 义在一个公共的模块之后哦在模块中的 pom 文件里面引入这个公共的模块, 比如说 vo 类就是 一个公共的模块, 所以定义到公共类中 1. 定义公共模块 (microboot-shiro-api)maven

More information

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7 计 算 机 系 软 件 工 程 专 业 习 指 南 广 东 科 技 院 计 算 机 系 2015-9-1 软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7

More information

ebook4-12

ebook4-12 12 CGI C G I (Common Gateway Interface) We b P H P C G I H T M L H T T P H T M L We b H T T P We We b I n t e r n e t R F C h t t p : / / w w w. i e t f. o rg / P H P C G I C G A p a c h e C G I P H P

More information

<4D6963726F736F667420576F7264202D2031313939204A617661B7C3CECA53514C536572766572BEDDBFE2B5C4C9E8BCC6D3EBCAB5CFD62E646F63>

<4D6963726F736F667420576F7264202D2031313939204A617661B7C3CECA53514C536572766572BEDDBFE2B5C4C9E8BCC6D3EBCAB5CFD62E646F63> Java 访 问 SQL Server 数 据 库 的 设 计 与 实 现 Zhuojun Zhao 数 据 库 连 接 是 软 件 项 目 开 发 中 很 重 要 的 一 个 环 节, 但 是 很 多 Java 初 学 者 在 学 习 连 接 数 据 库 的 过 程 中 感 到 非 常 头 疼, 总 是 出 现 一 系 列 的 问 题, 不 是 连 接 错 误 报 异 常, 就 是 无 法 显 示

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 掌握 Model I 体系结构 掌握 Model II 体系结构 掌握 MVC 应用程序 Model I 体系结构 6 1 Model I 体系结构结合使用 JSP 页面和 Bean 来开发 Web 应用程序 应用服务器 请求 JSP 页面 响应 Bean 数据库服务器 Model I 体系结构 6 2 Model I 体系结构用于开发简单的应用程序

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1 科 技 部 自 由 軟 體 專 案 原 始 程 式 碼 使 用 手 冊 Source Code Manual of NSC Open Source Project 可 信 賴 的 App 安 全 應 用 框 架 -App 應 用 服 務 可 移 轉 性 驗 證 Trusted App Framework -Transferability Verification on App MOST 102-2218-E-011-012

More information

1

1 PRIMETON TECHNOLOGIES, LTD. EOS EOS Manager No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying,

More information

基于UML建模的管理管理信息系统项目案例导航——VB篇

基于UML建模的管理管理信息系统项目案例导航——VB篇 PowerBuilder 8.0 PowerBuilder 8.0 12 PowerBuilder 8.0 PowerScript PowerBuilder CIP PowerBuilder 8.0 /. 2004 21 ISBN 7-03-014600-X.P.. -,PowerBuilder 8.0 - -.TP311.56 CIP 2004 117494 / / 16 100717 http://www.sciencep.com

More information

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX BPMX3 技 术 白 皮 书 业 务 流 程 开 发 平 台 介 绍 目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX3... 5 2.2.1 BPMX3

More information

季刊9web.indd

季刊9web.indd 在 全 国 现 场 会 上 成 功 展 示 全 国 烟 叶 收 购 暨 现 代 烟 草 农 业 建 设 现 场 会 7 月 6 日 至 8 日 在 昆 明 召 开 在 国 家 局 的 领 导 下, 由 我 司 技 术 开 发 的 烟 站 ( 单 元 ) 烟 叶 管 理 信 息 系 统 在 现 场 会 上 成 功 展 示, 并 得 到 参 会 领 导 及 代 表 们 的 关 注 与 认 可 该 系 统

More information

J2EE MVC with Webwork2 Xwork, to J2EE MVC with Webwork2 Xwork

J2EE MVC with Webwork2 Xwork,  to J2EE MVC with Webwork2 Xwork MVC with Webwork2 Xwork Action...1 ActionContext...3 ActionProxyFactory Factory...4 ActionProxyFactory Proxy AOP...7 XworkInterceptor...8 Interceptor...9 LoginAction...10 LoginInterceptor...12 Action Result

More information