master
bingoye 3 years ago
parent f8357cfc1b
commit b45ef7df62

@ -0,0 +1,851 @@
!SESSION 2022-06-20 11:38:57.070 -----------------------------------------------
eclipse.buildId=4.10.0.I20181206-0815
java.version=1.8.0_192
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.jface.text 2 0 2022-06-20 11:40:06.194
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!ENTRY org.eclipse.egit.ui 2 0 2022-06-20 11:40:24.571
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 0 2022-06-20 11:42:30.890
!MESSAGE Unexpected error loading extension: org.eclipse.equinox.p2.metadata.repository.compositeRepository
!STACK 0
java.lang.IllegalStateException: BundleContext is no longer valid
at org.eclipse.osgi.internal.framework.BundleContextImpl.checkValid(BundleContextImpl.java:992)
at org.eclipse.osgi.internal.framework.BundleContextImpl.getServiceReference(BundleContextImpl.java:567)
at org.eclipse.osgi.internal.framework.BundleContextImpl.getServiceReference(BundleContextImpl.java:1019)
at org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper.getService(ServiceHelper.java:32)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:515)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1018)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getRepositoryProperty(AbstractRepositoryManager.java:567)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:234)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:152)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:130)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:78)
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 0 2022-06-20 11:42:30.917
!MESSAGE Unexpected error loading extension: org.eclipse.equinox.p2.metadata.repository.compositeRepository
!STACK 0
org.eclipse.oomph.util.ReflectUtil$ReflectionException: java.lang.NullPointerException
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:132)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:152)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:130)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:78)
Caused by: java.lang.NullPointerException
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.findMatchingRepositoryExtensions(AbstractRepositoryManager.java:407)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:765)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
... 23 more
!ENTRY org.eclipse.equinox.p2.updatechecker 4 0 2022-06-20 11:42:30.918
!MESSAGE Exception in update check thread
!STACK 0
org.eclipse.oomph.util.ReflectUtil$ReflectionException: java.lang.NullPointerException
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:132)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:152)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:130)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:78)
Caused by: java.lang.NullPointerException
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.findMatchingRepositoryExtensions(AbstractRepositoryManager.java:407)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:765)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
... 8 more
!SESSION 2022-06-20 20:10:01.439 -----------------------------------------------
eclipse.buildId=4.10.0.I20181206-0815
java.version=1.8.0_192
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.jface.text 2 0 2022-06-20 20:11:17.489
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!ENTRY org.eclipse.egit.ui 2 0 2022-06-20 20:11:37.240
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2022-06-20 20:18:35.804
!MESSAGE Connection to http://jope.ow2.org/update/jope/site.xml failed on jope.ow2.org. Retry attempt 0 started
!STACK 0
java.net.UnknownHostException: jope.ow2.org
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(Unknown Source)
at java.net.InetAddress.getAddressesFromNameService(Unknown Source)
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2022-06-20 20:18:36.183
!MESSAGE Connection to http://jope.ow2.org/update/jope/p2.index failed on jope.ow2.org. Retry attempt 0 started
!STACK 0
java.net.UnknownHostException: jope.ow2.org
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2022-06-20 20:19:53.441
!MESSAGE Connection to http://jope.ow2.org/update/jope/site.xml failed on jope.ow2.org. Retry attempt 0 started
!STACK 0
java.net.UnknownHostException: jope.ow2.org
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(Unknown Source)
at java.net.InetAddress.getAddressesFromNameService(Unknown Source)
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2022-06-20 20:19:53.676
!MESSAGE Connection to http://jope.ow2.org/update/jope/p2.index failed on jope.ow2.org. Retry attempt 0 started
!STACK 0
java.net.UnknownHostException: jope.ow2.org
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-20 20:22:08.807
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
!ENTRY org.eclipse.ui 4 0 2022-06-20 20:23:54.244
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(SWT.java:4595)
at org.eclipse.swt.SWT.error(SWT.java:4510)
at org.eclipse.swt.SWT.error(SWT.java:4481)
at org.eclipse.swt.widgets.Widget.error(Widget.java:451)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:350)
at org.eclipse.swt.widgets.Text.setText(Text.java:2187)
at org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeComposite.init(TomcatRuntimeComposite.java:354)
at org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeComposite.setRuntime(TomcatRuntimeComposite.java:121)
at org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment.enter(TomcatRuntimeWizardFragment.java:56)
at org.eclipse.wst.server.ui.internal.wizard.TaskWizard$2$1.run(TaskWizard.java:173)
at org.eclipse.ui.internal.PendingSyncExec.run(PendingSyncExec.java:61)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:171)
at org.eclipse.ui.internal.UISynchronizer.lambda$0(UISynchronizer.java:153)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3919)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3550)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:168)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:977)
at org.eclipse.wst.server.ui.internal.wizard.TaskWizard.performFinish(TaskWizard.java:223)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:775)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:414)
at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:622)
at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:822)
at org.eclipse.jface.window.Window.open(Window.java:798)
at org.eclipse.wst.server.ui.internal.ServerUIPlugin.showNewRuntimeWizard(ServerUIPlugin.java:582)
at org.eclipse.wst.server.ui.ServerUIUtil.showNewRuntimeWizard(ServerUIUtil.java:57)
at org.eclipse.wst.web.ui.internal.wizards.DataModelFacetCreationWizardPage.launchNewRuntimeWizard(DataModelFacetCreationWizardPage.java:420)
at org.eclipse.wst.web.ui.internal.wizards.DataModelFacetCreationWizardPage.internalLaunchNewRuntimeWizard(DataModelFacetCreationWizardPage.java:478)
at org.eclipse.wst.web.ui.internal.wizards.DataModelFacetCreationWizardPage$7.widgetSelected(DataModelFacetCreationWizardPage.java:530)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:822)
at org.eclipse.jface.window.Window.open(Window.java:798)
at org.eclipse.ui.internal.navigator.wizards.WizardShortcutAction.run(WizardShortcutAction.java:102)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:476)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:568)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
!ENTRY org.eclipse.jface 2 0 2022-06-20 20:28:14.067
!MESSAGE Ignored reentrant call while viewer is busy. This is only logged once per viewer instance, but similar calls will still be ignored.
!STACK 0
java.lang.RuntimeException
at org.eclipse.jface.viewers.ColumnViewer.checkBusy(ColumnViewer.java:764)
at org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTreeViewer.java:153)
at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java:305)
at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.lambda$1(ResourceExtensionContentProvider.java:282)
at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.runUpdates(ResourceExtensionContentProvider.java:314)
at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.lambda$0(ResourceExtensionContentProvider.java:142)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3919)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3550)
at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:128)
at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:102)
at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:147)
at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:276)
at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:205)
at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:95)
at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:297)
at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:124)
at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2243)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2290)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2322)
at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.loadModel(AbstractMergedModelProvider.java:249)
at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getMergedModel(AbstractMergedModelProvider.java:219)
at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getModelObject(AbstractMergedModelProvider.java:139)
at org.eclipse.jst.jee.ui.internal.navigator.JEE5ContentProvider.getCachedContentProvider(JEE5ContentProvider.java:98)
at org.eclipse.jst.jee.ui.internal.navigator.Web25ContentProvider.getChildren(Web25ContentProvider.java:35)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:98)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:244)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:96)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:160)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:146)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:132)
at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1415)
at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:350)
at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:903)
at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:621)
at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2663)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1953)
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:677)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1929)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1886)
at org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:532)
at org.eclipse.jface.viewers.StructuredViewer.lambda$3(StructuredViewer.java:1533)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1449)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:363)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1410)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1533)
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:538)
at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:349)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$3.run(PackageExplorerContentProvider.java:986)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runUpdates(PackageExplorerContentProvider.java:209)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runPendingUpdates(PackageExplorerContentProvider.java:201)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$1.runInUIThread(PackageExplorerContentProvider.java:179)
at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:98)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3919)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3550)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:168)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:474)
at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:240)
at org.eclipse.ui.internal.progress.ProgressManager.lambda$24(ProgressManager.java:801)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:834)
at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:810)
at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:970)
at org.eclipse.ui.actions.CopyFilesAndFoldersOperation.copyFileStores(CopyFilesAndFoldersOperation.java:926)
at org.eclipse.ui.actions.CopyFilesAndFoldersOperation.copyFiles(CopyFilesAndFoldersOperation.java:822)
at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction$FilePaster.paste(PasteAction.java:1294)
at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.run(PasteAction.java:274)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:252)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:476)
at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:121)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:320)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:254)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:164)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:497)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:490)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:308)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:584)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:653)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:443)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$2(KeyBindingDispatcher.java:386)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:96)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1193)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1054)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1064)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1106)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1102)
at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1489)
at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4888)
at org.eclipse.swt.widgets.Tree.WM_CHAR(Tree.java:5967)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4768)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5962)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4770)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3545)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
!SESSION 2022-06-20 23:25:19.029 -----------------------------------------------
eclipse.buildId=4.10.0.I20181206-0815
java.version=1.8.0_192
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.jface.text 2 0 2022-06-20 23:28:22.753
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!ENTRY org.eclipse.egit.ui 2 0 2022-06-20 23:28:39.929
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.jst.server.tomcat.core 4 0 2022-06-20 23:29:04.696
!MESSAGE Several ports (8005, 8080) required by Tomcat v8.5 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
!SESSION 2022-06-21 17:55:45.785 -----------------------------------------------
eclipse.buildId=4.10.0.I20181206-0815
java.version=1.8.0_192
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.jface.text 2 0 2022-06-21 17:56:28.014
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!ENTRY org.eclipse.egit.ui 2 0 2022-06-21 17:56:42.648
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-21 18:57:18.596
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
!SESSION 2022-06-21 21:39:41.193 -----------------------------------------------
eclipse.buildId=4.10.0.I20181206-0815
java.version=1.8.0_192
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.core.resources 2 10035 2022-06-21 21:40:01.863
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
!ENTRY org.eclipse.jface.text 2 0 2022-06-21 21:40:16.840
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!ENTRY org.eclipse.egit.ui 2 0 2022-06-21 21:40:30.191
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-21 21:46:57.942
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
!ENTRY org.eclipse.jface.text 2 0 2022-06-21 23:10:31.342
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!SESSION 2022-06-22 15:48:31.578 -----------------------------------------------
eclipse.buildId=4.10.0.I20181206-0815
java.version=1.8.0_192
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.jface.text 2 0 2022-06-22 15:49:00.972
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!ENTRY org.eclipse.egit.ui 2 0 2022-06-22 15:49:18.049
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.oomph.setup.core 2 0 2022-06-22 15:49:29.526
!MESSAGE The Eclipse Git-hosted URI 'http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/interim/GMFRuntime.setup' is blocked for direct access.
Please open a Bugzilla to add it to an official Oomph catalog.
For initial testing, use the file system local version of the resource.
Alternatively, run the setup archiver application as follows:
D:\eclipse\eclipsec.exe -application org.eclipse.oomph.setup.core.SetupArchiver -consoleLog -noSplash -uris http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/interim/GMFRuntime.setup
!ENTRY org.eclipse.jst.server.tomcat.core 4 0 2022-06-22 15:54:08.322
!MESSAGE Several ports (8005, 8080) required by Tomcat v8.5 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-22 16:09:04.669
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 16:09:31.491
!MESSAGE Unable to read repository at http://download.jboss.org/jbosstools/updates/webtools/photon/compositeContent.xml.
!STACK 0
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:573)
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:449)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.updateSecureConnection(DefaultClientConnectionOperator.java:220)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.layerProtocol(ManagedClientConnectionImpl.java:419)
at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:813)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:614)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(Unknown Source)
... 16 more
!ENTRY org.eclipse.equinox.p2.core 4 0 2022-06-22 16:10:34.475
!MESSAGE Provisioning exception
!STACK 1
org.eclipse.equinox.p2.core.ProvisionException: Unable to read repository at http://download.eclipse.org/jetty/updates/jetty-wtp/1.0.0.201107011148/content.xml.
at org.eclipse.equinox.internal.p2.repository.CacheManager.createCache(CacheManager.java:246)
at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.getLocalFile(SimpleMetadataRepositoryFactory.java:69)
at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:89)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:152)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:130)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:78)
Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:573)
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:449)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.updateSecureConnection(DefaultClientConnectionOperator.java:220)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.layerProtocol(ManagedClientConnectionImpl.java:419)
at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:813)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:614)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(Unknown Source)
... 16 more
!SUBENTRY 1 org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 16:10:34.545
!MESSAGE Unable to read repository at http://download.eclipse.org/jetty/updates/jetty-wtp/1.0.0.201107011148/content.xml.
!STACK 0
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:573)
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:449)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.updateSecureConnection(DefaultClientConnectionOperator.java:220)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.layerProtocol(ManagedClientConnectionImpl.java:419)
at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:813)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:614)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(Unknown Source)
... 16 more
!ENTRY org.eclipse.equinox.p2.core 4 0 2022-06-22 16:15:14.800
!MESSAGE Provisioning exception
!STACK 1
org.eclipse.equinox.p2.core.ProvisionException: No repository found at http://download.jboss.org/jbosstools/targetplatforms/jbtcentraltarget/4.23.0.AM1-SNAPSHOT/REPO/.
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:398)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.fail(CachingRepositoryManager.java:353)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:244)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
at org.eclipse.equinox.p2.engine.ProvisioningContext.loadMetadataRepository(ProvisioningContext.java:238)
at org.eclipse.equinox.p2.engine.ProvisioningContext.getLoadedMetadataRepositories(ProvisioningContext.java:216)
at org.eclipse.equinox.p2.engine.ProvisioningContext.getMetadata(ProvisioningContext.java:304)
at org.eclipse.equinox.internal.p2.director.SimplePlanner.updatesFor(SimplePlanner.java:1003)
at org.eclipse.equinox.p2.operations.UpdateOperation.updatesFor(UpdateOperation.java:144)
at org.eclipse.equinox.p2.operations.UpdateOperation.computeProfileChangeRequest(UpdateOperation.java:179)
at org.eclipse.equinox.p2.operations.UpdateOperation.lambda$0(UpdateOperation.java:314)
at org.eclipse.equinox.internal.p2.operations.SearchForUpdatesResolutionJob.runModal(SearchForUpdatesResolutionJob.java:41)
at org.eclipse.equinox.p2.operations.ProfileChangeOperation.resolveModal(ProfileChangeOperation.java:118)
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdater.updatesAvailable(AutomaticUpdater.java:111)
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdater.updatesAvailable(AutomaticUpdater.java:91)
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdateScheduler$1.updatesAvailable(AutomaticUpdateScheduler.java:151)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:83)
!SUBENTRY 1 org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-22 16:15:14.801
!MESSAGE No repository found at http://download.jboss.org/jbosstools/targetplatforms/jbtcentraltarget/4.23.0.AM1-SNAPSHOT/REPO/.
!SESSION 2022-06-22 19:33:21.564 -----------------------------------------------
eclipse.buildId=4.10.0.I20181206-0815
java.version=1.8.0_192
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.jface.text 2 0 2022-06-22 19:33:37.107
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!ENTRY org.eclipse.egit.ui 2 0 2022-06-22 19:33:47.535
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.oomph.setup.core 2 0 2022-06-22 19:34:41.513
!MESSAGE The Eclipse Git-hosted URI 'http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/interim/GMFRuntime.setup' is blocked for direct access.
Please open a Bugzilla to add it to an official Oomph catalog.
For initial testing, use the file system local version of the resource.
Alternatively, run the setup archiver application as follows:
D:\eclipse\eclipsec.exe -application org.eclipse.oomph.setup.core.SetupArchiver -consoleLog -noSplash -uris http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/interim/GMFRuntime.setup
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 19:52:27.021
!MESSAGE Unable to read repository at http://download.oracle.com/otn_software/oepe/12.2.1.8/oxygen/repository/dependencies/compositeContent.xml.
!STACK 0
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:573)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:557)
at org.eclipse.ecf.provider.filetransfer.httpclient4.SNIAwareHttpClient$1.connectSocket(SNIAwareHttpClient.java:64)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(Unknown Source)
... 17 more
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 19:53:46.554
!MESSAGE Unable to connect to repository http://download.oracle.com/otn_software/oepe/library/eclipse-oomph-1.8/content.xml
!STACK 0
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 19:54:31.036
!MESSAGE Unable to connect to repository http://download.oracle.com/otn_software/oepe/oxygen/compositeContent.xml
!STACK 0
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:542)
at org.eclipse.ecf.provider.filetransfer.httpclient4.SNIAwareHttpClient$1.connectSocket(SNIAwareHttpClient.java:64)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-22 19:55:24.554
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 20:00:13.074
!MESSAGE Unable to connect to repository http://download.oracle.com/otn_software/oepe/library/eclipse-oxygen.2/compositeContent.xml
!STACK 0
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
!ENTRY org.eclipse.jface.text 2 0 2022-06-22 22:38:47.088
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!ENTRY org.eclipse.jface.text 2 0 2022-06-22 22:38:47.185
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!SESSION 2022-06-27 10:02:58.885 -----------------------------------------------
eclipse.buildId=4.10.0.I20181206-0815
java.version=1.8.0_192
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.jface.text 2 0 2022-06-27 10:04:08.491
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
!ENTRY org.eclipse.egit.ui 2 0 2022-06-27 10:04:35.771
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-27 10:12:36.038
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.

@ -0,0 +1,23 @@
/* Malaysian initialisation for the jQuery UI date picker plugin. */
/* Written by Mohd Nawawi Mohamad Jamili (nawawi@ronggeng.net). */
jQuery(function($){
$.datepicker.regional['ms'] = {
closeText: 'Tutup',
prevText: '&#x3c;Sebelum',
nextText: 'Selepas&#x3e;',
currentText: 'hari ini',
monthNames: ['Januari','Februari','Mac','April','Mei','Jun',
'Julai','Ogos','September','Oktober','November','Disember'],
monthNamesShort: ['Jan','Feb','Mac','Apr','Mei','Jun',
'Jul','Ogo','Sep','Okt','Nov','Dis'],
dayNames: ['Ahad','Isnin','Selasa','Rabu','Khamis','Jumaat','Sabtu'],
dayNamesShort: ['Aha','Isn','Sel','Rab','kha','Jum','Sab'],
dayNamesMin: ['Ah','Is','Se','Ra','Kh','Ju','Sa'],
weekHeader: 'Mg',
dateFormat: 'dd/mm/yy',
firstDay: 0,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['ms']);
});

@ -0,0 +1,113 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>showitem.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="<c:url value='/jsps/css/cart/showitem.css'/>">
<script src="<c:url value='/jquery/jquery-1.5.1.js'/>"></script>
<script src="<c:url value='/js/round.js'/>"></script>
<style type="text/css">
#addr{width: 500px; height: 32px;border: 1px solid #7f9db9; padding-left: 10px; line-height: 32px;}
</style>
<script type="text/javascript">
//计算合计
$(function() {
var total = 0;
$(".subtotal").each(function() {
total += Number($(this).text());
});
$("#total").text(round(total, 2));
});
</script>
</head>
<body>
<form id="form1" action="<c:url value='/jsps/order/ordersucc.jsp'/>" method="post">
<input type="hidden" name="cartItemIds" value=""/>
<input type="hidden" name="method" value=""/>
<table width="95%" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#efeae5">
<td width="400px" colspan="5"><span style="font-weight: 900;">生成订单</span></td>
</tr>
<tr align="center">
<td width="10%">&nbsp;</td>
<td width="50%">图书名称</td>
<td>单价</td>
<td>数量</td>
<td>小计</td>
</tr>
<tr align="center">
<td align="right">
<a class="linkImage" href="<c:url value='/jsps/book/desc.jsp'/>"><img border="0" width="54" align="top" src="<c:url value='/book_img/23254532-1_b.jpg'/>"/></a>
</td>
<td align="left">
<a href="<c:url value='/jsps/book/desc.jsp'/>"><span>Spring实战(第3版)In Action系列中最畅销的Spring图书近十万读者学习Spring的共同选择</span></a>
</td>
<td>&yen;40.7</td>
<td>1</td>
<td>
<span class="price_n">&yen;<span class="subtotal">40.7</span></span>
</td>
</tr>
<tr align="center">
<td align="right">
<a class="linkImage" href="<c:url value='/jsps/book/desc.jsp'/>"><img border="0" width="54" align="top" src="<c:url value='/book_img/23254532-1_b.jpg'/>"/></a>
</td>
<td align="left">
<a href="<c:url value='/jsps/book/desc.jsp'/>"><span>Spring实战(第3版)In Action系列中最畅销的Spring图书近十万读者学习Spring的共同选择</span></a>
</td>
<td>&yen;40.7</td>
<td>1</td>
<td>
<span class="price_n">&yen;<span class="subtotal">40.7</span></span>
</td>
</tr>
<tr>
<td colspan="6" align="right">
<span>总计:</span><span class="price_t">&yen;<span id="total"></span></span>
</td>
</tr>
<tr>
<td colspan="5" bgcolor="#efeae5"><span style="font-weight: 900">收货地址</span></td>
</tr>
<tr>
<td colspan="6">
<input id="addr" type="text" name="address" value="北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷"/>
</td>
</tr>
<tr>
<td style="border-top-width: 4px;" colspan="5" align="right">
<a id="linkSubmit" href="javascript:$('#form1').submit();">提交订单</a>
</td>
</tr>
</table>
</form>
</body>
</html>

@ -0,0 +1,71 @@
table {
font-size: 10pt;
}
td {
padding-left: 5px;
}
body {
font-size: 10pt;
color: #404040;
}
.divMain {
width: 900px;
margin-left: 30px;
}
.divTitle {
border: 1px solid #d0d0d0;
background: url(/goods/images/bg_btns.png) repeat-x;
background-position: 0 -132px;
margin-left: 2px;
height: 30px;
width: 99.8%;
line-height: 30px;
}
.price_t {
color: #c30;
font-weight: bold;
padding-right: 10px;
font-family: Arial;
font-size: 10pt;
}
.tt {
background-color: #efeae5;
height: 25px;
font-family: Arial;
color: #878787;
}
a {
text-decoration: none;
color: #018BD3;
}
a:visited {
color: #018BD3;
}
a:hover {
color: #FF6600;
text-decoration: underline;
}
a.link2 {
border: 1px solid #ffffff;
display: inline-block;
}
a.link2:HOVER {
border: 1px solid #d0d0d0;
display: inline-block;
}
a.link2:active {
border: 1px dotted #404040;
display: inline-block;
}

@ -0,0 +1,23 @@
/* Indonesian initialisation for the jQuery UI date picker plugin. */
/* Written by Deden Fathurahman (dedenf@gmail.com). */
jQuery(function($){
$.datepicker.regional['id'] = {
closeText: 'Tutup',
prevText: '&#x3c;mundur',
nextText: 'maju&#x3e;',
currentText: 'hari ini',
monthNames: ['Januari','Februari','Maret','April','Mei','Juni',
'Juli','Agustus','September','Oktober','Nopember','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
'Jul','Agus','Sep','Okt','Nop','Des'],
dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'],
dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'],
dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'],
weekHeader: 'Mg',
dateFormat: 'dd/mm/yy',
firstDay: 0,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['id']);
});

@ -0,0 +1,40 @@
/*
* jQuery UI Dialog 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Dialog
*
* Depends:
* jquery.ui.core.js
* jquery.ui.widget.js
* jquery.ui.button.js
* jquery.ui.draggable.js
* jquery.ui.mouse.js
* jquery.ui.position.js
* jquery.ui.resizable.js
*/
(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,
position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=
1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,
function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,
originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",
f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):
[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);
if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):
e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||"&#160;"));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=
this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-
b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.14",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),
create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),
height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);
b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=
a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);

@ -0,0 +1,39 @@
package cn.itcast.goods.admin.admin.web.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.itcast.commons.CommonUtils;
import cn.itcast.goods.admin.admin.domain.Admin;
import cn.itcast.goods.admin.admin.service.AdminService;
import cn.itcast.servlet.BaseServlet;
public class AdminServlet extends BaseServlet {
private AdminService adminService = new AdminService();
/**
* 登录功能
* @param req
* @param resp
* @return
* @throws ServletException
* @throws IOException
*/
public String login(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
/*
* 1. 封装表单数据到Admin
*/
Admin form = CommonUtils.toBean(req.getParameterMap(), Admin.class);
Admin admin = adminService.login(form);
if(admin == null) {
req.setAttribute("msg", "用户名或密码错误!");
return "/adminjsps/login.jsp";
}
req.getSession().setAttribute("admin", admin);
return "r:/adminjsps/admin/index.jsp";
}
}

@ -0,0 +1,49 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>添加分类</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="<c:url value='/jquery/jquery-1.5.1.js'/>"></script>
<script type="text/javascript">
function checkForm() {
if(!$("#cname").val()) {
alert("分类名不能为空!");
return false;
}
if(!$("#desc").val()) {
alert("分类描述不能为空!");
return false;
}
return true;
}
</script>
<style type="text/css">
body {background: rgb(254,238,189);}
</style>
</head>
<body>
<h3>修改1级分类</h3>
<h1></h1>
<p style="font-weight: 900; color: red">${msg }</p>
<form action="<c:url value='/admin/AdminCategoryServlet'/>" method="post" onsubmit="return checkForm()">
<input type="hidden" name="cid" value="${parent.cid }"/>
<input type="hidden" name="method" value="editParent"/>
分类名称:<input type="text" name="cname" id="cname" value="${parent.cname }"/><br/>
分类描述:<textarea rows="5" cols="50" id="desc" name="desc">${parent.desc }</textarea><br/>
<input type="submit" value="修改分类"/>
<input type="button" value="返回" onclick="history.go(-1)"/>
</form>
</body>
</html>

@ -0,0 +1,14 @@
/*
* jQuery UI Effects Clip 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Effects/Clip
*
* Depends:
* jquery.effects.core.js
*/
(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","bottom","left","right","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,
c/2)}var h={};h[g.size]=f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);

@ -0,0 +1,14 @@
/*
* jQuery UI Effects Blind 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Effects/Blind
*
* Depends:
* jquery.effects.core.js
*/
(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,
g);b.effects.removeWrapper(a);c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);

@ -0,0 +1,23 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>body.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body style="margin: 0px;">
<img src="<c:url value='/images/welcome.jpg'/>" width="100%" height="100%"/>
</body>
</html>

@ -0,0 +1,52 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>组合查询</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
table {
color: #404040;
font-size: 10pt;
}
</style>
</head>
<body>
<form action="<c:url value='/jsps/book/list.jsp'/>" method="get">
<input type="hidden" name="method" value=""/>
<table align="center">
<tr>
<td>书名:</td>
<td><input type="text" name="bname"/></td>
</tr>
<tr>
<td>作者:</td>
<td><input type="text" name="author"/></td>
</tr>
<tr>
<td>出版社:</td>
<td><input type="text" name="press"/></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="submit" value="搜  索"/>
<input type="reset" value="重新填写"/>
</td>
</tr>
</table>
</form>
</body>
</html>

@ -0,0 +1,296 @@
/*
* jQuery UI Droppable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Droppables
*
* Depends:
* jquery.ui.core.js
* jquery.ui.widget.js
* jquery.ui.mouse.js
* jquery.ui.draggable.js
*/
(function( $, undefined ) {
$.widget("ui.droppable", {
widgetEventPrefix: "drop",
options: {
accept: '*',
activeClass: false,
addClasses: true,
greedy: false,
hoverClass: false,
scope: 'default',
tolerance: 'intersect'
},
_create: function() {
var o = this.options, accept = o.accept;
this.isover = 0; this.isout = 1;
this.accept = $.isFunction(accept) ? accept : function(d) {
return d.is(accept);
};
//Store the droppable's proportions
this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight };
// Add the reference and positions to the manager
$.ui.ddmanager.droppables[o.scope] = $.ui.ddmanager.droppables[o.scope] || [];
$.ui.ddmanager.droppables[o.scope].push(this);
(o.addClasses && this.element.addClass("ui-droppable"));
},
destroy: function() {
var drop = $.ui.ddmanager.droppables[this.options.scope];
for ( var i = 0; i < drop.length; i++ )
if ( drop[i] == this )
drop.splice(i, 1);
this.element
.removeClass("ui-droppable ui-droppable-disabled")
.removeData("droppable")
.unbind(".droppable");
return this;
},
_setOption: function(key, value) {
if(key == 'accept') {
this.accept = $.isFunction(value) ? value : function(d) {
return d.is(value);
};
}
$.Widget.prototype._setOption.apply(this, arguments);
},
_activate: function(event) {
var draggable = $.ui.ddmanager.current;
if(this.options.activeClass) this.element.addClass(this.options.activeClass);
(draggable && this._trigger('activate', event, this.ui(draggable)));
},
_deactivate: function(event) {
var draggable = $.ui.ddmanager.current;
if(this.options.activeClass) this.element.removeClass(this.options.activeClass);
(draggable && this._trigger('deactivate', event, this.ui(draggable)));
},
_over: function(event) {
var draggable = $.ui.ddmanager.current;
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
if(this.options.hoverClass) this.element.addClass(this.options.hoverClass);
this._trigger('over', event, this.ui(draggable));
}
},
_out: function(event) {
var draggable = $.ui.ddmanager.current;
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
if(this.options.hoverClass) this.element.removeClass(this.options.hoverClass);
this._trigger('out', event, this.ui(draggable));
}
},
_drop: function(event,custom) {
var draggable = custom || $.ui.ddmanager.current;
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element
var childrenIntersection = false;
this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() {
var inst = $.data(this, 'droppable');
if(
inst.options.greedy
&& !inst.options.disabled
&& inst.options.scope == draggable.options.scope
&& inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element))
&& $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)
) { childrenIntersection = true; return false; }
});
if(childrenIntersection) return false;
if(this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
if(this.options.activeClass) this.element.removeClass(this.options.activeClass);
if(this.options.hoverClass) this.element.removeClass(this.options.hoverClass);
this._trigger('drop', event, this.ui(draggable));
return this.element;
}
return false;
},
ui: function(c) {
return {
draggable: (c.currentItem || c.element),
helper: c.helper,
position: c.position,
offset: c.positionAbs
};
}
});
$.extend($.ui.droppable, {
version: "1.8.14"
});
$.ui.intersect = function(draggable, droppable, toleranceMode) {
if (!droppable.offset) return false;
var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width,
y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height;
var l = droppable.offset.left, r = l + droppable.proportions.width,
t = droppable.offset.top, b = t + droppable.proportions.height;
switch (toleranceMode) {
case 'fit':
return (l <= x1 && x2 <= r
&& t <= y1 && y2 <= b);
break;
case 'intersect':
return (l < x1 + (draggable.helperProportions.width / 2) // Right Half
&& x2 - (draggable.helperProportions.width / 2) < r // Left Half
&& t < y1 + (draggable.helperProportions.height / 2) // Bottom Half
&& y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
break;
case 'pointer':
var draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left),
draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top),
isOver = $.ui.isOver(draggableTop, draggableLeft, t, l, droppable.proportions.height, droppable.proportions.width);
return isOver;
break;
case 'touch':
return (
(y1 >= t && y1 <= b) || // Top edge touching
(y2 >= t && y2 <= b) || // Bottom edge touching
(y1 < t && y2 > b) // Surrounded vertically
) && (
(x1 >= l && x1 <= r) || // Left edge touching
(x2 >= l && x2 <= r) || // Right edge touching
(x1 < l && x2 > r) // Surrounded horizontally
);
break;
default:
return false;
break;
}
};
/*
This manager tracks offsets of draggables and droppables
*/
$.ui.ddmanager = {
current: null,
droppables: { 'default': [] },
prepareOffsets: function(t, event) {
var m = $.ui.ddmanager.droppables[t.options.scope] || [];
var type = event ? event.type : null; // workaround for #2317
var list = (t.currentItem || t.element).find(":data(droppable)").andSelf();
droppablesLoop: for (var i = 0; i < m.length; i++) {
if(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) continue; //No disabled and non-accepted
for (var j=0; j < list.length; j++) { if(list[j] == m[i].element[0]) { m[i].proportions.height = 0; continue droppablesLoop; } }; //Filter out elements in the current dragged item
m[i].visible = m[i].element.css("display") != "none"; if(!m[i].visible) continue; //If the element is not visible, continue
if(type == "mousedown") m[i]._activate.call(m[i], event); //Activate the droppable if used directly from draggables
m[i].offset = m[i].element.offset();
m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight };
}
},
drop: function(draggable, event) {
var dropped = false;
$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {
if(!this.options) return;
if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance))
dropped = dropped || this._drop.call(this, event);
if (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
this.isout = 1; this.isover = 0;
this._deactivate.call(this, event);
}
});
return dropped;
},
dragStart: function( draggable, event ) {
//Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)
draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() {
if( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event );
});
},
drag: function(draggable, event) {
//If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, event);
//Run through all droppables and check their positions based on specific tolerance options
$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {
if(this.options.disabled || this.greedyChild || !this.visible) return;
var intersects = $.ui.intersect(draggable, this, this.options.tolerance);
var c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null);
if(!c) return;
var parentInstance;
if (this.options.greedy) {
var parent = this.element.parents(':data(droppable):eq(0)');
if (parent.length) {
parentInstance = $.data(parent[0], 'droppable');
parentInstance.greedyChild = (c == 'isover' ? 1 : 0);
}
}
// we just moved into a greedy child
if (parentInstance && c == 'isover') {
parentInstance['isover'] = 0;
parentInstance['isout'] = 1;
parentInstance._out.call(parentInstance, event);
}
this[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0;
this[c == "isover" ? "_over" : "_out"].call(this, event);
// we just moved out of a greedy child
if (parentInstance && c == 'isout') {
parentInstance['isout'] = 0;
parentInstance['isover'] = 1;
parentInstance._over.call(parentInstance, event);
}
});
},
dragStop: function( draggable, event ) {
draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );
//Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)
if( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event );
}
};
})(jQuery);

@ -0,0 +1,54 @@
/*
* jQuery UI Effects Clip 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Effects/Clip
*
* Depends:
* jquery.effects.core.js
*/
(function( $, undefined ) {
$.effects.clip = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','bottom','left','right','height','width'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
var direction = o.options.direction || 'vertical'; // Default direction
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
var animate = el[0].tagName == 'IMG' ? wrapper : el;
var ref = {
size: (direction == 'vertical') ? 'height' : 'width',
position: (direction == 'vertical') ? 'top' : 'left'
};
var distance = (direction == 'vertical') ? animate.height() : animate.width();
if(mode == 'show') { animate.css(ref.size, 0); animate.css(ref.position, distance / 2); } // Shift
// Animation
var animation = {};
animation[ref.size] = mode == 'show' ? distance : 0;
animation[ref.position] = mode == 'show' ? 0 : distance / 2;
// Animate
animate.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == 'hide') el.hide(); // Hide
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(el[0], arguments); // Callback
el.dequeue();
}});
});
};
})(jQuery);

@ -0,0 +1,81 @@
.menuBar {
border:1px solid rgb(211,211,211);
width:168px;
color:#ffffff;
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
}
.barTitle {
height:55px;
background-color:rgb(25,119,176);
font-weight:bold;
}
.barTitleText {
float:left;
width:100%;
margin-top:20px;
text-align:center;
}
.menuTitleText {
margin-top:3px;
margin-left:10px;
float:left;
}
.menuTitle {
background-color:rgb(25,119,176);
width:168px;
height:25px;
margin-top:1px;
border-right-color:rgb(211,211,211);
border-bottom-color:rgb(211,211,211);
border-right-width:1px;
border-bottom-width:1px;
border-right-style:solid;
border-bottom-style:solid;
cursor:pointer;
}
.menuTitleIcon {
margin-top:3px;
float:left;
}
.menuContent {
/* height:150px;*/
color:#FFFFFF;
display:none;
overflow:auto;
text-align:center;
}
.barBottom {
background-color:rgb(25,119,176);
width:168px;
height:15px;
}
a {
color:#000000;
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
}
a:link {
TEXT-DECORATION: none
}
a:visited {
TEXT-DECORATION: none
}
a:hover {
TEXT-DECORATION: none;
font
}
a:active {
TEXT-DECORATION: none;/*underline*/
}
.menuItem {
height:25px;
margin-bottom:1px;
border: 1px solid rgb(68,141,174);
background-color: rgb(121,201,236);
cursor:pointer;
}

@ -0,0 +1,180 @@
package cn.itcast.goods.category.dao;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.apache.commons.dbutils.handlers.MapListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import cn.itcast.commons.CommonUtils;
import cn.itcast.goods.category.domain.Category;
import cn.itcast.jdbc.TxQueryRunner;
/**
* 分类持久层
* @author qdmmy6
*
*/
public class CategoryDao {
private QueryRunner qr = new TxQueryRunner();
/*
* 把一个Map中的数据映射到Category中
*/
private Category toCategory(Map<String,Object> map) {
/*
* map {cid:xx, cname:xx, pid:xx, desc:xx, orderBy:xx}
* Category{cid:xx, cname:xx, parent:(cid=pid), desc:xx}
*/
Category category = CommonUtils.toBean(map, Category.class);
String pid = (String)map.get("pid");// 如果是一级分类那么pid是null
if(pid != null) {//如果父分类ID不为空
/*
* 使用一个父分类对象来拦截pid
* 再把父分类设置给category
*/
Category parent = new Category();
parent.setCid(pid);
category.setParent(parent);
}
return category;
}
/*
* 可以把多个Map(List<Map>)映射成多个Category(List<Category>)
*/
private List<Category> toCategoryList(List<Map<String,Object>> mapList) {
List<Category> categoryList = new ArrayList<Category>();//创建一个空集合
for(Map<String,Object> map : mapList) {//循环遍历每个Map
Category c = toCategory(map);//把一个Map转换成一个Category
categoryList.add(c);//添加到集合中
}
return categoryList;//返回集合
}
/**
* 返回所有分类
* @return
* @throws SQLException
*/
public List<Category> findAll() throws SQLException {
/*
* 1. 查询出所有一级分类
*/
String sql = "select * from t_category where pid is null order by orderBy";
List<Map<String,Object>> mapList = qr.query(sql, new MapListHandler());
List<Category> parents = toCategoryList(mapList);
/*
* 2. 循环遍历所有的一级分类,为每个一级分类加载它的二级分类
*/
for(Category parent : parents) {
// 查询出当前父分类的所有子分类
List<Category> children = findByParent(parent.getCid());
// 设置给父分类
parent.setChildren(children);
}
return parents;
}
/**
* 通过父分类查询子分类
* @param pid
* @return
* @throws SQLException
*/
public List<Category> findByParent(String pid) throws SQLException {
String sql = "select * from t_category where pid=? order by orderBy";
List<Map<String,Object>> mapList = qr.query(sql, new MapListHandler(), pid);
return toCategoryList(mapList);
}
/**
* 添加分类
* @param category
* @throws SQLException
*/
public void add(Category category) throws SQLException {
String sql = "insert into t_category(cid,cname,pid,`desc`) values(?,?,?,?)";
/*
* 因为一级分类没有parent而二级分类有
* 我们这个方法,要兼容两次分类,所以需要判断
*/
String pid = null;//一级分类
if(category.getParent() != null) {
pid = category.getParent().getCid();
}
Object[] params = {category.getCid(), category.getCname(), pid, category.getDesc()};
qr.update(sql, params);
}
/**
* 获取所有父分类,但不带子分类的!
* @return
* @throws SQLException
*/
public List<Category> findParents() throws SQLException {
/*
* 1. 查询出所有一级分类
*/
String sql = "select * from t_category where pid is null order by orderBy";
List<Map<String,Object>> mapList = qr.query(sql, new MapListHandler());
return toCategoryList(mapList);
}
/**
* 加载分类
* 即可加载一级分类,也可加载二级分类
* @param cid
* @return
* @throws SQLException
*/
public Category load(String cid) throws SQLException {
String sql = "select * from t_category where cid=?";
return toCategory(qr.query(sql, new MapHandler(), cid));
}
/**
* 修改分类
* 即可修改一级分类,也可修改二级分类
* @param category
* @throws SQLException
*/
public void edit(Category category) throws SQLException {
String sql = "update t_category set cname=?, pid=?, `desc`=? where cid=?";
String pid = null;
if(category.getParent() != null) {
pid = category.getParent().getCid();
}
Object[] params = {category.getCname(), pid, category.getDesc(), category.getCid()};
qr.update(sql, params);
}
/**
* 查询指定父分类下子分类的个数
* @param pid
* @return
* @throws SQLException
*/
public int findChildrenCountByParent(String pid) throws SQLException {
String sql = "select count(*) from t_category where pid=?";
Number cnt = (Number)qr.query(sql, new ScalarHandler(), pid);
return cnt == null ? 0 : cnt.intValue();
}
/**
* 删除分类
* @param cid
* @throws SQLException
*/
public void delete(String cid) throws SQLException {
String sql = "delete from t_category where cid=?";
qr.update(sql, cid);
}
}

@ -0,0 +1,26 @@
package cn.itcast.vcode.servlet;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.itcast.vcode.utils.VerifyCode;
@SuppressWarnings("serial")
public class VerifyCodeServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
VerifyCode vc = new VerifyCode();
BufferedImage image = vc.getImage();//获取一次性验证码图片
// 该方法必须在getImage()方法之后来调用
// System.out.println(vc.getText());//获取图片上的文本
VerifyCode.output(image, response.getOutputStream());//把图片写到指定流中
// 把文本保存到session中为LoginServlet验证做准备
request.getSession().setAttribute("vCode", vc.getText());
}
}

@ -0,0 +1,62 @@
.bold {font-weight: 900;}
.divBody {
background: url(/goods/images/paginating_bg.png) repeat-x;
border-top: 2px solid #FE7C2C;
height: 35px;
width: 100%;
text-align: right;
}
.divContent {
line-height: 35px;
margin-right: 15px;
}
.spanBtnSelect {
border: 1px solid #F75A00;
color: #FFFFFF;
background-color: #FE7C2C;
text-align:center;
padding: 4px 8px 3px 8px;
text-decoration: none;
}
.aBtn {
border: 1px solid #c1c1c1;
text-align:center;
background-color: #FFFFFF;
color: #555555;
padding: 4px 8px 3px 8px;
text-decoration: none;
}
.spanBtnDisabled {
border: 1px solid #c1c1c1;
text-align:center;
background-color: #FFFFFF;
color: #c1c1c1;
padding: 4px 8px 3px 8px;
font-weight: 900;
}
.spanApostrophe {
font-family: Arial;
}
.aBtn:HOVER {
border: 1px solid #F75A00;
background-color: #FE7C2C;
color: #FFFFFF;
}
.inputPagecode {
border: 1px solid #c1c1c1;
width: 25px;
padding: 0px;
}
.aSubmit {
border: 1px solid #c1c1c1;
padding:1px 4px 1px 4px;
color: #555555;
text-decoration: none;
}
.aSubmit:HOVER {
border: 1px solid #c1c1c1;
padding:1px 4px 1px 4px;
color: #555555;
background: url(/goods/images/qd.png) repeat-x;
}

@ -0,0 +1,75 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>pwd.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="<c:url value='/css/css.css'/>">
<link rel="stylesheet" type="text/css" href="<c:url value='/jsps/css/user/pwd.css'/>">
<script type="text/javascript" src="<c:url value='/jquery/jquery-1.5.1.js'/>"></script>
<script type="text/javascript" src="<c:url value='/jsps/js/user/pwd.js'/>"></script>
<script src="<c:url value='/js/common.js'/>"></script>
</head>
<body>
<div class="div0">
<span>修改密码</span>
</div>
<div class="div1">
<form action="<c:url value='/UserServlet'/>" method="post" target="_top">
<input type="hidden" name="method" value="updatePassword"/>
<table>
<tr>
<td><label class="error">${msg }</label></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td align="right">原密码:</td>
<td><input class="input" type="password" name="loginpass" id="loginpass" value="${user.loginpass }"/></td>
<td><label id="loginpassError" class="error"></label></td>
</tr>
<tr>
<td align="right">新密码:</td>
<td><input class="input" type="password" name="newpass" id="newpass" value="${user.newpass }""/></td>
<td><label id="newpassError" class="error"></label></td>
</tr>
<tr>
<td align="right">确认密码:</td>
<td><input class="input" type="password" name="reloginpass" id="reloginpass" value="${user.reloginpass }""/></td>
<td><label id="reloginpassError" class="error"></label></td>
</tr>
<tr>
<td align="right"></td>
<td>
<img id="vCode" src="<c:url value='/VerifyCodeServlet'/>" border="1"/>
<a href="javascript:_change();">看不清,换一张</a>
</td>
</tr>
<tr>
<td align="right">验证码:</td>
<td>
<input class="input" type="text" name="verifyCode" id="verifyCode" value="${user.verifyCode }""/>
</td>
<td><label id="verifyCodeError" class="error"></label></td>
</tr>
<tr>
<td align="right"></td>
<td><input id="submit" type="submit" value="修改密码"/></td>
</tr>
</table>
</form>
</div>
</body>
</html>

@ -0,0 +1,14 @@
/*
* jQuery UI Effects Transfer 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Effects/Transfer
*
* Depends:
* jquery.effects.core.js
*/
(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
b.dequeue()})})}})(jQuery);

@ -0,0 +1,471 @@
/*
SQLyog Ultimate v8.32
MySQL - 5.1.32-community-log : Database - goods
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`goods` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `goods`;
/*Table structure for table `t_admin` */
DROP TABLE IF EXISTS `t_admin`;
CREATE TABLE `t_admin` (
`adminId` char(32) NOT NULL,
`adminname` varchar(50) DEFAULT NULL,
`adminpwd` varchar(50) DEFAULT NULL,
PRIMARY KEY (`adminId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `t_admin` */
insert into `t_admin`(`adminId`,`adminname`,`adminpwd`) values ('a1','liuBei','123');
insert into `t_admin`(`adminId`,`adminname`,`adminpwd`) values ('a2','guanYu','123');
insert into `t_admin`(`adminId`,`adminname`,`adminpwd`) values ('a3','zhangSanFei','123');
/*Table structure for table `t_book` */
DROP TABLE IF EXISTS `t_book`;
CREATE TABLE `t_book` (
`bid` char(32) NOT NULL,
`bname` varchar(200) DEFAULT NULL,
`author` varchar(50) DEFAULT NULL,
`price` decimal(8,2) DEFAULT NULL,
`currPrice` decimal(8,2) DEFAULT NULL,
`discount` decimal(3,1) DEFAULT NULL,
`press` varchar(100) DEFAULT NULL,
`publishtime` char(10) DEFAULT NULL,
`edition` int(11) DEFAULT NULL,
`pageNum` int(11) DEFAULT NULL,
`wordNum` int(11) DEFAULT NULL,
`printtime` char(10) DEFAULT NULL,
`booksize` int(11) DEFAULT NULL,
`paper` varchar(50) DEFAULT NULL,
`cid` char(32) DEFAULT NULL,
`image_w` varchar(100) DEFAULT NULL,
`image_b` varchar(100) DEFAULT NULL,
`orderBy` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`bid`),
KEY `orderBy` (`orderBy`),
KEY `FK_t_book_t_category` (`cid`),
CONSTRAINT `FK_t_book_t_category` FOREIGN KEY (`cid`) REFERENCES `t_category` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8;
/*Data for the table `t_book` */
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('000A18FDB38F470DBE9CD0972BADB23F','Java Web整合开发实战--基于Struts 2+Hibernate+Spring99个应用实例4个项目开发案例15.5小时配套教学视频超值DVD光盘含大量开发资源。一本书搞定SSH框架整合开发','贾蓓','79.80','55.10','6.9','清华大学出版社','2013-7-1',1,640,1030000,'2013-7-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23268958-1_w.jpg','book_img/23268958-1_b.jpg',16);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('0BE0707984014E66BD9F34F534FCE0F7','OSGi实战【OSGi规范制定者亲自撰写 汇集Apache项目技术实战经验】','Richard','99.00','68.30','6.9','人民邮电出版社','2013-1-1',1,468,721000,'2013-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22938396-1_w.jpg','book_img/22938396-1_b.jpg',58);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('0EE8A0AE69154287A378FB110FF2C780','Java核心技术基础知识原书第8版','昊斯特曼','98.00','67.60','6.9','机械工业出版社','2008-6-1',1,694,0,'2008-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20285763-1_w.jpg','book_img/20285763-1_b.jpg',12);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('113D0D1BB9174DD19A7DE7E2B37F677F','Java7入门经典跟编程导师Ivor Horton学Java 预计到货日期9月初','霍尔顿','118.00','81.40','6.9','清华大学出版社','2012-8-1',1,1124,1918000,'2012-8-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22813026-1_w.jpg','book_img/22813026-1_b.jpg',94);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('1286B13F0EA54E4CB75434762121486A','Java核心技术 卷I基础知识(第9版·英文版)(上、下册)','霍斯特曼','109.00','75.20','6.9','人民邮电出版社','2013-7-1',1,0,1197000,'2013-7-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23280479-1_w.jpg','book_img/23280479-1_b.jpg',65);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('13EBF9B1FDE346A683A1C45BD6773ECB','Java开发实战1200例第Ⅱ卷史上最全的“编程实例”类图书代码分析、实例速查、练习巩固的绝好帮手','无','99.00','68.30','6.9','清华大学出版社','0',1,0,1754000,'2011-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/21110930-1_w_1.jpg','book_img/21110930-1_b.jpg',83);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('1A15DC5E8A014A58862ED741D579B530','Java深入解析——透析Java本质的36个话题','梁勇','49.00','33.80','6.9','电子工业出版社','2013-11-1',1,298,424000,'2013-11-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23363997-1_w_1.jpg','book_img/23363997-1_b.jpg',86);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('210A3DCA429049C78B623C3986BEB136','JavaScript经典教程套装JavaScript高级程序设计(第3版)+JavaScript DOM编程艺术(第2版)(套装共2册)(超值附赠《码农》光盘1张)','Nicholas C. Zakas','148.00','88.80','6.0','人民邮电出版社','2013-4-1',1,1048,0,'2013-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23224089-1_w.jpg','book_img/23224089-1_b.jpg',93);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('22234CECF15F4ECB813F0B433DDA5365','JavaScript从入门到精通附光盘1张连续8月JavaScript类全国零售排行前2名13小时视频400个经典实例、369项面试真题、138项测试史上最全资源库','明日科技','69.80','48.20','6.9','清华大学出版社','2012-9-1',1,532,939000,'2012-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22862057-1_w.jpg','book_img/22862057-1_b.jpg',20);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('230A00EC22BF4A1DBA87C64800B54C8D','Struts2技术内幕深入解析Struts架构设计与实现原理','陆舟','69.00','47.60','6.9','机械工业出版社','2012-1-1',1,379,0,'2012-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22577578-1_w.jpg','book_img/22577578-1_b.jpg',56);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('260F8A3594F741C1B0EB69616F65045B','Tomcat与Java Web开发技术详解第2版(含光盘1张)','孙卫琴','79.50','54.90','6.9','电子工业出版社','2009-1-1',1,734,1216000,'2009-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20420983-1_w.jpg','book_img/20420983-1_b.jpg',74);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('28A03D28BAD449659A77330BE35FCD65','JAVA核心技术卷II高级特性原书第8版','霍斯特曼','118.00','81.40','6.9','机械工业出版社','2008-12-1',1,852,0,'2008-12-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20446562-1_w.jpg','book_img/20446562-1_b.jpg',18);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('2EE1A20A6AF742E387E18619D7E3BB94','Java虚拟机并发编程(Java并发编程领域的里程碑之作资深Java技术专家、并发编程专家、敏捷开发专家和Jolt大奖得主撰写Amazon五星畅销书)','Venkat Subramaniam','59.00','40.70','6.9','机械工业出版社','2013-5-1',1,215,0,'2013-5-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23239786-1_w.jpg','book_img/23239786-1_b.jpg',54);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('33ACF97A9A374352AE9F5E89BB791262','基于MVC的JavaScript Web富应用开发','麦卡劳','59.00','40.70','6.9','电子工业出版社','2012-5-1',1,282,462000,'2012-5-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22757564-1_w.jpg','book_img/22757564-1_b.jpg',34);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('37F75BEAE1FE46F2B14674923F1E7987','数据结构与算法分析Java语言描述 第2版','韦斯','55.00','38.00','6.9','机械工业出版社','2009-1-1',2,440,0,'2009-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20417467-1_w.jpg','book_img/20417467-1_b.jpg',32);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('39F1D0803E8F4592AE1245CACE683214','Java程序员修炼之道','埃文斯','89.00','61.40','6.9','人民邮电出版社','2013-8-1',1,395,658000,'2013-8-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23301847-1_w_1.jpg','book_img/23301847-1_b.jpg',36);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('3AE5C8B976B6448A9D3A155C1BDE12BC','深入理解Java虚拟机:JVM高级特性与最佳实践超级畅销书6个月5次印刷从实践角度解析JVM工作原理Java程序员必备','周志明','69.00','47.60','6.9','机械工业出版社','0',1,0,0,'2011-7-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/21108671-1_w_1.jpg','book_img/21108671-1_b.jpg',66);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('3DD187217BF44A99B86DD18A4DC628BA','Java核心技术 卷1 基础知识原书第9版','霍斯特曼,科内尔','119.00','82.10','6.9','机械工业出版社','2014-1-1',1,704,0,'2014-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23362142-1_w_1.jpg','book_img/23362142-1_b.jpg',9);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('3E1990E19989422E9DA735978CB1E4CE','Effective Java中文版(第2版)','布洛克','52.00','35.90','6.9','机械工业出版社','2009-1-1',2,287,0,'2009-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20459091-1_w.jpg','book_img/20459091-1_b.jpg',25);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('400D94DE5A0742B3A618FC76DF107183','JavaScript宝典第7版配光盘','古德曼','128.00','88.30','6.9','清华大学出版社','2013-1-1',1,1012,1657000,'2013-1-1',32,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23169892-1_w.jpg','book_img/23169892-1_b.jpg',88);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('4491EA4832E04B8B94F334B71E871983','Java语言程序设计进阶篇原书第8版','梁勇','79.00','54.50','6.9','机械工业出版社','2011-6-1',1,507,0,'2011-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/21117631-1_w_1.jpg','book_img/21117631-1_b.jpg',48);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('48BBFBFC07074ADE8CC906A45BE5D9A6','JavaScript权威指南第6版淘宝前端团队倾情翻译经典权威的JavaScript犀牛书第6版特别涵盖了HTML5和ECMAScript5经典巨著当当独家首发','弗兰纳根','139.00','95.30','6.9','机械工业出版社','2012-4-1',1,1004,0,'2012-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22722790-1_w.jpg','book_img/22722790-1_b.jpg',4);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('49D98E7916B94232862F7DCD1B0BAB66','HTML5+JavaScript动画基础','兰贝塔','69.00','47.60','6.9','人民邮电出版社','2013-6-1',1,393,553000,'2013-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23266633-1_w.jpg','book_img/23266633-1_b.jpg',51);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('4A9574F03A6B40C1B2A437237C17DEEC','Spring实战(第3版)In Action系列中最畅销的Spring图书近十万读者学习Spring的共同选择','Craig Walls','59.00','40.70','6.9','人民邮电出版社','2013-6-1',1,374,487000,'2013-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23254532-1_w.jpg','book_img/23254532-1_b.jpg',11);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('4BF6D97DD18A4B77B8DED9B057577F8F','Java Web从入门到精通附光盘1张连续8月Java类全国零售排行前2名27小时视频951个经典实例、369项面试真题、596项测试史上最全资源库','明日科技','69.80','48.20','6.9','清华大学出版社','2012-9-1',1,547,979000,'2012-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22862056-1_w.jpg','book_img/22862056-1_b.jpg',23);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('4C3331CAD5A5453787A94B8D7CCEAA29','Java Web整合开发王者归来JSP+Servlet+Struts+Hibernate+Spring配光盘','刘京华','99.80','68.90','6.9','清华大学出版社','2010-1-1',1,1010,1368000,'2010-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20756351-1_w_1.jpg','book_img/20756351-1_b_1.jpg',17);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('4D20D2450B084113A331D909FF4975EB','jQuery实战(第2版)(畅销书升级版掌握Web开发利器必修宝典)','Bear Bibeault Yehuda Katz ','69.00','47.60','6.9','人民邮电出版社','2012-3-1',1,394,617000,'2012-3-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22638286-1_w.jpg','book_img/22638286-1_b.jpg',79);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('4E44405DAFB7413E8A13BBFFBEE73AC7','JavaScript经典实例','鲍尔斯','78.00','53.80','6.9','中国电力出版社','2012-3-1',1,512,625000,'2012-3-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22692811-1_w.jpg','book_img/22692811-1_b.jpg',68);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('504FB999B0444B339907090927FDBE8A','深入浅出Ext JS(第3版)','徐会生','69.00','47.60','6.9','人民邮电出版社','2013-10-1',3,413,642000,'2013-10-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23351049-1_w_1.jpg','book_img/23351049-1_b.jpg',71);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('52077C8423B645A9BADA96A5E0B14422','Spring源码深度解析','郝佳','69.00','47.60','6.9','人民邮电出版社','2013-9-1',1,386,545000,'2013-8-30',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23329703-1_w_1.jpg','book_img/23329703-1_b.jpg',52);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('52B0EDFF966E4A058BDA5B18EEC698C4','亮剑Java Web项目开发案例导航(含DVD光盘1张)','朱雪琴','69.00','41.40','6.0','电子工业出版社','2012-3-1',1,526,875000,'2012-3-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22623766-1_w.jpg','book_img/22623766-1_b.jpg',81);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('5315DA60D24042889400AD4C93A37501','Spring 3.x企业应用开发实战(含CD光盘1张)','陈雄华','90.00','62.10','6.9','电子工业出版社','2012-2-1',1,710,1158000,'2012-2-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22605701-1_w.jpg','book_img/22605701-1_b.jpg',24);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('56B1B7D8CD8740B098677C7216A673C4','疯狂 Java 程序员的基本修养《疯狂Java讲义》最佳拍档扫清知识死角夯实基本功','李刚','59.00','40.70','6.9','电子工业出版社','2013-1-1',1,484,7710000,'2013-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23042420-1_w.jpg','book_img/23042420-1_b.jpg',89);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('57B6FF1B89C843C38BA39C717FA557D6','了不起的Node.js: 将JavaScript进行到底Web开发首选实时 跨多服务器 高并发)','Guillermo Rauch','79.00','54.50','6.9','电子工业出版社','2014-1-1',1,292,436000,'2014-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23368351-1_w_2.jpg','book_img/23368351-1_b.jpg',8);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','明日科技','59.80','41.30','6.9','清华大学出版社','2012-9-1',3,564,1013000,'2012-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22862060-1_w.jpg','book_img/22862060-1_b.jpg',1);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('5C68141786B84A4CB8929A2415040739','JavaScript高级程序设计(第3版)(JavaScript技术名著国内JavasScript第一书销量超过8万册)','Nicholas C. Zakas','99.00','68.30','6.9','人民邮电出版社','2012-3-1',1,730,1092000,'2012-3-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22628333-1_w.jpg','book_img/22628333-1_b.jpg',5);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('5EDB981339C342ED8DB17D5A198D50DC','Java程序性能优化','葛一鸣','59.00','40.70','6.9','清华大学出版社','2012-10-1',1,400,649000,'2012-10-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22881618-1_w.jpg','book_img/22881618-1_b.jpg',27);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('6398A7BA400D40258796BCBB2B256068','JavaScript设计模式','Addy Osmani','49.00','33.80','6.9','人民邮电出版社','2013-6-1',1,241,301000,'2013-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23266635-1_w.jpg','book_img/23266635-1_b.jpg',40);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('676B56A612AF4E968CF0F6FFE289269D','JavaScript和jQuery实战手册原书第2版','麦克法兰','99.00','68.30','6.9','机械工业出版社','2013-3-11',1,504,0,'2013-3-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23201813-1_w.jpg','book_img/23201813-1_b.jpg',42);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('7917F5B19A0948FD9551932909328E4E','Java项目开发案例全程实录第2版配光盘软件项目开发全程实录丛书','明日科技','69.80','48.20','6.9','清华大学出版社','2011-1-1',2,605,1037000,'2011-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20991549-1_w_1.jpg','book_img/20991549-1_b.jpg',64);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('7C0C785FFBEC4DEC802FA36E8B0BC87E','深入分析Java Web技术内幕','许令波','69.00','47.60','6.9','电子工业出版社','2012-9-1',1,442,746000,'2012-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22881803-1_w.jpg','book_img/22881803-1_b.jpg',50);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('7CD79C20258F477AB841518D9312E843','Java程序员面试宝典第三版','欧立奇','49.00','33.80','6.9','电子工业出版社','2013-9-1',1,359,446400,'2013-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23348683-1_w_1.jpg','book_img/23348683-1_b.jpg',44);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('7D7FE81293124793BDB2C6FF1F1C943D','21天学通Java(第6版)中文版累计销量超30000册','Rogers Cadenhead','55.00','38.00','6.9','人民邮电出版社','2013-4-1',1,410,781000,'2013-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23219731-1_w.jpg','book_img/23219731-1_b.jpg',46);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('7FD7F50B15F74248AA769798909F8653','Java网络编程第3版——OReilly Java系列','哈诺德','85.00','51.00','6.0','中国电力出版社','2005-11-1',1,718,668000,'2005-11-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/9062293-1_w.jpg','book_img/9062293-1_b.jpg',35);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('819FF56E4423462394E6F83882F78975','学通Java Web的24堂课配光盘软件开发羊皮卷','陈丹丹','79.80','55.10','6.9','清华大学出版社','2011-6-1',1,718,1488000,'2011-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/21118835-1_w_1.jpg','book_img/21118835-1_b.jpg',91);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('81FADA99309342F4978D5C680B0C6E8C','Java入门很简单配光盘入门很简单丛书打开Java编程之门 Java技术网推荐','李世民','59.80','41.30','6.9','清华大学出版社','2012-8-1',1,459,745000,'2012-8-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22839309-1_w.jpg','book_img/22839309-1_b.jpg',85);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('89A57D099EA14026A5C3D10CFC10C22C','Java 2实用教程第4版21世纪高等学校计算机基础实用规划教材','耿祥义','39.50','31.60','8.0','清华大学出版社','2012-8-1',4,479,782000,'2012-8-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22844118-1_w.jpg','book_img/22844118-1_b.jpg',73);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('8A5B4042D5B14D6B87A34DABF327387F','Java核心技术 卷II高级特性(第9版·英文版)(上、下册)','霍斯特曼','119.00','82.10','6.9','人民邮电出版社','2013-7-1',1,1118,1370000,'2013-7-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23280478-1_w.jpg','book_img/23280478-1_b.jpg',57);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('8DD0ADF2665B40899E09ED2983DC3F7B','jQuery权威指南被公认的权威的、易学的jQuery实战教程多次重印热销中','陶国荣','59.00','40.70','6.9','机械工业出版社','2011-1-1',1,385,0,'2011-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/21006995-1_w_1.jpg','book_img/21006995-1_b.jpg',75);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('8E16D59BA4C34374A68029AE877613C4','轻量级Java EE企业应用实战第3版Struts 2Spring 3Hibernate整合开发(含CD光盘1张)','李刚','99.00','68.30','6.9','电子工业出版社','2012-4-1',1,816,1440000,'2012-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22685703-1_w.jpg','book_img/22685703-1_b.jpg',6);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('8F1520F2CED94C679433B9C109E791CB','Java从入门到精通实例版附光盘1张连续8月Java类全国零售排行前2名14小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','明日科技','69.80','47.60','6.9','清华大学出版社','2012-9-1',1,548,986000,'2012-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22862061-1_w.jpg','book_img/22862061-1_b.jpg',49);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('90E423DBE56042838806673DB3E86BD3','《Spring技术内幕第2版畅销书全新升级Spring类图书销量桂冠从宏观和微观两个角度解析Spring架构设计和实现原理','计文柯','69.00','47.60','6.9','机械工业出版社','2012-2-1',2,399,0,'2012-2-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22606836-1_w.jpg','book_img/22606836-1_b.jpg',45);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('926B8F31C5D04F61A72F66679A0CCFFD','JavaScript编程精解华章程序员书库JavaScript之父高度评价并强力推荐系统学习JS首选','哈弗贝克','49.00','33.80','6.9','械工业出版社','2012-9-1',1,162,0,'2012-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22873894-1_w.jpg','book_img/22873894-1_b.jpg',70);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('95AACC68D64D4D67B1E33E9EAC22B885','Head First Java中文版JAVA经典畅销书 生动有趣 轻松学好JAVA','塞若','79.00','47.40','6.0','中国电力出版社','2007-2-1',1,689,983000,'2001-7-2',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/9265169-1_w.jpg','book_img/9265169-1_b.jpg',13);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('97437DAD03FA456AA7D6154614A43B55','HTML、CSS、JavaScript网页制作从入门到精通两万读者的选择经久不衰的超级畅销书最新升级版网页制作学习者入门必读经典','刘西杰','49.00','32.90','6.7','人民邮电出版社','2012-12-24',1,450,705000,'2012-12-24',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22928649-1_w.jpg','book_img/22928649-1_b.jpg',3);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('9923901FBF124623BC707920D8936BC8','JavaScript DOM编程艺术(第2版)','基思','49.00','33.80','6.9','人民邮电出版社','2011-4-1',1,286,443000,'2011-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/21049601-1_w_1.jpg','book_img/21049601-1_b.jpg',28);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('99BF63AC12AD48FCB673F1820888964E','Java Web开发实战1200例第Ⅱ卷史上最全的“编程实例”类图书代码分析、实例速查、练习巩固的绝好帮手','无','99.00','67.40','6.8','清华大学出版社','0',0,0,1746000,'2011-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/21110929-1_w_1.jpg','book_img/21110929-1_b.jpg',78);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('9D257176A6934CB79427CEC37E69249F','疯狂Ajax讲义第3版--jQuery/Ext JS/Prototype/DWR企业应用前端开发实战(含CD光盘1张)(畅销书升级版,企业应用前端开发实战指南)','李刚','79.00','54.50','6.9','电子工业出版社','2013-2-1',1,624,997000,'2013-2-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23184673-1_w.jpg','book_img/23184673-1_b.jpg',53);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('9FBD51A7C02D4F5B9862CD2EBBF5CA04','Flash ActionScript 3.0全站互动设计','刘欢 ','69.80','48.20','6.9','人民邮电出版社','2012-10-1',1,488,760000,'2012-10-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22886581-1_w.jpg','book_img/22886581-1_b.jpg',96);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('9FF423101836438F874035A48498CF45','Java编程思想英文版·第4版','埃克尔 ','79.00','54.50','6.9','机械工业出版社','2007-4-1',1,1482,0,'2007-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/9288920-1_w.jpg','book_img/9288920-1_b.jpg',31);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('A3D464D1D1344ED5983920B472826730','Java Web开发详解XML+DTD+XML Schema+XSLT+Servlet 3 0+JSP 2 2深入剖析与实例应用(含CD光盘1张)','孙鑫','119.00','61.30','5.2','电子工业出版社','2012-5-1',1,889,1760000,'2012-5-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22788412-1_w.jpg','book_img/22788412-1_b.jpg',60);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('A46A0F48A4F649AE9008B38EA48FAEBA','Java编程全能词典(含DVD光盘2张)','明日科技','98.00','65.70','6.7','电子工业出版社','2010-3-1',1,486,496000,'2010-3-1',32,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20813806-1_w_1.jpg','book_img/20813806-1_b.jpg',90);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('A5A6F27DCD174614850B26633A0B4605','JavaScript模式','斯特凡洛夫','38.00','22.80','6.0','中国电力出版社','2012-7-1',1,208,253000,'2012-7-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22819430-1_w.jpg','book_img/22819430-1_b.jpg',61);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('A7220EF174704012830E066FDFAAD4AD','Spring 3.0就这么简单国内原创的Java敏捷开发图书展现作者Spring原创开源项目ROP开发的全过程所有项目工程均以Maven组织','陈雄华','59.00','40.70','6.9','人民邮电出版社','2013-1-1',1,380,530000,'2013-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22938474-1_w.jpg','book_img/22938474-1_b.jpg',77);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('A7EFD99367C9434682A790635D3C5FDF','Java Web技术整合应用与项目实战JSP+Servlet+Struts2+Hibernate+Spring3','张志锋','98.00','67.60','6.9','清华大学出版社','2013-6-1',1,878,0,'2013-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23266270-1_w.jpg','book_img/23266270-1_b.jpg',92);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('A8EF76FD21A645109538614DEA85F3F7','Java语言程序设计基础篇原书第8版','梁勇','75.00','51.80','6.9','机械工业出版社','2011-6-1',1,586,0,'2011-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/21122188-1_w_1.jpg','book_img/21122188-1_b.jpg',30);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('AD6EA79CCB8240AAAF5B292AD7E5DCAA','jQuery Mobile权威指南根据jQuery Mobile最新版本撰写的权威参考书全面讲解jQuery Mobile的所有功能、特性、使用方法和开发技巧','陶国荣','59.00','40.70','6.9','机械工业出版社','2012-8-1',1,249,0,'2012-8-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22847009-1_w.jpg','book_img/22847009-1_b.jpg',38);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('AE0935F13A214436B8599DE285A86220','JavaScript基础教程(第8版)(经典JavaScript入门书 涵盖Ajax和jQuery)','Tom Negrino Dori Smith','69.00','47.60','6.9','人民邮电出版社','2012-4-1',1,392,694000,'2012-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22717349-1_w.jpg','book_img/22717349-1_b.jpg',37);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('AF28ED8F692C4288B32CF411CBDBFC23','经典Java EE企业应用实战——基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发(含CD光盘1张)','无','79.00','54.50','6.9','电子工业出版社','2010-8-1',1,0,0,'2010-8-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20928547-1_w_1.jpg','book_img/20928547-1_b.jpg',55);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('B329A14DDEF8455F82B3FDF25821D2BB','名师讲坛——Java Web开发实战经典基础篇JSP、Servlet、Struts、Ajax32小时全真课堂培训视频超级给力390项实例及分析北京魔乐科技培训中心Java Web全部精华','李兴华','69.80','48.20','6.9','清华大学出版社','2010-8-1',1,554,819000,'2010-8-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20915948-1_w_3.jpg','book_img/20915948-1_b.jpg',22);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('B7A7DA7A94E54054841EED1F70C3027C','锋利的jQuery(第2版)(畅销书升级版增加jQuery Mobile和性能优化)','单东林','49.00','33.80','6.9','人民邮电出版社','2012-7-1',2,380,598000,'2012-7-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22786088-1_w.jpg','book_img/22786088-1_b.jpg',10);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('BD1CB005E4A04DCA881DA8689E21D4D0','jQuery UI开发指南','Eric Sarrion','39.00','26.90','6.9','人民邮电出版社','2012-12-1',1,212,286000,'2012-12-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22910975-1_w.jpg','book_img/22910975-1_b.jpg',63);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('C23E6E8A6DB94E27B6E2ABD39DC21AF5','JavaScript:The Good Parts(影印版)','克罗克福特','28.00','19.30','6.9','东南大学出版社','2009-1-1',1,153,181000,'2009-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20412979-1_w.jpg','book_img/20412979-1_b.jpg',95);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('C3CF52B3ED2D4187A16754551488D733','Java从入门到精通附光盘','魔乐科技','59.00','35.40','6.0','人民邮电出版社','2010-4-1',1,519,884000,'2010-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20810282-1_w_1.jpg','book_img/20810282-1_b.jpg',29);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('C86D3F6FACB449BEBD940D9307ED4A47','编写高质量代码改善Java程序的151个建议(从语法、程序设计和架构、工具和框架、编码风格、编程思想5个方面探讨编写高质量Java代码的技巧、禁忌和最佳实践)','秦小波','59.00','40.70','6.9','机械工业出版社','2012-1-1',1,303,0,'2012-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22579686-1_w.jpg','book_img/22579686-1_b.jpg',84);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('CB0AB3654945411EA69F368D0EA91A00','JavaScript语言精粹修订版','道格拉斯·克罗克福德','49.00','39.20','8.0','电子工业出版社','2012-9-1',1,155,258000,'2012-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22872884-1_w.jpg','book_img/22872884-1_b.jpg',33);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('CD913617EE964D0DBAF20C60076D32FB','名师讲坛——Java开发实战经典配光盘60小时全真课堂培训视频超级给力790项实例及分析北京魔乐科技培训中心Java全部精华','李兴华','79.80','55.10','6.9','清华大学出版社','2009-8-1',1,831,1222000,'2012-8-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20637368-1_w_2.jpg','book_img/20637368-1_b_2.jpg',19);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','布鲁斯.艾克尔','108.00','74.50','6.9','机械工业出版社','2007-6-1',1,880,0,'2007-6-1',0,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/9317290-1_w.jpg','book_img/9317290-1_b.jpg',2);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('CF5546769F2842DABB2EF7A00D51F255','jQuery开发从入门到精通配套视频327节中小实例232个实战案例7个商品详情手册11部网页模版83类附1DVD','袁江','79.80','55.10','6.9','清华大学出版社','2013-6-1',1,619,1109000,'2013-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23263012-1_w.jpg','book_img/23263012-1_b.jpg',43);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('D0DA36CEE42549FFB299B7C7129761D5','Java应用架构设计模块化模式与OSGi(全球资深Java技术专家的力作系统、全面地讲解如何将模块化设计思想引入开发中涵盖18个有助于实现模块化软件架构的模式)','克内恩席尔德','69.00','47.60','6.9','机械工业出版社','2013-9-1',1,251,0,'2013-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23339643-1_w.jpg','book_img/23339643-1_b.jpg',26);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('D0E69F85ACAB4C15BB40966E5AA545F1','Java并发编程实战第16届Jolt大奖提名图书Java并发编程必读佳作','Brian Goetz','69.00','47.60','6.9','机械工业出版社','2012-2-1',1,290,0,'2012-2-1',32,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22606835-1_w.jpg','book_img/22606835-1_b.jpg',15);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('D2ABA8B06C524632846F27C34568F3CE','Java 经典实例','达尔文','98.00','67.60','6.9','中国电力出版社','2009-2-1',1,784,805000,'2009-2-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20500255-1_w.jpg','book_img/20500255-1_b.jpg',62);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('D8723405BA054C13B52357B8F6AEEC24','深入理解Java虚拟机JVM高级特性与最佳实践第2版','周志明','79.00','54.50','6.9','机械工业出版社','2013-6-1',2,433,0,'2013-6-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23259731-1_w.jpg','book_img/23259731-1_b.jpg',14);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('DC36FD53A1514312A0A9ADD53A583886','JavaScript异步编程设计快速响应的网络应用【掌握JavaScript异步编程必杀技让代码更具响应度 】','Trevor Burnham ','32.00','22.10','6.9','人民邮电出版社','2013-6-1',1,118,98000,'2013-5-23',32,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23252196-1_w.jpg','book_img/23252196-1_b.jpg',72);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('DCB64DF0084E486EBF173F729A3A630A','Java设计模式(第2版)','Steven John Metsker','75.00','51.80','6.9','电子工业出版社','2012-9-1',1,0,0,'2012-9-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22868759-1_w.jpg','book_img/22868759-1_b.jpg',76);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('DEE7BDC7E0E343149E3C3601D2658171','疯狂HTML 5/CSS 3/JavaScript讲义(含CD光盘1张)','李刚','69.00','47.60','6.9','电子工业出版社','2012-5-1',1,500,819000,'2012-5-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22783904-1_w.jpg','book_img/22783904-1_b.jpg',21);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('DF4E74EEE89B43229BB8212F0B858C38','精通HibernateJava对象持久化技术详解第2版(含光盘1张)','孙卫琴','75.00','51.80','6.9','电子工业出版社','2010-2-1',1,695,1148800,'2010-2-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20773347-1_w_1.jpg','book_img/20773347-1_b.jpg',39);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('E4F184188C8B4C7BB32D4E76603426AC','疯狂Java讲义第2版附光盘','李刚','109.00','75.20','6.9','电子工业出版社','2012-1-1',1,844,1747000,'2012-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22588603-1_w.jpg','book_img/22588603-1_b.jpg',7);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('EA695342393C4BE48B831FA5E6B0E5C4','编写可维护的JavaScript《JavaScript高级程序设计》作者Nicholas Zakas最新力作构建编码风格手册帮助开发团队从“游击队”走向“正规军”','Nicholas C. Zakas','55.00','38.00','6.9','人民邮电出版社','2013-4-1',1,227,400000,'2013-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23200995-1_w.jpg','book_img/23200995-1_b.jpg',59);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('F0E34313BF304CCEBF198BD4E05307B8','jQuery Cookbook中文版jQuery之父鼎力推荐社区数十位专家倾情力作','jQuery社区专家组','69.00','47.60','6.9','人民邮电出版社','2013-5-1',1,425,573000,'2013-5-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23219358-1_w.jpg','book_img/23219358-1_b.jpg',87);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('F6162799E913423EA5CB57BEC65AB1E9','JUnit实战(第2版)','塔凯文','79.00','54.50','6.9','人民邮电出版社','2012-4-1',1,442,640000,'2012-4-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22633574-1_w.jpg','book_img/22633574-1_b.jpg',80);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('F693239BC3B3444C8538ABE7411BB38E','Java Web典型模块与项目实战大全配光盘','常建功','99.50','68.70','6.9','清华大学出版社','2011-1-1',1,922,1473000,'2011-1-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/20988080-1_w_1.jpg','book_img/20988080-1_b.jpg',41);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('F78C94641DB4475BBA1E72A07DF9B3AE','JAVA面向对象编程','孙卫琴 ','65.80','45.40','6.9','电子工业出版社','2006-7-1',1,625,1030400,'2006-7-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/9186890-1_w.jpg','book_img/9186890-1_b.jpg',69);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('FC232CD9B6E6411BBBB1A5B781D2C3C9','Java与模式(含盘)(超多实例和习题,详解设计原则与设计模式)','阎宏','88.00','60.70','6.9','电子工业出版社','2002-10-1',1,1024,16704000,'2002-10-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/696673-1_w.jpg','book_img/696673-1_b.jpg',67);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('FEC3740CF30E442A94021911A25EF0D7','Spring攻略(第2版)(Spring攻略(第2版))','Gary Mak Josh Long Daniel Rubio','128.00','88.30','6.9','人民邮电出版社','2012-3-1',1,938,1322000,'2012-3-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/22623020-1_w.jpg','book_img/22623020-1_b.jpg',82);
insert into `t_book`(`bid`,`bname`,`author`,`price`,`currPrice`,`discount`,`press`,`publishtime`,`edition`,`pageNum`,`wordNum`,`printtime`,`booksize`,`paper`,`cid`,`image_w`,`image_b`,`orderBy`) values ('FFABBED1E5254BC0B2726EC4ED8ACCDA','深入理解OSGiEquinox原理、应用与最佳实践《深入理解Java虚拟机》作者新作全面解读最新OSGi R5.0规范深入讲解OSGi原理和服务以及Equinox框架的用法和原理','周志明','79.00','54.50','6.9','机械工业出版社','2013-2-1',1,414,0,'2013-2-1',16,'胶版纸','5F79D0D246AD4216AC04E9C5FAB3199E','book_img/23179003-1_w.jpg','book_img/23179003-1_b.jpg',47);
/*Table structure for table `t_cartitem` */
DROP TABLE IF EXISTS `t_cartitem`;
CREATE TABLE `t_cartitem` (
`cartItemId` char(32) NOT NULL,
`quantity` int(11) DEFAULT NULL,
`bid` char(32) DEFAULT NULL,
`uid` char(32) DEFAULT NULL,
`orderBy` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`cartItemId`),
KEY `orderBy` (`orderBy`),
KEY `FK_t_cartitem_t_user` (`uid`),
KEY `FK_t_cartitem_t_book` (`bid`),
CONSTRAINT `FK_t_cartitem_t_book` FOREIGN KEY (`bid`) REFERENCES `t_book` (`bid`),
CONSTRAINT `FK_t_cartitem_t_user` FOREIGN KEY (`uid`) REFERENCES `t_user` (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
/*Data for the table `t_cartitem` */
insert into `t_cartitem`(`cartItemId`,`quantity`,`bid`,`uid`,`orderBy`) values ('B8939FC55131469CAB11E3924D40185B',1,'CE01F15D435A4C51B0AD8202A318DCA7','xxx',11);
/*Table structure for table `t_category` */
DROP TABLE IF EXISTS `t_category`;
CREATE TABLE `t_category` (
`cid` char(32) NOT NULL,
`cname` varchar(50) DEFAULT NULL,
`pid` char(32) DEFAULT NULL,
`desc` varchar(100) DEFAULT NULL,
`orderBy` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`cid`),
UNIQUE KEY `cname` (`cname`),
KEY `FK_t_category_t_category` (`pid`),
KEY `orderBy` (`orderBy`),
CONSTRAINT `FK_t_category_t_category` FOREIGN KEY (`pid`) REFERENCES `t_category` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8;
/*Data for the table `t_category` */
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('1','程序设计',NULL,'程序设计分类',1);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('2','办公室用书',NULL,'办公室用书',2);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('3','图形 图像 多媒体',NULL,'图形图像多媒体',3);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('4','操作系统/系统开发',NULL,'操作系统/系统开发',4);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('458795C27E7346A8A5F1B942319297E0','系统开发','4','系统开发分类',29);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('4D01FFF0CB94468EA907EF42780668AB','购买指南 组装指南 维修','2','购买指南 组装指南 维修分类',18);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('5','数据库',NULL,'数据库',5);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('56AD72718C524147A2485E5F4A95A062','3DS MAX','3','3DS MAX分类',21);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('57DE3C2DDA784B81844029A28217698C','Dreamweaver','3','Dreamweaver分类',24);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('5F79D0D246AD4216AC04E9C5FAB3199E','Java Javascript','1','Java Javascript分类',10);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('6','网络与数据通讯',NULL,'网络与数据通讯!',6);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('65640549B80E40B1981CDEC269BFFCAD','Photoshop','3','Photoshop分类',20);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('65830AB237EF428BAE9B7ADC78A8D1F6','Unix','4','Unix分类',28);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('757BDAB506A445EC8DEDA4CE04303B9F','网页设计','3','网页设计分类',22);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('84ECE401C2904DBEA560D04A581A66D9','HTML XML','1','HTML XML分类',13);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('922E6E2DB04143D39C9DDB26365B3EE8','C C++ VC VC++','1','C C++ VC VC++分类',12);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('96F209F79DB242E9B99CC1B98FAB01DB','数据库理论','5','数据库理论分类',33);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('A9CFBED0F77746C5BD751F2502FAB2CD','电子商务 电子政务','6','电子商务 电子政务分类',35);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('B596ECE0F9BF40288F40A66B35551806','Flush','3','Flush分类',23);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('B92ED191DBE647BE8F75721FB231E207','因特网 电子邮件','2','因特网 电子邮件分类',19);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('C3F9FAAF4EA64857ACFAB0D9C8D0E446','PHP','1','PHP分类',14);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('C4DD8CA232864B31A367EE135D86382C','计算机初级入门','2','计算机初级入门分类',17);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('C8E274EE5C99499080A98E24F0BD2E03','.NET','1','.NET分类',15);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('D45D96DA359A4FEAB3AB4DCF2157FC06','JSP','1','JSP分类',11);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('DCAD0384A6444C048951C7B36C5D96EE','Flash','3','Flash分类',25);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('F4FBD087EB054CA1896093F172AC33D9','数据仓库与数据挖掘','5','数据仓库与数据挖掘分类',30);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('F5C091B3967442A2B35EFEFC4EF8746F','微软Office','2','微软Office分类',16);
insert into `t_category`(`cid`,`cname`,`pid`,`desc`,`orderBy`) values ('FAB7B7F7084F4D57A0808ADC61117683','Windows','4','Windows分类',26);
/*Table structure for table `t_order` */
DROP TABLE IF EXISTS `t_order`;
CREATE TABLE `t_order` (
`oid` char(32) NOT NULL,
`ordertime` char(19) DEFAULT NULL,
`total` decimal(10,2) DEFAULT NULL,
`status` int(11) DEFAULT NULL,
`address` varchar(1000) DEFAULT NULL,
`uid` char(32) DEFAULT NULL,
PRIMARY KEY (`oid`),
KEY `FK_t_order_t_user` (`uid`),
CONSTRAINT `FK_t_order_t_user` FOREIGN KEY (`uid`) REFERENCES `t_user` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `t_order` */
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('058F48DA33694C6D8F5C2C13F3D26CEA','2013-12-26 21:47:04','95.30',1,'李女士 广东省 揭阳市 揭东县 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('065056EFA3914273B6B266A2414A38FA','2014-01-01 17:04:19','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('0A1F4C5BDE754277B984D1E7E763051D','2014-01-16 15:18:47','41.30',5,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('0ADCEE0510844D2697E7A5C0903A8D3B','2014-01-16 15:13:03','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('0B657B624D8D4B919B7E5F175AA90530','2014-01-16 15:06:20','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('0CA1A9B0287C43B2AA9435F11F237E9B','2014-02-06 15:21:27','41.30',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('0CD9939DC9AE4DA2A12F772293F55A4B','2014-01-16 15:12:04','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('0FBC5F415EF94161AF2937A07EFD8DE8','2014-01-01 14:18:14','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('0FD72F77655D43E2B7989892E965864D','2013-12-30 20:05:53','88.70',1,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('148668BE43754CE2B64A0AC999C5A2D5','2014-01-16 14:51:08','148.70',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('159B58B3BBCB4069A550BF1A358B4905','2014-02-07 01:17:28','41.30',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('15A89AB272394F359EA26A2E15F13405','2013-12-30 20:06:20','74.50',5,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('161A05BEBBAA468199131EAD175CCFEA','2014-01-16 14:58:34','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('1AFEC52D72C74266A6E36F83F9910B4F','2014-01-16 15:12:20','74.50',5,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('1D640078E4A64AC987FEA7299B57A2F6','2014-01-01 13:57:41','74.50',4,'关羽 云南省 曲靖市 宣威市 11 11 11 11 xx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('2AFD7DC9619548BA8727464D77AFB9C2','2014-01-16 14:59:33','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('2D9FF0BFB82842CFAA4B623D5997BF1F','2014-01-01 14:17:47','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('303E12F4821A4B3F9DB97B23947220C7','2013-12-26 22:00:41','82.10',2,'李女士 广东省 揭阳市 揭东县 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('3143492834294128ADCFD1DAC3530396','2014-01-01 14:16:54','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('32739173C1E247558358B1A8FE9FE012','2014-01-16 15:04:11','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('33D163070CE74936966AE177F3E09B20','2014-01-01 17:04:02','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('49127E9642C5474FA8F2139204DE571C','2014-01-01 14:17:58','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('4B49D55D2CD34DB480A2CDF1A78858E8','2014-01-01 14:18:34','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('553AFF48D76A48AD89ED3FE8F7E2F587','2013-12-26 21:54:43','109.00',4,'张小姐 上海市 上海市 浦东新区 xxx xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('5668668DAB1F4406819D37881BC5D5B1','2014-01-02 10:23:14','95.30',4,'李四 西藏 昌都地区 八宿县 xx xx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('57197A448F9A4F15B76B1ED1EB3A15E6','2014-01-16 14:56:58','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('574A31876CA246D4A10C0600EF5CF8A5','2014-02-06 15:08:23','74.50',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('57856B1A295B437CA0F7991540897B47','2014-01-16 15:11:26','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('59A15DD3A0704508B1C2BC9B682A329F','2014-02-07 16:55:40','68.30',3,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('5D39377E88E049F8BA19173BAFF295CB','2014-01-01 14:18:39','74.50',4,'李女士 广东省 揭阳市 揭东县 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('5FB1E131DD294CBBA34FE93228DF2F02','2014-01-16 14:48:48','279.10',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('605B9D163C1345B6A636D80720794CE8','2014-01-01 14:17:02','74.50',4,'李女士 广东省 揭阳市 揭东县 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('6504C742FE65413494E028E714D4D609','2014-01-16 14:54:43','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('673170D78D9D4EE6AE083167CFB81C1A','2014-02-06 15:34:44','68.30',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('674878FE6CAB48918DB4A9688262FBD5','2014-01-16 15:10:23','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('6C921E50C3E54EA0AFD8CC4B661963AD','2014-02-07 00:40:36','41.30',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('7237A47B1B5B4A78822D662AE01671B6','2014-02-08 10:10:21','115.80',5,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('75B7D65D4F5A43CD83605FDE38D7E10C','2014-01-01 14:17:33','149.00',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('7858221EA1DF4B318A632A9C1CD3E1F7','2014-01-16 15:02:13','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('7B3FA2910C9149829AB1EF3A39C4785F','2013-12-31 23:37:41','74.50',1,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('8BB662E4C0444BC88F1DBE82584595BC','2013-12-31 23:35:44','33.80',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('93576BB2F43C47F89B4DD7B91F5DF5E3','2014-01-01 14:18:21','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('96C6D91D916E472681EEC37B1770DE87','2013-12-31 23:37:06','67.60',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('9721A3FBC37D490588AEE02F761744E2','2014-01-01 14:17:21','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('984468779C164A6098A7FE7EECE9E273','2014-01-16 15:16:15','41.30',5,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('9E1C0A9FDF1F49B18FA0BFA33E132BDD','2014-01-16 15:05:33','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('A2DB4A7B4EA640ADA63F22A7E8311F4B','2014-01-16 14:51:51','148.70',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('B62C7C1BA61C47C4BCEC4BE96897A72C','2014-01-16 15:16:07','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('B69C6849120D4B28A6CCF99351B88575','2014-02-05 18:56:02','366.00',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('BB7789E41C524030832B7E5E426633E7','2014-02-05 18:55:39','115.80',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('BD1BD9AB58B1413FA0BDC0AACCC8C65F','2013-12-26 21:40:48','81.40',1,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('BDB995AF80D34716ABB9D10CB6962F87','2013-12-27 11:58:17','32.90',3,'李女士 广东省 揭阳市 揭东县 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('BE24BB4187B1472AA08E206BF8B0ABF7','2013-12-30 20:08:10','47.60',3,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('C0841F4DFE7A43BFB183E4E82AE7914C','2014-01-01 13:48:07','74.50',4,'刘备 西藏 那曲地区 巴青县 xxx xxx xxx xxx x','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('C34F025EF6BB4B88A8409B00A0ABC891','2014-01-16 15:02:45','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('C4A1E40F2F514684BCD97F9EE76A701F','2014-01-01 14:16:38','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('C6F8379F9E3E4F8381763B54E5BF986C','2014-02-07 11:02:37','41.30',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('CBB735CB5F084C1BB80FF5998F811E63','2014-01-01 14:18:45','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('CE537015382640E1AE15B9A8FD08B9EE','2013-12-26 21:53:34','41.30',5,'李女士 广东省 揭阳市 揭东县 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('D929BD17AB374B49B61B93AF9A194D1A','2013-12-31 23:39:19','82.10',5,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('DD5135AEDA2E464BAF52DEC4727E2A3D','2014-01-16 15:03:26','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('E106BFE7029C485D95A124C733BCC539','2014-01-16 15:17:50','41.30',5,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('E3A1EB6D0543489F9729B2B5BC5DB365','2014-01-02 10:30:30','115.50',1,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('E6EEEB39CECC4089BC65142BADCC4FC3','2013-12-26 21:40:10','73.60',1,'张小姐 上海市 上海市 浦东新区 xxx xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('E891D2A05DA6485EB7E12436E8FB3107','2014-02-06 10:52:56','162.90',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('E8AE477323214E99AB48BA38052BE974','2014-01-01 14:17:39','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('EA4DC50E547149E3A48B14E6711DF1BD','2014-01-01 17:03:48','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('EC3696A4C443494A9B8DD6E8A9B82072','2014-01-16 15:09:19','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('ECB47FBA81F64751B7AC89CCB8DDFD09','2014-02-06 15:23:14','41.30',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('EDC9F39D490E424BA799E7BD4BED9D09','2014-01-01 17:04:09','74.50',4,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('EE1F00D88FDC44BD966AF05C1F7FABE0','2013-12-26 21:48:17','68.30',1,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('F64FD5E198BB4114AB091034C5C6D8B7','2014-01-16 15:09:56','41.30',1,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','32DB3700D2564254982BC58B0E4D95BC');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('F7E603F5179348B9BC3417B9BFB8558D','2014-02-07 00:12:40','41.30',2,'北京市 昌平区 西三旗 金燕龙办公楼1层 传智播客 张三爷','531D8A16D524478D86F8A115FE95D93F');
insert into `t_order`(`oid`,`ordertime`,`total`,`status`,`address`,`uid`) values ('FAC08EE0DF2C4487A6FA2B11B343307E','2013-12-26 21:30:19','340.70',1,'王先生 北京市 北京市 宣武区 xxx xxx xxx','32DB3700D2564254982BC58B0E4D95BC');
/*Table structure for table `t_orderitem` */
DROP TABLE IF EXISTS `t_orderitem`;
CREATE TABLE `t_orderitem` (
`orderItemId` char(32) NOT NULL,
`quantity` int(11) DEFAULT NULL,
`subtotal` decimal(8,2) DEFAULT NULL,
`bid` char(32) DEFAULT NULL,
`bname` varchar(200) DEFAULT NULL,
`currPrice` decimal(8,2) DEFAULT NULL,
`image_b` varchar(100) DEFAULT NULL,
`oid` char(32) DEFAULT NULL,
PRIMARY KEY (`orderItemId`),
KEY `FK_t_orderitem_t_order` (`oid`),
CONSTRAINT `FK_t_orderitem_t_order` FOREIGN KEY (`oid`) REFERENCES `t_order` (`oid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `t_orderitem` */
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('01D2DF3E5BB34E9F9D2477180C8D94D3',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','C0841F4DFE7A43BFB183E4E82AE7914C');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('01E58D4FB7964805A1557A5EF2677586',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','7B3FA2910C9149829AB1EF3A39C4785F');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('06AD3253E7EA415B828D1299462DE812',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','159B58B3BBCB4069A550BF1A358B4905');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('0844DB419E91407FAE223E3ED6B63707',1,'82.10','3DD187217BF44A99B86DD18A4DC628BA','Java核心技术 卷1 基础知识原书第9版','82.10','book_img/23362142-1_b.jpg','D929BD17AB374B49B61B93AF9A194D1A');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('0AD49A1C760E4EA2B29ADC32E306C2D5',1,'47.60','D0E69F85ACAB4C15BB40966E5AA545F1','Java并发编程实战第16届Jolt大奖提名图书Java并发编程必读佳作','47.60','book_img/22606835-1_b.jpg','BD1BD9AB58B1413FA0BDC0AACCC8C65F');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('0F8620EDA20642D1B6CF6D2768086B0A',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','F7E603F5179348B9BC3417B9BFB8558D');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('0F8FCF81AE4D402892AD73C11477B971',3,'204.90','5C68141786B84A4CB8929A2415040739','JavaScript高级程序设计(第3版)(JavaScript技术名著国内JavasScript第一书销量超过8万册)','68.30','book_img/22628333-1_b.jpg','5FB1E131DD294CBBA34FE93228DF2F02');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('0FDE8F9F0C1D4B65AE470BC63783FBF5',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','984468779C164A6098A7FE7EECE9E273');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('10C2D433E7704AC6A0CB74EBDB1B0AEC',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','FAC08EE0DF2C4487A6FA2B11B343307E');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('14128D56EBDE44A2935F0D12EA5DBB03',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','574A31876CA246D4A10C0600EF5CF8A5');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('1B48E8AA75BC4F569306702A33A7CCD5',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','E8AE477323214E99AB48BA38052BE974');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('1B6B185D53AB44798EE74AE33439BB1A',2,'67.60','B7A7DA7A94E54054841EED1F70C3027C','锋利的jQuery(第2版)(畅销书升级版增加jQuery Mobile和性能优化)','33.80','book_img/22786088-1_b.jpg','96C6D91D916E472681EEC37B1770DE87');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('1BF158F7D2E24DC3AE8AD4748A125F7F',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','E106BFE7029C485D95A124C733BCC539');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('1D529CD78B34458D96D03F9FB9E8DDC5',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','EC3696A4C443494A9B8DD6E8A9B82072');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('1D5352893B8F421CAD3DCCA2623671CA',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','0ADCEE0510844D2697E7A5C0903A8D3B');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('2659227EFA5C4FF49B4C9E0E5FF3CDAD',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','1D640078E4A64AC987FEA7299B57A2F6');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('26D125337FB146FD923620A8E7C87556',1,'32.90','97437DAD03FA456AA7D6154614A43B55','HTML、CSS、JavaScript网页制作从入门到精通两万读者的选择经久不衰的超级畅销书最新升级版网页制作学习者入门必读经典','32.90','book_img/22928649-1_b.jpg','E6EEEB39CECC4089BC65142BADCC4FC3');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('26FFD473E4654C27B59BDB404E3982C5',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','605B9D163C1345B6A636D80720794CE8');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('2754A72B64774B03A6FF5E08233D5445',1,'95.30','48BBFBFC07074ADE8CC906A45BE5D9A6','JavaScript权威指南第6版淘宝前端团队倾情翻译经典权威的JavaScript犀牛书第6版特别涵盖了HTML5和ECMAScript5经典巨著当当独家首发','95.30','book_img/22722790-1_b.jpg','E891D2A05DA6485EB7E12436E8FB3107');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('285F32EA770A4F9593537FEAC1B8705A',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','CBB735CB5F084C1BB80FF5998F811E63');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('2953F9C5BC6F4475AE3AD52B921B6875',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','0FD72F77655D43E2B7989892E965864D');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('29E8A4EEA3914F16BE2287DC95AC14CD',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','15A89AB272394F359EA26A2E15F13405');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('2E3E86265EC34D8F9907F52044AE2DD2',1,'47.40','95AACC68D64D4D67B1E33E9EAC22B885','Head First Java中文版JAVA经典畅销书 生动有趣 轻松学好JAVA','47.40','book_img/9265169-1_b.jpg','0FD72F77655D43E2B7989892E965864D');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('2EC79387485D42F699DFAC6CF2CFF26A',2,'82.60','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','E3A1EB6D0543489F9729B2B5BC5DB365');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('346BFB39E1524650A695DEAD8397F811',2,'150.40','1286B13F0EA54E4CB75434762121486A','Java核心技术 卷I基础知识(第9版·英文版)(上、下册)','75.20','book_img/23280479-1_b.jpg','FAC08EE0DF2C4487A6FA2B11B343307E');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('35B0B801D25845D8B76B61DD3CD5759A',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','B62C7C1BA61C47C4BCEC4BE96897A72C');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('37D26DB2F215411E8BFB761D61769021',1,'47.60','AE0935F13A214436B8599DE285A86220','JavaScript基础教程(第8版)(经典JavaScript入门书 涵盖Ajax和jQuery)','47.60','book_img/22717349-1_b.jpg','BE24BB4187B1472AA08E206BF8B0ABF7');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('38132C2B0A8E4A7499A4A00A2C68D342',1,'32.90','97437DAD03FA456AA7D6154614A43B55','HTML、CSS、JavaScript网页制作从入门到精通两万读者的选择经久不衰的超级畅销书最新升级版网页制作学习者入门必读经典','32.90','book_img/22928649-1_b.jpg','148668BE43754CE2B64A0AC999C5A2D5');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('3C585F544A494041AE75375D1CE8F086',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','A2DB4A7B4EA640ADA63F22A7E8311F4B');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('3DA0F5E8A5F34755A7254783B2A2C002',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','0FBC5F415EF94161AF2937A07EFD8DE8');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('44AF075EF3BD4DBEB55C23C1930CB3B7',1,'32.90','97437DAD03FA456AA7D6154614A43B55','HTML、CSS、JavaScript网页制作从入门到精通两万读者的选择经久不衰的超级畅销书最新升级版网页制作学习者入门必读经典','32.90','book_img/22928649-1_b.jpg','5FB1E131DD294CBBA34FE93228DF2F02');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('4A53FDF198474C16A0D4028CC9C1532B',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','674878FE6CAB48918DB4A9688262FBD5');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('4ABE8B2691F84258AE4B79EF14068920',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','C4A1E40F2F514684BCD97F9EE76A701F');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('4AD70581ED09443DBE176C341D7B51BA',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','93576BB2F43C47F89B4DD7B91F5DF5E3');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('4F8776C84CF241AF9C4FB5BF8282E870',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','5D39377E88E049F8BA19173BAFF295CB');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('50C4D3F0F28A4648BF89BD18C7931B60',1,'95.30','48BBFBFC07074ADE8CC906A45BE5D9A6','JavaScript权威指南第6版淘宝前端团队倾情翻译经典权威的JavaScript犀牛书第6版特别涵盖了HTML5和ECMAScript5经典巨著当当独家首发','95.30','book_img/22722790-1_b.jpg','058F48DA33694C6D8F5C2C13F3D26CEA');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('59C13A2A03C448098F20E5DC07B6D1D9',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','6504C742FE65413494E028E714D4D609');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('5AD3850D25D143C6B54FBD84890A15EB',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','148668BE43754CE2B64A0AC999C5A2D5');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('5B17BD28CDAA4E4F98C5AAC48BCEB7BB',1,'82.10','3DD187217BF44A99B86DD18A4DC628BA','Java核心技术 卷1 基础知识原书第9版','82.10','book_img/23362142-1_b.jpg','303E12F4821A4B3F9DB97B23947220C7');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('5DADDF8045D7408DA4C9AAD9694AF5BF',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','2D9FF0BFB82842CFAA4B623D5997BF1F');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('5DF78D39DA9947048EED4F38DE027CEB',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','9721A3FBC37D490588AEE02F761744E2');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('5F6DAEB9C7E64DAB890320C0255B0242',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','0CA1A9B0287C43B2AA9435F11F237E9B');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('65CFB83DF1CC4052B0D6657D2B444188',1,'95.30','48BBFBFC07074ADE8CC906A45BE5D9A6','JavaScript权威指南第6版淘宝前端团队倾情翻译经典权威的JavaScript犀牛书第6版特别涵盖了HTML5和ECMAScript5经典巨著当当独家首发','95.30','book_img/22722790-1_b.jpg','B69C6849120D4B28A6CCF99351B88575');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('6F4239EBB3D84A29911AEF08B16C4B78',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','0A1F4C5BDE754277B984D1E7E763051D');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('72EA834FBF6F4FD3B43D4586B7E5B2E4',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','BB7789E41C524030832B7E5E426633E7');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('79A5CCB6ED5E4ABBA2ADCD9E93103302',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','32739173C1E247558358B1A8FE9FE012');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('83C053FBB2B0479F86F8194AD9BB5411',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','7237A47B1B5B4A78822D662AE01671B6');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('85DA1674B58C450291901E923B13B53C',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','DD5135AEDA2E464BAF52DEC4727E2A3D');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('87BE2F926AF5401595CECDF656752E96',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','0CD9939DC9AE4DA2A12F772293F55A4B');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('882D2D4A06B645AC9DE56B60622EC4E8',1,'82.10','3DD187217BF44A99B86DD18A4DC628BA','Java核心技术 卷1 基础知识原书第9版','82.10','book_img/23362142-1_b.jpg','553AFF48D76A48AD89ED3FE8F7E2F587');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('8BEA49FAE0924D05BD5903325BFB4E0A',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','CE537015382640E1AE15B9A8FD08B9EE');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('8C75EAC8C39845FE8D7540F208D31F86',1,'32.90','97437DAD03FA456AA7D6154614A43B55','HTML、CSS、JavaScript网页制作从入门到精通两万读者的选择经久不衰的超级畅销书最新升级版网页制作学习者入门必读经典','32.90','book_img/22928649-1_b.jpg','A2DB4A7B4EA640ADA63F22A7E8311F4B');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('914175F8FB55422BB407DD0AC9DB3D63',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','F64FD5E198BB4114AB091034C5C6D8B7');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('93069308B4C04E16A9D1EE7B8EFEEBA6',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','57856B1A295B437CA0F7991540897B47');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('942BE069B7B345BAA5D4FE19E2D87C12',2,'65.80','97437DAD03FA456AA7D6154614A43B55','HTML、CSS、JavaScript网页制作从入门到精通两万读者的选择经久不衰的超级畅销书最新升级版网页制作学习者入门必读经典','32.90','book_img/22928649-1_b.jpg','B69C6849120D4B28A6CCF99351B88575');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('9979731BC91D43B690E8ECD51DCC0F77',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','7237A47B1B5B4A78822D662AE01671B6');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('9C6DE8585579400B8F91311FE472FF30',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','4B49D55D2CD34DB480A2CDF1A78858E8');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('9CC5C541D4DF4C209EED96F8D62233EF',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','33D163070CE74936966AE177F3E09B20');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('9E1D7EF000E440608281DE20DADB2AD9',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','1AFEC52D72C74266A6E36F83F9910B4F');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('A00770D667394EAD9DC8599FA025046C',1,'68.30','8E16D59BA4C34374A68029AE877613C4','轻量级Java EE企业应用实战第3版Struts 2Spring 3Hibernate整合开发(含CD光盘1张)','68.30','book_img/22685703-1_b.jpg','EE1F00D88FDC44BD966AF05C1F7FABE0');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('A12B5835A2AA416491E59A1F470B03DF',1,'95.30','48BBFBFC07074ADE8CC906A45BE5D9A6','JavaScript权威指南第6版淘宝前端团队倾情翻译经典权威的JavaScript犀牛书第6版特别涵盖了HTML5和ECMAScript5经典巨著当当独家首发','95.30','book_img/22722790-1_b.jpg','5668668DAB1F4406819D37881BC5D5B1');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('A4938F10E31243FCBEDDBF762F887F12',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','C6F8379F9E3E4F8381763B54E5BF986C');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('A5CA013362854C7FBF1267670DDA659A',3,'204.90','5C68141786B84A4CB8929A2415040739','JavaScript高级程序设计(第3版)(JavaScript技术名著国内JavasScript第一书销量超过8万册)','68.30','book_img/22628333-1_b.jpg','B69C6849120D4B28A6CCF99351B88575');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('A997875748344933AA3371BA5F280B95',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','148668BE43754CE2B64A0AC999C5A2D5');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('AA10E8BEFD744C2DBCDC7E85C11044C4',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','EA4DC50E547149E3A48B14E6711DF1BD');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('AA2BC081EBFE40D889671C95A8B63A66',1,'40.70','4A9574F03A6B40C1B2A437237C17DEEC','Spring实战(第3版)In Action系列中最畅销的Spring图书近十万读者学习Spring的共同选择','40.70','book_img/23254532-1_b.jpg','E6EEEB39CECC4089BC65142BADCC4FC3');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('B57029A4B38C48619E951EA3AAA62B5D',1,'67.60','0EE8A0AE69154287A378FB110FF2C780','Java核心技术基础知识原书第8版','67.60','book_img/20285763-1_b.jpg','E891D2A05DA6485EB7E12436E8FB3107');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('B93CD7AC6B3C4044AE8186279C33803B',1,'26.90','BD1CB005E4A04DCA881DA8689E21D4D0','jQuery UI开发指南','26.90','book_img/22910975-1_b.jpg','553AFF48D76A48AD89ED3FE8F7E2F587');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('C01A7D87FC924BAD8D3A4255BE415D14',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','7858221EA1DF4B318A632A9C1CD3E1F7');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('C08547828C9445648F049ABC6127768D',1,'32.90','97437DAD03FA456AA7D6154614A43B55','HTML、CSS、JavaScript网页制作从入门到精通两万读者的选择经久不衰的超级畅销书最新升级版网页制作学习者入门必读经典','32.90','book_img/22928649-1_b.jpg','E3A1EB6D0543489F9729B2B5BC5DB365');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('C2DC9CDECD724065A6ABE92C693B4F75',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','ECB47FBA81F64751B7AC89CCB8DDFD09');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('C3575A8B7DED44B3937237DD6795FD46',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','6C921E50C3E54EA0AFD8CC4B661963AD');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('C3BDE3E9E6CD48F6B0DDDB4720106689',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','3143492834294128ADCFD1DAC3530396');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('C4B479673E0E454580A3B47747B954E7',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','5FB1E131DD294CBBA34FE93228DF2F02');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('C588A712ADFD4D8282A328E49CBD01FB',1,'32.90','97437DAD03FA456AA7D6154614A43B55','HTML、CSS、JavaScript网页制作从入门到精通两万读者的选择经久不衰的超级畅销书最新升级版网页制作学习者入门必读经典','32.90','book_img/22928649-1_b.jpg','BDB995AF80D34716ABB9D10CB6962F87');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('CA8CEF8D4C5647748A96A3684663B70E',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','065056EFA3914273B6B266A2414A38FA');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('D544F15EEE69445B9BD10FF04253896E',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','9E1C0A9FDF1F49B18FA0BFA33E132BDD');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('D7D546DB926B4FA9805524752279F923',1,'33.80','9923901FBF124623BC707920D8936BC8','JavaScript DOM编程艺术(第2版)','33.80','book_img/21049601-1_b.jpg','8BB662E4C0444BC88F1DBE82584595BC');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('E1FDF0B54C4741639C5A9E33A0923177',1,'33.80','B7A7DA7A94E54054841EED1F70C3027C','锋利的jQuery(第2版)(畅销书升级版增加jQuery Mobile和性能优化)','33.80','book_img/22786088-1_b.jpg','BD1BD9AB58B1413FA0BDC0AACCC8C65F');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('E35724F886094E5AB2076A690EC28917',1,'68.30','8E16D59BA4C34374A68029AE877613C4','轻量级Java EE企业应用实战第3版Struts 2Spring 3Hibernate整合开发(含CD光盘1张)','68.30','book_img/22685703-1_b.jpg','59A15DD3A0704508B1C2BC9B682A329F');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('E3EF277FBBEB4AB4B5FB0AB187C9E635',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','EDC9F39D490E424BA799E7BD4BED9D09');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('ED5722353C0A4F15A11B28A5A9B2745A',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','57197A448F9A4F15B76B1ED1EB3A15E6');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('EE61A6CCC02148F68DF99293F2EEE88F',1,'68.30','5C68141786B84A4CB8929A2415040739','JavaScript高级程序设计(第3版)(JavaScript技术名著国内JavasScript第一书销量超过8万册)','68.30','book_img/22628333-1_b.jpg','673170D78D9D4EE6AE083167CFB81C1A');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('EFCAF77235D94975A095027562F643C5',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','BB7789E41C524030832B7E5E426633E7');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('F1C3FC9D6AAE406ABA251689B8ACC291',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','C34F025EF6BB4B88A8409B00A0ABC891');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('F49964DAE525431C94ED66D96E053301',2,'149.00','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','FAC08EE0DF2C4487A6FA2B11B343307E');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('F7074572D71A454097B9019B7D5897FA',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','161A05BEBBAA468199131EAD175CCFEA');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('F84DB5D9AD0441FE81A52DCCCAC0EEA1',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','2AFD7DC9619548BA8727464D77AFB9C2');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('F9AD99717BDF4DD481FF35CC2A11B2D3',1,'41.30','5C4A6F0F4A3B4672AD8C5F89BF5D37D2','Java从入门到精通第3版附光盘1张连续8月Java类全国零售排行前2名32小时视频732个经典实例、369项面试真题、616项测试史上最全资源库','41.30','book_img/22862060-1_b.jpg','0B657B624D8D4B919B7E5F175AA90530');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('FBA39DB6CA63434B988D5329F029B2BB',2,'149.00','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','75B7D65D4F5A43CD83605FDE38D7E10C');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('FBC88A01EE934A92BB83F8865CF44457',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','49127E9642C5474FA8F2139204DE571C');
insert into `t_orderitem`(`orderItemId`,`quantity`,`subtotal`,`bid`,`bname`,`currPrice`,`image_b`,`oid`) values ('FFB980C9F3844E9085A134EC339F0979',1,'74.50','CE01F15D435A4C51B0AD8202A318DCA7','Java编程思想第4版','74.50','book_img/9317290-1_b.jpg','A2DB4A7B4EA640ADA63F22A7E8311F4B');
/*Table structure for table `t_user` */
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`uid` char(32) NOT NULL,
`loginname` varchar(50) DEFAULT NULL,
`loginpass` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`status` tinyint(1) DEFAULT NULL,
`activationCode` char(64) DEFAULT NULL,
PRIMARY KEY (`uid`),
UNIQUE KEY `loginname` (`loginname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `t_user` */
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('32DB3700D2564254982BC58B0E4D95BC','liSi','123','itcast_cxf@126.com',1,'15682E9C4D2849E2AB5D8AFF55D2F7BA87126B0EF55A45C6A136E3CAA90D60F2');
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('4DE7E4D829A54D4FAB150B7451407198','def','def','itcast_cxf@soh.com',0,'D00FAA82457748FF8C1B912042E615B39F3602053E154181B98CDD48D9ECFC96');
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('531D8A16D524478D86F8A115FE95D93F','zhangSan','123','itcast_cxf@163.com',1,'FCF142D04C4A420992FF4E7BAC92C1E58AF905F1A46B4818BB455BD925E52DDD');
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('55790D9C1A1845738E6D93866A148C7E','wangWu','123','itcast_cxf@sina.com',1,'659903B3D5FF4576B82425A593962DFE64B6137EBE934AE5AE19F614E71F4549');
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('9CC972DFA2D4481F89841A46FD1B3E7B','abc','abc','itcast_cxf@qq.com',0,'D7CEB3DE44364749A4807D98F8B2F63017FDFED9FFC842B6BBC64E20698FED5F');
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('B50ADE921BF14F6EB5331777B1874763','aabb','aaa','abc@abc.cn',0,'10032D0DFD2B49DC98CA9739F929656B6819FA1C10EC44F8A95206D0C3D62094');
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('x','刘备','123','liuBei@163.com',1,'x');
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('xx','关羽','123','guanYu@163.com',1,'xx');
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('xxx','张三','123','zhangFei@163.com',1,'xxx');
insert into `t_user`(`uid`,`loginname`,`loginpass`,`email`,`status`,`activationCode`) values ('xxxx','赵云','123','zhaoYun@163.com',1,'xxxx');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

@ -0,0 +1,187 @@
table {
font-size: 10pt;
width: 900px;
}
.tt {
border-top: 1px solid #e1ddd4;
border-bottom: 1px solid #e1ddd4;
height: 30px;
background-color: #f9f8f3;
}
.td {
border-bottom: 1px solid #f0f0f0;
}
body {
font-size: 10pt;
color: #404040;
}
a {
text-decoration: none;
}
a:visited {
color: #018BD3;
}
a:hover {
color: #FF6600;
text-decoration: underline;
}
.divOrder {
width: 90%;
font-weight: 900;
font-size: 15px;
padding: 20px;
margin-left: 100px;
}
.divRow {
width: 1100px;
margin-left: 100px;
border: 2px solid #e9c9b2;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 20px;
padding-right: 20px;
}
.divContent {
border-bottom: 1px solid #f2e2d4;
}
dt {
font-weight: 900;
font-size: 15px;
margin: 5px;
}
.title {
border: 1px solid #d0d0d0;
background: url(/goods/images/bg_btns.png) repeat-x;
background-position: 0 -132px;
margin-left: 2px;
height: 30px;
width: 99.8%;
}
td .bookname {
overflow: hidden;
text-overflow: ellipsis;
word-break: keep-all;
white-space: nowrap;
width: 300px;
}
.pay {
background: url(/goods/images/sprites_orderdetails.gif)
no-repeat;
display: inline-block;
background-position: 0 -200px;
height: 34px;
width: 142px;
margin-top: 10px;
}
.price_t {
font-size: 15px;
color: #c30;
font-weight: bold;
padding-right: 10px;
font-family: Arial;
}
a {
text-decoration: none;
}
.tab a:visited {
color: #018BD3;
}
.tab a:hover {
color: #FF6600;
text-decoration: underline;
}
#confirm {
background: url(/goods/images/confirm.jpg) no-repeat;
display: inline-block;
height: 34px;
width: 142px;
font-size: 20px;
font-weight: 900;
color: #fff;
text-align: left;
padding-top: 6px;
padding-left: 30px;
}
#cancel {
background: url(/goods/images/huang_2_btn.jpg)
no-repeat;
display: inline-block;
height: 34px;
width: 142px;
font-size: 20px;
font-weight: 900;
color: #fff;
text-align: left;
padding-top: 6px;
padding-left: 30px;
text-decoration: none;
}
#cancel:hover {
background: url(/goods/images/huang_1_btn.jpg)
no-repeat;
display: inline-block;
height: 34px;
width: 142px;
font-size: 20px;
font-weight: 900;
color: #fff;
text-align: left;
padding-top: 6px;
padding-left: 30px;
}
#deliver {
background: url(/goods/images/hong_2_btn.jpg) no-repeat;
display: inline-block;
height: 34px;
width: 142px;
font-size: 20px;
font-weight: 900;
color: #fff;
text-align: left;
padding-top: 6px;
padding-left: 30px;
text-decoration: none;
}
#deliver:hover {
background: url(/goods/images/hong_1_btn.jpg) no-repeat;
display: inline-block;
height: 34px;
width: 142px;
font-size: 20px;
font-weight: 900;
color: #fff;
text-align: left;
padding-top: 6px;
padding-left: 30px;
}
.spanTotal {
font-weight: 900;
font-size: 15px;
}
.divBtn {
margin: 10px 10px 10px 900px;
}

@ -0,0 +1,23 @@
/* Turkish initialisation for the jQuery UI date picker plugin. */
/* Written by Izzet Emre Erkan (kara@karalamalar.net). */
jQuery(function($){
$.datepicker.regional['tr'] = {
closeText: 'kapat',
prevText: '&#x3c;geri',
nextText: 'ileri&#x3e',
currentText: 'bugün',
monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran',
'Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'],
monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz',
'Tem','Ağu','Eyl','Eki','Kas','Ara'],
dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'],
dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
weekHeader: 'Hf',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['tr']);
});

@ -0,0 +1,23 @@
/* Greek (el) initialisation for the jQuery UI date picker plugin. */
/* Written by Alex Cicovic (http://www.alexcicovic.com) */
jQuery(function($){
$.datepicker.regional['el'] = {
closeText: 'Κλείσιμο',
prevText: 'Προηγούμενος',
nextText: 'Επόμενος',
currentText: 'Τρέχων Μήνας',
monthNames: ['Ιανουάριος','Φεβρουάριος','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος',
'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'],
monthNamesShort: ['Ιαν','Φεβ','Μαρ','Απρ','Μαι','Ιουν',
'Ιουλ','Αυγ','Σεπ','Οκτ','Νοε','Δεκ'],
dayNames: ['Κυριακή','Δευτέρα','Τρίτη','Τετάρτη','Πέμπτη','Παρασκευή','Σάββατο'],
dayNamesShort: ['Κυρ','Δευ','Τρι','Τετ','Πεμ','Παρ','Σαβ'],
dayNamesMin: ['Κυ','Δε','Τρ','Τε','Πε','Πα','Σα'],
weekHeader: 'Εβδ',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['el']);
});

@ -0,0 +1,50 @@
/*
* jQuery UI Effects Slide 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Effects/Slide
*
* Depends:
* jquery.effects.core.js
*/
(function( $, undefined ) {
$.effects.slide = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','bottom','left','right'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
var direction = o.options.direction || 'left'; // Default Direction
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
$.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true}));
if (mode == 'show') el.css(ref, motion == 'pos' ? (isNaN(distance) ? "-" + distance : -distance) : distance); // Shift
// Animation
var animation = {};
animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance;
// Animate
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == 'hide') el.hide(); // Hide
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(this, arguments); // Callback
el.dequeue();
}});
});
};
})(jQuery);

@ -0,0 +1,23 @@
/* Chinese initialisation for the jQuery UI date picker plugin. */
/* Written by Ressol (ressol@gmail.com). */
jQuery(function($){
$.datepicker.regional['zh-TW'] = {
closeText: '關閉',
prevText: '&#x3c;上月',
nextText: '下月&#x3e;',
currentText: '今天',
monthNames: ['一月','二月','三月','四月','五月','六月',
'七月','八月','九月','十月','十一月','十二月'],
monthNamesShort: ['一','二','三','四','五','六',
'七','八','九','十','十一','十二'],
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
dayNamesMin: ['日','一','二','三','四','五','六'],
weekHeader: '周',
dateFormat: 'yy/mm/dd',
firstDay: 1,
isRTL: false,
showMonthAfterYear: true,
yearSuffix: '年'};
$.datepicker.setDefaults($.datepicker.regional['zh-TW']);
});

@ -0,0 +1,18 @@
/*
* jQuery UI Tabs 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Tabs#theming
*/
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }

@ -0,0 +1,266 @@
/*
* jQuery UI Selectable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Selectables
*
* Depends:
* jquery.ui.core.js
* jquery.ui.mouse.js
* jquery.ui.widget.js
*/
(function( $, undefined ) {
$.widget("ui.selectable", $.ui.mouse, {
options: {
appendTo: 'body',
autoRefresh: true,
distance: 0,
filter: '*',
tolerance: 'touch'
},
_create: function() {
var self = this;
this.element.addClass("ui-selectable");
this.dragged = false;
// cache selectee children based on filter
var selectees;
this.refresh = function() {
selectees = $(self.options.filter, self.element[0]);
selectees.each(function() {
var $this = $(this);
var pos = $this.offset();
$.data(this, "selectable-item", {
element: this,
$element: $this,
left: pos.left,
top: pos.top,
right: pos.left + $this.outerWidth(),
bottom: pos.top + $this.outerHeight(),
startselected: false,
selected: $this.hasClass('ui-selected'),
selecting: $this.hasClass('ui-selecting'),
unselecting: $this.hasClass('ui-unselecting')
});
});
};
this.refresh();
this.selectees = selectees.addClass("ui-selectee");
this._mouseInit();
this.helper = $("<div class='ui-selectable-helper'></div>");
},
destroy: function() {
this.selectees
.removeClass("ui-selectee")
.removeData("selectable-item");
this.element
.removeClass("ui-selectable ui-selectable-disabled")
.removeData("selectable")
.unbind(".selectable");
this._mouseDestroy();
return this;
},
_mouseStart: function(event) {
var self = this;
this.opos = [event.pageX, event.pageY];
if (this.options.disabled)
return;
var options = this.options;
this.selectees = $(options.filter, this.element[0]);
this._trigger("start", event);
$(options.appendTo).append(this.helper);
// position helper (lasso)
this.helper.css({
"left": event.clientX,
"top": event.clientY,
"width": 0,
"height": 0
});
if (options.autoRefresh) {
this.refresh();
}
this.selectees.filter('.ui-selected').each(function() {
var selectee = $.data(this, "selectable-item");
selectee.startselected = true;
if (!event.metaKey) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
selectee.$element.addClass('ui-unselecting');
selectee.unselecting = true;
// selectable UNSELECTING callback
self._trigger("unselecting", event, {
unselecting: selectee.element
});
}
});
$(event.target).parents().andSelf().each(function() {
var selectee = $.data(this, "selectable-item");
if (selectee) {
var doSelect = !event.metaKey || !selectee.$element.hasClass('ui-selected');
selectee.$element
.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
selectee.unselecting = !doSelect;
selectee.selecting = doSelect;
selectee.selected = doSelect;
// selectable (UN)SELECTING callback
if (doSelect) {
self._trigger("selecting", event, {
selecting: selectee.element
});
} else {
self._trigger("unselecting", event, {
unselecting: selectee.element
});
}
return false;
}
});
},
_mouseDrag: function(event) {
var self = this;
this.dragged = true;
if (this.options.disabled)
return;
var options = this.options;
var x1 = this.opos[0], y1 = this.opos[1], x2 = event.pageX, y2 = event.pageY;
if (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; }
if (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; }
this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
this.selectees.each(function() {
var selectee = $.data(this, "selectable-item");
//prevent helper from being selected if appendTo: selectable
if (!selectee || selectee.element == self.element[0])
return;
var hit = false;
if (options.tolerance == 'touch') {
hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
} else if (options.tolerance == 'fit') {
hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
}
if (hit) {
// SELECT
if (selectee.selected) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
}
if (selectee.unselecting) {
selectee.$element.removeClass('ui-unselecting');
selectee.unselecting = false;
}
if (!selectee.selecting) {
selectee.$element.addClass('ui-selecting');
selectee.selecting = true;
// selectable SELECTING callback
self._trigger("selecting", event, {
selecting: selectee.element
});
}
} else {
// UNSELECT
if (selectee.selecting) {
if (event.metaKey && selectee.startselected) {
selectee.$element.removeClass('ui-selecting');
selectee.selecting = false;
selectee.$element.addClass('ui-selected');
selectee.selected = true;
} else {
selectee.$element.removeClass('ui-selecting');
selectee.selecting = false;
if (selectee.startselected) {
selectee.$element.addClass('ui-unselecting');
selectee.unselecting = true;
}
// selectable UNSELECTING callback
self._trigger("unselecting", event, {
unselecting: selectee.element
});
}
}
if (selectee.selected) {
if (!event.metaKey && !selectee.startselected) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
selectee.$element.addClass('ui-unselecting');
selectee.unselecting = true;
// selectable UNSELECTING callback
self._trigger("unselecting", event, {
unselecting: selectee.element
});
}
}
}
});
return false;
},
_mouseStop: function(event) {
var self = this;
this.dragged = false;
var options = this.options;
$('.ui-unselecting', this.element[0]).each(function() {
var selectee = $.data(this, "selectable-item");
selectee.$element.removeClass('ui-unselecting');
selectee.unselecting = false;
selectee.startselected = false;
self._trigger("unselected", event, {
unselected: selectee.element
});
});
$('.ui-selecting', this.element[0]).each(function() {
var selectee = $.data(this, "selectable-item");
selectee.$element.removeClass('ui-selecting').addClass('ui-selected');
selectee.selecting = false;
selectee.selected = true;
selectee.startselected = true;
self._trigger("selected", event, {
selected: selectee.element
});
});
this._trigger("stop", event);
this.helper.remove();
return false;
}
});
$.extend($.ui.selectable, {
version: "1.8.14"
});
})(jQuery);

@ -0,0 +1,33 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>book_main.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="<c:url value='/adminjsps/admin/css/book/main.css'/>">
</head>
<body>
<table class="table" align="center" width="100%" height="100%" border="0">
<tr style="height: 120px; ">
<td align="center" width="200px;">
<iframe frameborder="0" src="<c:url value='/adminjsps/admin/book/left.jsp'/>" name="left"></iframe>
</td>
<td>
<iframe frameborder="0" src="<c:url value='/adminjsps/admin/book/body.jsp'/>" name="body"></iframe>
</td>
</tr>
</table>
</body>
</html>

@ -0,0 +1,95 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>订单列表</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="<c:url value='/jsps/pager/pager.css'/>" />
<script type="text/javascript" src="<c:url value='/jsps/pager/pager.js'/>"></script>
<link rel="stylesheet" type="text/css" href="<c:url value='/adminjsps/admin/css/order/list.css'/>" />
<link rel="stylesheet" type="text/css" href="<c:url value='/css/css.css'/>" />
</head>
<body>
<p class="pLink">
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=1'/>">未付款</a> |
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=2'/>">已付款</a> |
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=3'/>">已发货</a> |
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=4'/>">交易成功</a> |
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=5'/>">已取消</a>
</p>
<div class="divMain">
<div class="title">
<div style="margin-top:7px;">
<span style="margin-left: 150px;margin-right: 280px;">商品信息</span>
<span style="margin-left: 40px;margin-right: 100px;">金额</span>
<span style="margin-left: 50px;margin-right: 53px;">订单状态</span>
<span style="margin-left: 100px;">操作</span>
</div>
</div>
<br/>
<table align="center" border="0" width="100%" cellpadding="0" cellspacing="0">
<c:forEach items="${pb.beanList }" var="order">
<tr class="tt">
<td width="320px">订单号:<a href="<c:url value='/admin/AdminOrderServlet?method=load&oid=${order.oid }'/>">${order.oid }</a></td>
<td width="200px">下单时间:${order.ordertime }</td>
<td width="178px">&nbsp;</td>
<td width="205px">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr style="padding-top: 10px; padding-bottom: 10px;">
<td colspan="2">
<c:forEach items="${order.orderItemList }" var="orderItem">
<img border="0" width="70" src="<c:url value='/${orderItem.book.image_b }'/>"/>
</c:forEach>
</td>
<td style="padding-left: 0">
<span class="price_t">&yen;${order.total }</span>
</td>
<td>
<c:choose>
<c:when test="${order.status eq 1 }">(等待付款)</c:when>
<c:when test="${order.status eq 2 }">(准备发货)</c:when>
<c:when test="${order.status eq 3 }">(等待确认)</c:when>
<c:when test="${order.status eq 4 }">(交易成功)</c:when>
<c:when test="${order.status eq 5 }">(已取消)</c:when>
</c:choose>
</td>
<td>
<a href="<c:url value='/admin/AdminOrderServlet?method=load&oid=${order.oid }'/>">查看</a><br/>
<c:if test="${order.status eq 1 }">
<a href="<c:url value='/admin/AdminOrderServlet?method=load&oid=${order.oid }&btn=cancel'/>">取消</a><br/>
</c:if>
<c:if test="${order.status eq 2 }">
<a href="<c:url value='/admin/AdminOrderServlet?method=load&oid=${order.oid }&btn=deliver'/>">发货</a><br/>
</c:if>
</td>
</tr>
</c:forEach>
</table>
<br/>
<%@include file="/jsps/pager/pager.jsp" %>
</div>
</body>
</html>

@ -0,0 +1,23 @@
* {
font-size: 10pt;
}
body {
text-align: center;
margin: 0px;
}
.table {
width: 100%;
height: 100%;
border-collapse: collapse; /*单线的列表边框*/
}
.table td {
border: 1px solid gray; /*固定边框,1像素*/
}
iframe {
width: 100%;
height: 100%;
}

@ -0,0 +1,205 @@
package cn.itcast.goods.admin.book.web.servlet;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.ImageIcon;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import cn.itcast.commons.CommonUtils;
import cn.itcast.goods.book.domain.Book;
import cn.itcast.goods.book.service.BookService;
import cn.itcast.goods.category.domain.Category;
import cn.itcast.goods.category.service.CategoryService;
public class AdminAddBookServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
/*
* 1. commons-fileupload的上传三步
*/
// 创建工具
FileItemFactory factory = new DiskFileItemFactory();
/*
* 2. 创建解析器对象
*/
ServletFileUpload sfu = new ServletFileUpload(factory);
sfu.setFileSizeMax(80 * 1024);//设置单个上传的文件上限为80KB
/*
* 3. 解析request得到List<FileItem>
*/
List<FileItem> fileItemList = null;
try {
fileItemList = sfu.parseRequest(request);
} catch (FileUploadException e) {
// 如果出现这个异步说明单个文件超出了80KB
error("上传的文件超出了80KB", request, response);
return;
}
/*
* 4. 把List<FileItem>封装到Book对象中
* 4.1 首先把“普通表单字段”放到一个Map中再把Map转换成Book和Category对象再建立两者的关系
*/
Map<String,Object> map = new HashMap<String,Object>();
for(FileItem fileItem : fileItemList) {
if(fileItem.isFormField()) {//如果是普通表单字段
map.put(fileItem.getFieldName(), fileItem.getString("UTF-8"));
}
}
Book book = CommonUtils.toBean(map, Book.class);//把Map中大部分数据封装到Book对象中
Category category = CommonUtils.toBean(map, Category.class);//把Map中cid封装到Category中
book.setCategory(category);
/*
* 4.2 把上传的图片保存起来
* > 获取文件名:截取之
* > 给文件添加前缀使用uuid前缀为也避免文件同名现象
* > 校验文件的扩展名只能是jpg
* > 校验图片的尺寸
* > 指定图片的保存路径这需要使用ServletContext#getRealPath()
* > 保存之
* > 把图片的路径设置给Book对象
*/
// 获取文件名
FileItem fileItem = fileItemList.get(1);//获取大图
String filename = fileItem.getName();
// 截取文件名,因为部分浏览器上传的绝对路径
int index = filename.lastIndexOf("\\");
if(index != -1) {
filename = filename.substring(index + 1);
}
// 给文件名添加uuid前缀避免文件同名现象
filename = CommonUtils.uuid() + "_" + filename;
// 校验文件名称的扩展名
if(!filename.toLowerCase().endsWith(".jpg")) {
error("上传的图片扩展名必须是JPG", request, response);
return;
}
// 校验图片的尺寸
// 保存上传的图片把图片new成图片对象Image、Icon、ImageIcon、BufferedImage、ImageIO
/*
* 保存图片:
* 1. 获取真实路径
*/
String savepath = this.getServletContext().getRealPath("/book_img");
/*
* 2. 创建目标文件
*/
File destFile = new File(savepath, filename);
/*
* 3. 保存文件
*/
try {
fileItem.write(destFile);//它会把临时文件重定向到指定的路径,再删除临时文件
} catch (Exception e) {
throw new RuntimeException(e);
}
// 校验尺寸
// 1. 使用文件路径创建ImageIcon
ImageIcon icon = new ImageIcon(destFile.getAbsolutePath());
// 2. 通过ImageIcon得到Image对象
Image image = icon.getImage();
// 3. 获取宽高来进行校验
if(image.getWidth(null) > 350 || image.getHeight(null) > 350) {
error("您上传的图片尺寸超出了350*350", request, response);
destFile.delete();//删除图片
return;
}
// 把图片的路径设置给book对象
book.setImage_w("book_img/" + filename);
// 获取文件名
fileItem = fileItemList.get(2);//获取小图
filename = fileItem.getName();
// 截取文件名,因为部分浏览器上传的绝对路径
index = filename.lastIndexOf("\\");
if(index != -1) {
filename = filename.substring(index + 1);
}
// 给文件名添加uuid前缀避免文件同名现象
filename = CommonUtils.uuid() + "_" + filename;
// 校验文件名称的扩展名
if(!filename.toLowerCase().endsWith(".jpg")) {
error("上传的图片扩展名必须是JPG", request, response);
return;
}
// 校验图片的尺寸
// 保存上传的图片把图片new成图片对象Image、Icon、ImageIcon、BufferedImage、ImageIO
/*
* 保存图片:
* 1. 获取真实路径
*/
savepath = this.getServletContext().getRealPath("/book_img");
/*
* 2. 创建目标文件
*/
destFile = new File(savepath, filename);
/*
* 3. 保存文件
*/
try {
fileItem.write(destFile);//它会把临时文件重定向到指定的路径,再删除临时文件
} catch (Exception e) {
throw new RuntimeException(e);
}
// 校验尺寸
// 1. 使用文件路径创建ImageIcon
icon = new ImageIcon(destFile.getAbsolutePath());
// 2. 通过ImageIcon得到Image对象
image = icon.getImage();
// 3. 获取宽高来进行校验
if(image.getWidth(null) > 350 || image.getHeight(null) > 350) {
error("您上传的图片尺寸超出了350*350", request, response);
destFile.delete();//删除图片
return;
}
// 把图片的路径设置给book对象
book.setImage_b("book_img/" + filename);
// 调用service完成保存
book.setBid(CommonUtils.uuid());
BookService bookService = new BookService();
bookService.add(book);
// 保存成功信息转发到msg.jsp
request.setAttribute("msg", "添加图书成功!");
request.getRequestDispatcher("/adminjsps/msg.jsp").forward(request, response);
}
/*
* 保存错误信息转发到add.jsp
*/
private void error(String msg, HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("msg", msg);
request.setAttribute("parents", new CategoryService().findParents());//所有一级分类
request.getRequestDispatcher("/adminjsps/admin/book/add.jsp").
forward(request, response);
}
}

@ -0,0 +1,23 @@
/* Hebrew initialisation for the UI Datepicker extension. */
/* Written by Amir Hardon (ahardon at gmail dot com). */
jQuery(function($){
$.datepicker.regional['he'] = {
closeText: 'סגור',
prevText: '&#x3c;הקודם',
nextText: 'הבא&#x3e;',
currentText: 'היום',
monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני',
'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'],
monthNamesShort: ['1','2','3','4','5','6',
'7','8','9','10','11','12'],
dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'],
dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
weekHeader: 'Wk',
dateFormat: 'dd/mm/yy',
firstDay: 0,
isRTL: true,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['he']);
});

@ -0,0 +1,23 @@
/* Esperanto initialisation for the jQuery UI date picker plugin. */
/* Written by Olivier M. (olivierweb@ifrance.com). */
jQuery(function($){
$.datepicker.regional['eo'] = {
closeText: 'Fermi',
prevText: '&lt;Anta',
nextText: 'Sekv&gt;',
currentText: 'Nuna',
monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio',
'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aŭg','Sep','Okt','Nov','Dec'],
dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'],
dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'],
weekHeader: 'Sb',
dateFormat: 'dd/mm/yy',
firstDay: 0,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['eo']);
});

@ -0,0 +1,98 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>订单详细</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="<c:url value='/adminjsps/admin/css/order/desc.css'/>">
</head>
<body>
<div class="divOrder">
<span>订单号:${oder.oid }
<c:choose>
<c:when test="${order.status eq 1 }">(等待付款)</c:when>
<c:when test="${order.status eq 2 }">(准备发货)</c:when>
<c:when test="${order.status eq 3 }">(等待确认)</c:when>
<c:when test="${order.status eq 4 }">(交易成功)</c:when>
<c:when test="${order.status eq 5 }">(已取消)</c:when>
</c:choose>
   下单时间:${order.ordertime }
</span>
</div>
<div class="divRow">
<div class="divContent">
<dl>
<dt>收货人信息</dt>
<dd>${order.address }</dd>
</dl>
</div>
<div class="divContent">
<dl>
<dt>商品清单</dt>
<dd>
<table cellpadding="0" cellspacing="0">
<tr>
<th class="tt">商品名称</th>
<th class="tt" align="left">单价</th>
<th class="tt" align="left">数量</th>
<th class="tt" align="left">小计</th>
</tr>
<c:forEach items="${order.orderItemList }" var="orderItem">
<tr style="padding-top: 20px; padding-bottom: 20px;">
<td class="td" width="400px">
<div class="bookname">
<img align="middle" width="70" src="<c:url value='/${orderItem.book.image_b }'/>"/>
${orderItem.book.bname }
</div>
</td>
<td class="td" >
<span>&yen;${orderItem.book.currPrice }</span>
</td>
<td class="td">
<span>${orderItem.quantity }</span>
</td>
<td class="td">
<span>&yen;${orderItem.subtotal }</span>
</td>
</tr>
</c:forEach>
</table>
</dd>
</dl>
</div>
<div class="divBtn">
<span class="spanTotal">合  计:</span>
<span class="price_t">&yen;${order.total }</span><br/>
<c:if test="${order.status eq 2 and btn eq 'deliver' }">
<a id="deliver" href="<c:url value='/admin/AdminOrderServlet?method=deliver&oid=${order.oid }'/>">发  货</a>
</c:if>
<c:if test="${order.status eq 1 and btn eq 'cancel' }">
<a id="cancel" href="<c:url value='/admin/AdminOrderServlet?method=cancel&oid=${order.oid }'/>">取  消</a>
</c:if>
</div>
</div>
</body>
</html>

@ -0,0 +1,32 @@
package cn.itcast.commons;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.apache.commons.beanutils.Converter;
/**
* 把String转换成java.util.Date的类型转换器
* @author qdmmy6
*
*/
public class DateConverter implements Converter {
@SuppressWarnings("rawtypes")
@Override
public Object convert(Class type, Object value) {
if(value == null) return null;//如果要转换成值为null那么直接返回null
if(!(value instanceof String)) {//如果要转换的值不是String那么就不转换了直接返回
return value;
}
String val = (String) value;//把值转换成String
// 使用SimpleDateFormat进行转换
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
return sdf.parse(val);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
}

@ -0,0 +1,35 @@
package cn.itcast.goods.category.web.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.itcast.goods.category.domain.Category;
import cn.itcast.goods.category.service.CategoryService;
import cn.itcast.servlet.BaseServlet;
/**
* 分类模块WEB层
* @author qdmmy6
*
*/
public class CategoryServlet extends BaseServlet {
private CategoryService categoryService = new CategoryService();
/**
* 查询所有分类
*/
public String findAll(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
/*
* 1. 通过service得到所有的分类
* 2. 保存到request中转发到left.jsp
*/
List<Category> parents = categoryService.findAll();
req.setAttribute("parents", parents);
return "f:/jsps/left.jsp";
}
}

@ -0,0 +1,49 @@
/*
* jQuery UI Resizable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizables
*
* Depends:
* jquery.ui.core.js
* jquery.ui.mouse.js
* jquery.ui.widget.js
*/
(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();
var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=
false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});
this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff=
{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];
if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},
_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,
{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight:
Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(c<a.maxWidth)a.maxWidth=c;if(f<a.maxHeight)a.maxHeight=f}this._vBoundaries=a},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=
b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(k(b.height))b.width=b.height*this.aspectRatio;else if(k(b.width))b.height=b.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this._vBoundaries,c=this.axis,d=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=k(b.width)&&a.minWidth&&
a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=
null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||
0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+
a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+
c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);
b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.14"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),
10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-
f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?
e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=
e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,
step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=
e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;
var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:
a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-
d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,
f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,
display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=
e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=
d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);

@ -0,0 +1,14 @@
/*
* jQuery UI Effects Slide 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Effects/Slide
*
* Depends:
* jquery.effects.core.js
*/
(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right"],f=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var g=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var e=d.options.distance||(g=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(f=="show")a.css(g,b=="pos"?isNaN(e)?"-"+e:-e:e);
var i={};i[g]=(f=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+e;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);

@ -0,0 +1,20 @@
/*
* jQuery UI Resizable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizable#theming
*/
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}

@ -0,0 +1,210 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>book_desc.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="<c:url value='/adminjsps/admin/css/book/desc.css'/>">
<link rel="stylesheet" type="text/css" href="<c:url value='/jquery/jquery.datepick.css'/>">
<script type="text/javascript" src="<c:url value='/jquery/jquery-1.5.1.js'/>"></script>
<script type="text/javascript" src="<c:url value='/jquery/jquery.datepick.js'/>"></script>
<script type="text/javascript" src="<c:url value='/jquery/jquery.datepick-zh-CN.js'/>"></script>
<script type="text/javascript" src="<c:url value='/adminjsps/admin/js/book/desc.js'/>"></script>
<script type="text/javascript">
$(function() {
$("#box").attr("checked", false);
$("#formDiv").css("display", "none");
$("#show").css("display", "");
// 操作和显示切换
$("#box").click(function() {
if($(this).attr("checked")) {
$("#show").css("display", "none");
$("#formDiv").css("display", "");
} else {
$("#formDiv").css("display", "none");
$("#show").css("display", "");
}
});
});
function loadChildren() {
/*
1. 获取pid
2. 发出异步请求,功能之:
3. 得到一个数组
4. 获取cid元素(<select>),把内部的<option>全部删除
5. 添加一个头(<option>请选择2级分类</option>
6. 循环数组,把数组中每个对象转换成一个<option>添加到cid中
*/
// 1. 获取pid
var pid = $("#pid").val();
// 2. 发送异步请求
$.ajax({
async:true,
cache:false,
url:"/goods/admin/AdminBookServlet",
data:{method:"ajaxFindChildren", pid:pid},
type:"POST",
dataType:"json",
success:function(arr) {
// 3. 得到cid删除它的内容
$("#cid").empty();//删除元素的子元素
$("#cid").append($("<option>====请选择2级分类====</option>"));//4.添加头
// 5. 循环遍历数组,把每个对象转换成<option>添加到cid中
for(var i = 0; i < arr.length; i++) {
var option = $("<option>").val(arr[i].cid).text(arr[i].cname);
$("#cid").append(option);
}
}
});
}
/*
* 点击编辑按钮时执行本函数
*/
function editForm() {
$("#method").val("edit");
$("#form").submit();
}
/*
* 点击删除按钮时执行本函数
*/
function deleteForm() {
$("#method").val("delete");
$("#form").submit();
}
</script>
</head>
<body>
<input type="checkbox" id="box"><label for="box">编辑或删除</label>
<br/>
<br/>
<div id="show">
<div class="sm">${book.bname }</div>
<img align="top" src="<c:url value='/${book.image_w }'/>" class="tp"/>
<div id="book" style="float:left;">
<ul>
<li>商品编号:${book.bid }</li>
<li>当前价:<span class="price_n">&yen;${book.currPrice }</span></li>
<li>定价:<span style="text-decoration:line-through;">&yen;${book.price }</span> 折扣:<span style="color: #c30;">${book.discount }</span>折</li>
</ul>
<hr style="margin-left: 50px; height: 1px; color: #dcdcdc"/>
<table class="tab">
<tr>
<td colspan="3">
作者:${book.author }著
</td>
</tr>
<tr>
<td colspan="3">
出版社:${book.press }</a>
</td>
</tr>
<tr>
<td colspan="3">出版时间:${book.publishtime }</td>
</tr>
<tr>
<td>版次:${book.edition }</td>
<td>页数:${book.pageNum }</td>
<td>字数:${book.wordNum }</td>
</tr>
<tr>
<td width="180">印刷时间:${book.printtime }</td>
<td>开本:${book.booksize }开</td>
<td>纸张:${book.paper }</td>
</tr>
</table>
</div>
</div>
<div id='formDiv'>
<div class="sm">&nbsp;</div>
<form action="<c:url value='/admin/AdminBookServlet'/>" method="post" id="form">
<input type="hidden" name="method" id="method"/>
<input type="hidden" name="bid" value="${book.bid }"/>
<img align="top" src="<c:url value='/${book.image_w }'/>" class="tp"/>
<div style="float:left;">
<ul>
<li>商品编号:${book.bid }</li>
<li>书名: <input id="bname" type="text" name="bname" value="${book.bname }" style="width:500px;"/></li>
<li>当前价:<input id="currPrice" type="text" name="currPrice" value="${book.currPrice }" style="width:50px;"/></li>
<li>定价: <input id="price" type="text" name="price" value="${book.price }" style="width:50px;"/>
折扣:<input id="discount" type="text" name="discount" value="${book.discount }" style="width:30px;"/>折</li>
</ul>
<hr style="margin-left: 50px; height: 1px; color: #dcdcdc"/>
<table class="tab">
<tr>
<td colspan="3">
作者:  <input id="author" type="text" name="author" value="${book.author }" style="width:150px;"/>
</td>
</tr>
<tr>
<td colspan="3">
出版社: <input id="press" type="text" name="press" value="${book.press }" style="width:200px;"/>
</td>
</tr>
<tr>
<td colspan="3">出版时间:<input id="publishtime" type="text" name="publishtime" value="${book.publishtime }" style="width:100px;"/></td>
</tr>
<tr>
<td>版次:  <input id="edition" type="text" name="edition" value="${book.edition }" style="width:40px;"/></td>
<td>页数:  <input id="pageNum" type="text" name="pageNum" value="${book.pageNum }" style="width:50px;"/></td>
<td>字数:  <input id="wordNum" type="text" name="wordNum" value="${book.wordNum }" style="width:80px;"/></td>
</tr>
<tr>
<td width="250px">印刷时间:<input id="printtime" type="text" name="printtime" value="${book.printtime }" style="width:100px;"/></td>
<td width="250px">开本:  <input id="booksize" type="text" name="booksize" value="${book.booksize }" style="width:30px;"/></td>
<td>纸张:  <input id="paper" type="text" name="paper" value="${book.paper }" style="width:80px;"/></td>
</tr>
<tr>
<td>
一级分类:<select name="pid" id="pid" onchange="loadChildren()">
<option value="">==请选择1级分类==</option>
<c:forEach items="${parents }" var="parent">
<option value="${parent.cid }" <c:if test="${book.category.parent.cid eq parent.cid }">selected="selected"</c:if>>${parent.cname }</option>
</c:forEach>
</select>
</td>
<td>
二级分类:<select name="cid" id="cid">
<option value="">==请选择2级分类==</option>
<c:forEach items="${children }" var="child">
<option value="${child.cid }" <c:if test="${book.category.cid eq child.cid }">selected="selected"</c:if>>${child.cname }</option>
</c:forEach>
</select>
</td>
<td></td>
</tr>
<tr>
<td colspan="2">
<input onclick="editForm()" type="button" name="method" id="editBtn" class="btn" value="编  辑">
<input onclick="deleteForm()" type="button" name="method" id="delBtn" class="btn" value="删  除">
</td>
<td></td>
</tr>
</table>
</div>
</form>
</div>
</body>
</html>

@ -0,0 +1,19 @@
/*
* jQuery UI Accordion 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Accordion#theming
*/
/* IE/Win - Fix animation bug - #4615 */
.ui-accordion { width: 100%; }
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
.ui-accordion .ui-accordion-content-active { display: block; }

@ -0,0 +1,249 @@
package cn.itcast.goods.book.dao;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import cn.itcast.commons.CommonUtils;
import cn.itcast.goods.book.domain.Book;
import cn.itcast.goods.category.domain.Category;
import cn.itcast.goods.pager.Expression;
import cn.itcast.goods.pager.PageBean;
import cn.itcast.goods.pager.PageConstants;
import cn.itcast.jdbc.TxQueryRunner;
public class BookDao {
private QueryRunner qr = new TxQueryRunner();
/**
* 删除图书
* @param bid
* @throws SQLException
*/
public void delete(String bid) throws SQLException {
String sql = "delete from t_book where bid=?";
qr.update(sql, bid);
}
/**
* 修改图书
* @param book
* String sql = "insert into t_book(bid,bname,author,price,currPrice," +
"discount,press,publishtime,edition,pageNum,wordNum,printtime," +
"booksize,paper,cid,image_w,image_b)" +
* @throws SQLException
*/
public void edit(Book book) throws SQLException {
String sql = "update t_book set bname=?,author=?,price=?,currPrice=?," +
"discount=?,press=?,publishtime=?,edition=?,pageNum=?,wordNum=?," +
"printtime=?,booksize=?,paper=?,cid=? where bid=?";
Object[] params = {book.getBname(),book.getAuthor(),
book.getPrice(),book.getCurrPrice(),book.getDiscount(),
book.getPress(),book.getPublishtime(),book.getEdition(),
book.getPageNum(),book.getWordNum(),book.getPrinttime(),
book.getBooksize(),book.getPaper(),
book.getCategory().getCid(),book.getBid()};
qr.update(sql, params);
}
/**
* 按bid查询
* @param bid
* @return
* @throws SQLException
*/
public Book findByBid(String bid) throws SQLException {
String sql = "SELECT * FROM t_book b, t_category c WHERE b.cid=c.cid AND b.bid=?";
// 一行记录中包含了很多的book的属性还有一个cid属性
Map<String,Object> map = qr.query(sql, new MapHandler(), bid);
// 把Map中除了cid以外的其他属性映射到Book对象中
Book book = CommonUtils.toBean(map, Book.class);
// 把Map中cid属性映射到Category中即这个Category只有cid
Category category = CommonUtils.toBean(map, Category.class);
// 两者建立关系
book.setCategory(category);
// 把pid获取出来创建一个Category parnet把pid赋给它然后再把parent赋给category
if(map.get("pid") != null) {
Category parent = new Category();
parent.setCid((String)map.get("pid"));
category.setParent(parent);
}
return book;
}
/**
* 查询指定分类下图书的个数
* @param cid
* @return
* @throws SQLException
*/
public int findBookCountByCategory(String cid) throws SQLException {
String sql = "select count(*) from t_book where cid=?";
Number cnt = (Number)qr.query(sql, new ScalarHandler(), cid);
return cnt == null ? 0 : cnt.intValue();
}
/**
* 按分类查询
* @param cid
* @param pc
* @return
* @throws SQLException
*/
public PageBean<Book> findByCategory(String cid, int pc) throws SQLException {
List<Expression> exprList = new ArrayList<Expression>();
exprList.add(new Expression("cid", "=", cid));
return findByCriteria(exprList, pc);
}
/**
* 按书名模糊查询
* @param bname
* @param pc
* @return
* @throws SQLException
*/
public PageBean<Book> findByBname(String bname, int pc) throws SQLException {
List<Expression> exprList = new ArrayList<Expression>();
exprList.add(new Expression("bname", "like", "%" + bname + "%"));
return findByCriteria(exprList, pc);
}
/**
* 按作者查
* @param bname
* @param pc
* @return
* @throws SQLException
*/
public PageBean<Book> findByAuthor(String author, int pc) throws SQLException {
List<Expression> exprList = new ArrayList<Expression>();
exprList.add(new Expression("author", "like", "%" + author + "%"));
return findByCriteria(exprList, pc);
}
/**
* 按出版社查
* @param press
* @param pc
* @return
* @throws SQLException
*/
public PageBean<Book> findByPress(String press, int pc) throws SQLException {
List<Expression> exprList = new ArrayList<Expression>();
exprList.add(new Expression("press", "like", "%" + press + "%"));
return findByCriteria(exprList, pc);
}
/**
* 多条件组合查询
* @param combination
* @param pc
* @return
* @throws SQLException
*/
public PageBean<Book> findByCombination(Book criteria, int pc) throws SQLException {
List<Expression> exprList = new ArrayList<Expression>();
exprList.add(new Expression("bname", "like", "%" + criteria.getBname() + "%"));
exprList.add(new Expression("author", "like", "%" + criteria.getAuthor() + "%"));
exprList.add(new Expression("press", "like", "%" + criteria.getPress() + "%"));
return findByCriteria(exprList, pc);
}
/**
* 通用的查询方法
* @param exprList
* @param pc
* @return
* @throws SQLException
*/
private PageBean<Book> findByCriteria(List<Expression> exprList, int pc) throws SQLException {
/*
* 1. 得到ps
* 2. 得到tr
* 3. 得到beanList
* 4. 创建PageBean返回
*/
/*
* 1. 得到ps
*/
int ps = PageConstants.BOOK_PAGE_SIZE;//每页记录数
/*
* 2. 通过exprList来生成where子句
*/
StringBuilder whereSql = new StringBuilder(" where 1=1");
List<Object> params = new ArrayList<Object>();//SQL中有问号它是对应问号的值
for(Expression expr : exprList) {
/*
* 添加一个条件上,
* 1) 以and开头
* 2) 条件的名称
* 3) 条件的运算符,可以是=、!=、>、< ... is nullis null没有值
* 4) 如果条件不是is null再追加问号然后再向params中添加一与问号对应的值
*/
whereSql.append(" and ").append(expr.getName())
.append(" ").append(expr.getOperator()).append(" ");
// where 1=1 and bid = ?
if(!expr.getOperator().equals("is null")) {
whereSql.append("?");
params.add(expr.getValue());
}
}
/*
* 3. 总记录数
*/
String sql = "select count(*) from t_book" + whereSql;
Number number = (Number)qr.query(sql, new ScalarHandler(), params.toArray());
int tr = number.intValue();//得到了总记录数
/*
* 4. 得到beanList即当前页记录
*/
sql = "select * from t_book" + whereSql + " order by orderBy limit ?,?";
params.add((pc-1) * ps);//当前页首行记录的下标
params.add(ps);//一共查询几行,就是每页记录数
List<Book> beanList = qr.query(sql, new BeanListHandler<Book>(Book.class),
params.toArray());
/*
* 5. 创建PageBean设置参数
*/
PageBean<Book> pb = new PageBean<Book>();
/*
* 其中PageBean没有url这个任务由Servlet完成
*/
pb.setBeanList(beanList);
pb.setPc(pc);
pb.setPs(ps);
pb.setTr(tr);
return pb;
}
/**
* 添加图书
* @param book
* @throws SQLException
*/
public void add(Book book) throws SQLException {
String sql = "insert into t_book(bid,bname,author,price,currPrice," +
"discount,press,publishtime,edition,pageNum,wordNum,printtime," +
"booksize,paper,cid,image_w,image_b)" +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
Object[] params = {book.getBid(),book.getBname(),book.getAuthor(),
book.getPrice(),book.getCurrPrice(),book.getDiscount(),
book.getPress(),book.getPublishtime(),book.getEdition(),
book.getPageNum(),book.getWordNum(),book.getPrinttime(),
book.getBooksize(),book.getPaper(), book.getCategory().getCid(),
book.getImage_w(),book.getImage_b()};
qr.update(sql, params);
}
}

@ -0,0 +1,215 @@
package cn.itcast.goods.order.web.servlet;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
public class PaymentUtil {
private static String encodingCharset = "UTF-8";
/**
* 生成hmac方法
*
* @param p0_Cmd 业务类型
* @param p1_MerId 商户编号
* @param p2_Order 商户订单号
* @param p3_Amt 支付金额
* @param p4_Cur 交易币种
* @param p5_Pid 商品名称
* @param p6_Pcat 商品种类
* @param p7_Pdesc 商品描述
* @param p8_Url 商户接收支付成功数据的地址
* @param p9_SAF 送货地址
* @param pa_MP 商户扩展信息
* @param pd_FrpId 银行编码
* @param pr_NeedResponse 应答机制
* @param keyValue 商户密钥
* @return
*/
public static String buildHmac(String p0_Cmd,String p1_MerId,
String p2_Order, String p3_Amt, String p4_Cur,String p5_Pid, String p6_Pcat,
String p7_Pdesc,String p8_Url, String p9_SAF,String pa_MP,String pd_FrpId,
String pr_NeedResponse,String keyValue) {
StringBuilder sValue = new StringBuilder();
// 业务类型
sValue.append(p0_Cmd);
// 商户编号
sValue.append(p1_MerId);
// 商户订单号
sValue.append(p2_Order);
// 支付金额
sValue.append(p3_Amt);
// 交易币种
sValue.append(p4_Cur);
// 商品名称
sValue.append(p5_Pid);
// 商品种类
sValue.append(p6_Pcat);
// 商品描述
sValue.append(p7_Pdesc);
// 商户接收支付成功数据的地址
sValue.append(p8_Url);
// 送货地址
sValue.append(p9_SAF);
// 商户扩展信息
sValue.append(pa_MP);
// 银行编码
sValue.append(pd_FrpId);
// 应答机制
sValue.append(pr_NeedResponse);
return PaymentUtil.hmacSign(sValue.toString(), keyValue);
}
/**
* 返回校验hmac方法
*
* @param hmac 支付网关发来的加密验证码
* @param p1_MerId 商户编号
* @param r0_Cmd 业务类型
* @param r1_Code 支付结果
* @param r2_TrxId 易宝支付交易流水号
* @param r3_Amt 支付金额
* @param r4_Cur 交易币种
* @param r5_Pid 商品名称
* @param r6_Order 商户订单号
* @param r7_Uid 易宝支付会员ID
* @param r8_MP 商户扩展信息
* @param r9_BType 交易结果返回类型
* @param keyValue 密钥
* @return
*/
public static boolean verifyCallback(String hmac, String p1_MerId,
String r0_Cmd, String r1_Code, String r2_TrxId, String r3_Amt,
String r4_Cur, String r5_Pid, String r6_Order, String r7_Uid,
String r8_MP, String r9_BType, String keyValue) {
StringBuilder sValue = new StringBuilder();
// 商户编号
sValue.append(p1_MerId);
// 业务类型
sValue.append(r0_Cmd);
// 支付结果
sValue.append(r1_Code);
// 易宝支付交易流水号
sValue.append(r2_TrxId);
// 支付金额
sValue.append(r3_Amt);
// 交易币种
sValue.append(r4_Cur);
// 商品名称
sValue.append(r5_Pid);
// 商户订单号
sValue.append(r6_Order);
// 易宝支付会员ID
sValue.append(r7_Uid);
// 商户扩展信息
sValue.append(r8_MP);
// 交易结果返回类型
sValue.append(r9_BType);
String sNewString = PaymentUtil.hmacSign(sValue.toString(), keyValue);
return sNewString.equals(hmac);
}
/**
* @param aValue
* @param aKey
* @return
*/
public static String hmacSign(String aValue, String aKey) {
byte k_ipad[] = new byte[64];
byte k_opad[] = new byte[64];
byte keyb[];
byte value[];
try {
keyb = aKey.getBytes(encodingCharset);
value = aValue.getBytes(encodingCharset);
} catch (UnsupportedEncodingException e) {
keyb = aKey.getBytes();
value = aValue.getBytes();
}
Arrays.fill(k_ipad, keyb.length, 64, (byte) 54);
Arrays.fill(k_opad, keyb.length, 64, (byte) 92);
for (int i = 0; i < keyb.length; i++) {
k_ipad[i] = (byte) (keyb[i] ^ 0x36);
k_opad[i] = (byte) (keyb[i] ^ 0x5c);
}
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
return null;
}
md.update(k_ipad);
md.update(value);
byte dg[] = md.digest();
md.reset();
md.update(k_opad);
md.update(dg, 0, 16);
dg = md.digest();
return toHex(dg);
}
public static String toHex(byte input[]) {
if (input == null)
return null;
StringBuffer output = new StringBuffer(input.length * 2);
for (int i = 0; i < input.length; i++) {
int current = input[i] & 0xff;
if (current < 16)
output.append("0");
output.append(Integer.toString(current, 16));
}
return output.toString();
}
/**
*
* @param args
* @param key
* @return
*/
public static String getHmac(String[] args, String key) {
if (args == null || args.length == 0) {
return (null);
}
StringBuffer str = new StringBuffer();
for (int i = 0; i < args.length; i++) {
str.append(args[i]);
}
return (hmacSign(str.toString(), key));
}
/**
* @param aValue
* @return
*/
public static String digest(String aValue) {
aValue = aValue.trim();
byte value[];
try {
value = aValue.getBytes(encodingCharset);
} catch (UnsupportedEncodingException e) {
value = aValue.getBytes();
}
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
return toHex(md.digest(value));
}
// public static void main(String[] args) {
// System.out.println(hmacSign("AnnulCard1000043252120080620160450.0http://localhost/SZXpro/callback.asp杩?4564868265473632445648682654736324511","8UPp0KE8sq73zVP370vko7C39403rtK1YwX40Td6irH216036H27Eb12792t"));
// }
}

@ -0,0 +1,23 @@
/* Hungarian initialisation for the jQuery UI date picker plugin. */
/* Written by Istvan Karaszi (jquery@spam.raszi.hu). */
jQuery(function($){
$.datepicker.regional['hu'] = {
closeText: 'bezárás',
prevText: '&laquo;&nbsp;vissza',
nextText: 'előre&nbsp;&raquo;',
currentText: 'ma',
monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
dayNames: ['Vasárnap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
weekHeader: 'Hé',
dateFormat: 'yy-mm-dd',
firstDay: 1,
isRTL: false,
showMonthAfterYear: true,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['hu']);
});

@ -0,0 +1,11 @@
/*
* jQuery UI Progressbar 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Progressbar#theming
*/
.ui-progressbar { height:2em; text-align: left; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }

@ -0,0 +1,39 @@
package cn.itcast.goods.admin.admin.web.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.itcast.commons.CommonUtils;
import cn.itcast.goods.admin.admin.domain.Admin;
import cn.itcast.goods.admin.admin.service.AdminService;
import cn.itcast.servlet.BaseServlet;
public class AdminServlet extends BaseServlet {
private AdminService adminService = new AdminService();
/**
* 登录功能
* @param req
* @param resp
* @return
* @throws ServletException
* @throws IOException
*/
public String login(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
/*
* 1. 封装表单数据到Admin
*/
Admin form = CommonUtils.toBean(req.getParameterMap(), Admin.class);
Admin admin = adminService.login(form);
if(admin == null) {
req.setAttribute("msg", "用户名或密码错误!");
return "/adminjsps/login.jsp";
}
req.getSession().setAttribute("admin", admin);
return "r:/adminjsps/admin/index.jsp";
}
}

@ -0,0 +1,89 @@
package cn.itcast.goods.cart.service;
import java.sql.SQLException;
import java.util.List;
import cn.itcast.commons.CommonUtils;
import cn.itcast.goods.cart.dao.CartItemDao;
import cn.itcast.goods.cart.domain.CartItem;
public class CartItemService {
private CartItemDao cartItemDao = new CartItemDao();
/*
* 加载多个CartItem
*/
public List<CartItem> loadCartItems(String cartItemIds) {
try {
return cartItemDao.loadCartItems(cartItemIds);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
/**
* 修改购物车条目数量
* @param cartItemId
* @param quantity
* @return
*/
public CartItem updateQuantity(String cartItemId, int quantity) {
try {
cartItemDao.updateQuantity(cartItemId, quantity);
return cartItemDao.findByCartItemId(cartItemId);
} catch(SQLException e) {
throw new RuntimeException(e);
}
}
/**
* 批量删除功能
* @param cartItemIds
*/
public void batchDelete(String cartItemIds) {
try {
cartItemDao.batchDelete(cartItemIds);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
/**
* 添加条目
* @param cartItem
*/
public void add(CartItem cartItem) {
try {
/*
* 1. 使用uid和bid去数据库中查询这个条目是否存在
*/
CartItem _cartItem = cartItemDao.findByUidAndBid(
cartItem.getUser().getUid(),
cartItem.getBook().getBid());
if(_cartItem == null) {//如果原来没有这个条目,那么添加条目
cartItem.setCartItemId(CommonUtils.uuid());
cartItemDao.addCartItem(cartItem);
} else {//如果原来有这个条目,修改数量
// 使用原有数量和新条目数量之各,来做为新的数量
int quantity = cartItem.getQuantity() + _cartItem.getQuantity();
// 修改这个老条目的数量
cartItemDao.updateQuantity(_cartItem.getCartItemId(), quantity);
}
} catch(Exception e) {
throw new RuntimeException(e);
}
}
/**
* 我的购物车功能
* @param uid
* @return
*/
public List<CartItem> myCart(String uid) {
try {
return cartItemDao.findByUser(uid);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}

@ -0,0 +1,33 @@
/*
* jQuery UI Slider 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Slider
*
* Depends:
* jquery.ui.core.js
* jquery.ui.mouse.js
* jquery.ui.widget.js
*/
(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var b=this,a=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=a.values&&a.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
this.orientation+" ui-widget ui-widget-content ui-corner-all"+(a.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(a.range){if(a.range===true){if(!a.values)a.values=[this._valueMin(),this._valueMin()];if(a.values.length&&a.values.length!==2)a.values=[a.values[0],a.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(a.range==="min"||a.range==="max"?" ui-slider-range-"+a.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
this.handles=c.add(d(e.join("")).appendTo(b.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){a.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(a.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",
g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!b.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!b._keySliding){b._keySliding=true;d(this).addClass("ui-state-active");i=b._start(g,l);if(i===false)return}break}m=b.options.step;i=b.options.values&&b.options.values.length?
(h=b.values(l)):(h=b.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=b._valueMin();break;case d.ui.keyCode.END:h=b._valueMax();break;case d.ui.keyCode.PAGE_UP:h=b._trimAlignValue(i+(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(i-(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===b._valueMax())return;h=b._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===b._valueMin())return;h=b._trimAlignValue(i-
m);break}b._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(b._keySliding){b._keySliding=false;b._stop(g,k);b._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
return this},_mouseCapture:function(b){var a=this.options,c,f,e,j,g;if(a.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:b.pageX,y:b.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(a.range===true&&this.values(1)===a.min){g+=1;e=d(this.handles[g])}if(this._start(b,g)===false)return false;
this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();a=e.offset();this._clickOffset=!d(b.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:b.pageX-a.left-e.width()/2,top:b.pageY-a.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(b,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(b){var a=
this._normValueFromMouse({x:b.pageX,y:b.pageY});this._slide(b,this._handleIndex,a);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(b){var a;if(this.orientation==="horizontal"){a=
this.elementSize.width;b=b.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{a=this.elementSize.height;b=b.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}a=b/a;if(a>1)a=1;if(a<0)a=0;if(this.orientation==="vertical")a=1-a;b=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+a*b)},_start:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);
c.values=this.values()}return this._trigger("start",b,c)},_slide:function(b,a,c){var f;if(this.options.values&&this.options.values.length){f=this.values(a?0:1);if(this.options.values.length===2&&this.options.range===true&&(a===0&&c>f||a===1&&c<f))c=f;if(c!==this.values(a)){f=this.values();f[a]=c;b=this._trigger("slide",b,{handle:this.handles[a],value:c,values:f});this.values(a?0:1);b!==false&&this.values(a,c,true)}}else if(c!==this.value()){b=this._trigger("slide",b,{handle:this.handles[a],value:c});
b!==false&&this.value(c)}},_stop:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("stop",b,c)},_change:function(b,a){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("change",b,c)}},value:function(b){if(arguments.length){this.options.value=
this._trimAlignValue(b);this._refreshValue();this._change(null,0)}else return this._value()},values:function(b,a){var c,f,e;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(a);this._refreshValue();this._change(null,b)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(b):
this.value();else return this._values()},_setOption:function(b,a){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(b){case "disabled":if(a){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var b=this.options.value;return b=this._trimAlignValue(b)},_values:function(b){var a,c;if(arguments.length){a=this.options.values[b];
return a=this._trimAlignValue(a)}else{a=this.options.values.slice();for(c=0;c<a.length;c+=1)a[c]=this._trimAlignValue(a[c]);return a}},_trimAlignValue:function(b){if(b<=this._valueMin())return this._valueMin();if(b>=this._valueMax())return this._valueMax();var a=this.options.step>0?this.options.step:1,c=(b-this._valueMin())%a;alignValue=b-c;if(Math.abs(c)*2>=a)alignValue+=c>0?a:-a;return parseFloat(alignValue.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},
_refreshValue:function(){var b=this.options.range,a=this.options,c=this,f=!this._animateOff?a.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},a.animate);
if(h===1)c.range[f?"animate":"css"]({width:e-g+"%"},{queue:false,duration:a.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},a.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:a.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1,
1)[f?"animate":"css"]({width:e+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.14"})})(jQuery);

@ -0,0 +1,823 @@
/*
* jQuery UI Draggable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Draggables
*
* Depends:
* jquery.ui.core.js
* jquery.ui.mouse.js
* jquery.ui.widget.js
*/
(function( $, undefined ) {
$.widget("ui.draggable", $.ui.mouse, {
widgetEventPrefix: "drag",
options: {
addClasses: true,
appendTo: "parent",
axis: false,
connectToSortable: false,
containment: false,
cursor: "auto",
cursorAt: false,
grid: false,
handle: false,
helper: "original",
iframeFix: false,
opacity: false,
refreshPositions: false,
revert: false,
revertDuration: 500,
scope: "default",
scroll: true,
scrollSensitivity: 20,
scrollSpeed: 20,
snap: false,
snapMode: "both",
snapTolerance: 20,
stack: false,
zIndex: false
},
_create: function() {
if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position")))
this.element[0].style.position = 'relative';
(this.options.addClasses && this.element.addClass("ui-draggable"));
(this.options.disabled && this.element.addClass("ui-draggable-disabled"));
this._mouseInit();
},
destroy: function() {
if(!this.element.data('draggable')) return;
this.element
.removeData("draggable")
.unbind(".draggable")
.removeClass("ui-draggable"
+ " ui-draggable-dragging"
+ " ui-draggable-disabled");
this._mouseDestroy();
return this;
},
_mouseCapture: function(event) {
var o = this.options;
// among others, prevent a drag on a resizable-handle
if (this.helper || o.disabled || $(event.target).is('.ui-resizable-handle'))
return false;
//Quit if we're not on a valid handle
this.handle = this._getHandle(event);
if (!this.handle)
return false;
$(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>')
.css({
width: this.offsetWidth+"px", height: this.offsetHeight+"px",
position: "absolute", opacity: "0.001", zIndex: 1000
})
.css($(this).offset())
.appendTo("body");
});
return true;
},
_mouseStart: function(event) {
var o = this.options;
//Create and append the visible helper
this.helper = this._createHelper(event);
//Cache the helper size
this._cacheHelperProportions();
//If ddmanager is used for droppables, set the global draggable
if($.ui.ddmanager)
$.ui.ddmanager.current = this;
/*
* - Position generation -
* This block generates everything position related - it's the core of draggables.
*/
//Cache the margins of the original element
this._cacheMargins();
//Store the helper's css position
this.cssPosition = this.helper.css("position");
this.scrollParent = this.helper.scrollParent();
//The element's absolute position on the page minus margins
this.offset = this.positionAbs = this.element.offset();
this.offset = {
top: this.offset.top - this.margins.top,
left: this.offset.left - this.margins.left
};
$.extend(this.offset, {
click: { //Where the click happened, relative to the element
left: event.pageX - this.offset.left,
top: event.pageY - this.offset.top
},
parent: this._getParentOffset(),
relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
});
//Generate the original position
this.originalPosition = this.position = this._generatePosition(event);
this.originalPageX = event.pageX;
this.originalPageY = event.pageY;
//Adjust the mouse offset relative to the helper if 'cursorAt' is supplied
(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
//Set a containment if given in the options
if(o.containment)
this._setContainment();
//Trigger event + callbacks
if(this._trigger("start", event) === false) {
this._clear();
return false;
}
//Recache the helper size
this._cacheHelperProportions();
//Prepare the droppable offsets
if ($.ui.ddmanager && !o.dropBehaviour)
$.ui.ddmanager.prepareOffsets(this, event);
this.helper.addClass("ui-draggable-dragging");
this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
//If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
if ( $.ui.ddmanager ) $.ui.ddmanager.dragStart(this, event);
return true;
},
_mouseDrag: function(event, noPropagation) {
//Compute the helpers position
this.position = this._generatePosition(event);
this.positionAbs = this._convertPositionTo("absolute");
//Call plugins and callbacks and use the resulting position if something is returned
if (!noPropagation) {
var ui = this._uiHash();
if(this._trigger('drag', event, ui) === false) {
this._mouseUp({});
return false;
}
this.position = ui.position;
}
if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px';
if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px';
if($.ui.ddmanager) $.ui.ddmanager.drag(this, event);
return false;
},
_mouseStop: function(event) {
//If we are using droppables, inform the manager about the drop
var dropped = false;
if ($.ui.ddmanager && !this.options.dropBehaviour)
dropped = $.ui.ddmanager.drop(this, event);
//if a drop comes from outside (a sortable)
if(this.dropped) {
dropped = this.dropped;
this.dropped = false;
}
//if the original element is removed, don't bother to continue if helper is set to "original"
if((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original")
return false;
if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
var self = this;
$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
if(self._trigger("stop", event) !== false) {
self._clear();
}
});
} else {
if(this._trigger("stop", event) !== false) {
this._clear();
}
}
return false;
},
_mouseUp: function(event) {
if (this.options.iframeFix === true) {
$("div.ui-draggable-iframeFix").each(function() {
this.parentNode.removeChild(this);
}); //Remove frame helpers
}
//If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
if( $.ui.ddmanager ) $.ui.ddmanager.dragStop(this, event);
return $.ui.mouse.prototype._mouseUp.call(this, event);
},
cancel: function() {
if(this.helper.is(".ui-draggable-dragging")) {
this._mouseUp({});
} else {
this._clear();
}
return this;
},
_getHandle: function(event) {
var handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false;
$(this.options.handle, this.element)
.find("*")
.andSelf()
.each(function() {
if(this == event.target) handle = true;
});
return handle;
},
_createHelper: function(event) {
var o = this.options;
var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper == 'clone' ? this.element.clone().removeAttr('id') : this.element);
if(!helper.parents('body').length)
helper.appendTo((o.appendTo == 'parent' ? this.element[0].parentNode : o.appendTo));
if(helper[0] != this.element[0] && !(/(fixed|absolute)/).test(helper.css("position")))
helper.css("position", "absolute");
return helper;
},
_adjustOffsetFromHelper: function(obj) {
if (typeof obj == 'string') {
obj = obj.split(' ');
}
if ($.isArray(obj)) {
obj = {left: +obj[0], top: +obj[1] || 0};
}
if ('left' in obj) {
this.offset.click.left = obj.left + this.margins.left;
}
if ('right' in obj) {
this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
}
if ('top' in obj) {
this.offset.click.top = obj.top + this.margins.top;
}
if ('bottom' in obj) {
this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
}
},
_getParentOffset: function() {
//Get the offsetParent and cache its position
this.offsetParent = this.helper.offsetParent();
var po = this.offsetParent.offset();
// This is a special case where we need to modify a offset calculated on start, since the following happened:
// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
// the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
if(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) {
po.left += this.scrollParent.scrollLeft();
po.top += this.scrollParent.scrollTop();
}
if((this.offsetParent[0] == document.body) //This needs to be actually done for all browsers, since pageX/pageY includes this information
|| (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.browser.msie)) //Ugly IE fix
po = { top: 0, left: 0 };
return {
top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
};
},
_getRelativeOffset: function() {
if(this.cssPosition == "relative") {
var p = this.element.position();
return {
top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
};
} else {
return { top: 0, left: 0 };
}
},
_cacheMargins: function() {
this.margins = {
left: (parseInt(this.element.css("marginLeft"),10) || 0),
top: (parseInt(this.element.css("marginTop"),10) || 0),
right: (parseInt(this.element.css("marginRight"),10) || 0),
bottom: (parseInt(this.element.css("marginBottom"),10) || 0)
};
},
_cacheHelperProportions: function() {
this.helperProportions = {
width: this.helper.outerWidth(),
height: this.helper.outerHeight()
};
},
_setContainment: function() {
var o = this.options;
if(o.containment == 'parent') o.containment = this.helper[0].parentNode;
if(o.containment == 'document' || o.containment == 'window') this.containment = [
o.containment == 'document' ? 0 : $(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
o.containment == 'document' ? 0 : $(window).scrollTop() - this.offset.relative.top - this.offset.parent.top,
(o.containment == 'document' ? 0 : $(window).scrollLeft()) + $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,
(o.containment == 'document' ? 0 : $(window).scrollTop()) + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
];
if(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor != Array) {
var c = $(o.containment);
var ce = c[0]; if(!ce) return;
var co = c.offset();
var over = ($(ce).css("overflow") != 'hidden');
this.containment = [
(parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0),
(parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0),
(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right,
(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom
];
this.relative_container = c;
} else if(o.containment.constructor == Array) {
this.containment = o.containment;
}
},
_convertPositionTo: function(d, pos) {
if(!pos) pos = this.position;
var mod = d == "absolute" ? 1 : -1;
var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
return {
top: (
pos.top // The absolute mouse position
+ this.offset.relative.top * mod // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border)
- ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
),
left: (
pos.left // The absolute mouse position
+ this.offset.relative.left * mod // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border)
- ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
)
};
},
_generatePosition: function(event) {
var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
var pageX = event.pageX;
var pageY = event.pageY;
/*
* - Position constraining -
* Constrain the position to a mix of grid, containment.
*/
if(this.originalPosition) { //If we are not dragging yet, we won't check for options
var containment;
if(this.containment) {
if (this.relative_container){
var co = this.relative_container.offset();
containment = [ this.containment[0] + co.left,
this.containment[1] + co.top,
this.containment[2] + co.left,
this.containment[3] + co.top ];
}
else {
containment = this.containment;
}
if(event.pageX - this.offset.click.left < containment[0]) pageX = containment[0] + this.offset.click.left;
if(event.pageY - this.offset.click.top < containment[1]) pageY = containment[1] + this.offset.click.top;
if(event.pageX - this.offset.click.left > containment[2]) pageX = containment[2] + this.offset.click.left;
if(event.pageY - this.offset.click.top > containment[3]) pageY = containment[3] + this.offset.click.top;
}
if(o.grid) {
//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
var top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
pageY = containment ? (!(top - this.offset.click.top < containment[1] || top - this.offset.click.top > containment[3]) ? top : (!(top - this.offset.click.top < containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
var left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
pageX = containment ? (!(left - this.offset.click.left < containment[0] || left - this.offset.click.left > containment[2]) ? left : (!(left - this.offset.click.left < containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
}
}
return {
top: (
pageY // The absolute mouse position
- this.offset.click.top // Click offset (relative to the element)
- this.offset.relative.top // Only for relative positioned nodes: Relative offset from element to offset parent
- this.offset.parent.top // The offsetParent's offset without borders (offset + border)
+ ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
),
left: (
pageX // The absolute mouse position
- this.offset.click.left // Click offset (relative to the element)
- this.offset.relative.left // Only for relative positioned nodes: Relative offset from element to offset parent
- this.offset.parent.left // The offsetParent's offset without borders (offset + border)
+ ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
)
};
},
_clear: function() {
this.helper.removeClass("ui-draggable-dragging");
if(this.helper[0] != this.element[0] && !this.cancelHelperRemoval) this.helper.remove();
//if($.ui.ddmanager) $.ui.ddmanager.current = null;
this.helper = null;
this.cancelHelperRemoval = false;
},
// From now on bulk stuff - mainly helpers
_trigger: function(type, event, ui) {
ui = ui || this._uiHash();
$.ui.plugin.call(this, type, [event, ui]);
if(type == "drag") this.positionAbs = this._convertPositionTo("absolute"); //The absolute position has to be recalculated after plugins
return $.Widget.prototype._trigger.call(this, type, event, ui);
},
plugins: {},
_uiHash: function(event) {
return {
helper: this.helper,
position: this.position,
originalPosition: this.originalPosition,
offset: this.positionAbs
};
}
});
$.extend($.ui.draggable, {
version: "1.8.14"
});
$.ui.plugin.add("draggable", "connectToSortable", {
start: function(event, ui) {
var inst = $(this).data("draggable"), o = inst.options,
uiSortable = $.extend({}, ui, { item: inst.element });
inst.sortables = [];
$(o.connectToSortable).each(function() {
var sortable = $.data(this, 'sortable');
if (sortable && !sortable.options.disabled) {
inst.sortables.push({
instance: sortable,
shouldRevert: sortable.options.revert
});
sortable.refreshPositions(); // Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page).
sortable._trigger("activate", event, uiSortable);
}
});
},
stop: function(event, ui) {
//If we are still over the sortable, we fake the stop event of the sortable, but also remove helper
var inst = $(this).data("draggable"),
uiSortable = $.extend({}, ui, { item: inst.element });
$.each(inst.sortables, function() {
if(this.instance.isOver) {
this.instance.isOver = 0;
inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance
this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)
//The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: 'valid/invalid'
if(this.shouldRevert) this.instance.options.revert = true;
//Trigger the stop of the sortable
this.instance._mouseStop(event);
this.instance.options.helper = this.instance.options._helper;
//If the helper has been the original item, restore properties in the sortable
if(inst.options.helper == 'original')
this.instance.currentItem.css({ top: 'auto', left: 'auto' });
} else {
this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance
this.instance._trigger("deactivate", event, uiSortable);
}
});
},
drag: function(event, ui) {
var inst = $(this).data("draggable"), self = this;
var checkPos = function(o) {
var dyClick = this.offset.click.top, dxClick = this.offset.click.left;
var helperTop = this.positionAbs.top, helperLeft = this.positionAbs.left;
var itemHeight = o.height, itemWidth = o.width;
var itemTop = o.top, itemLeft = o.left;
return $.ui.isOver(helperTop + dyClick, helperLeft + dxClick, itemTop, itemLeft, itemHeight, itemWidth);
};
$.each(inst.sortables, function(i) {
//Copy over some variables to allow calling the sortable's native _intersectsWith
this.instance.positionAbs = inst.positionAbs;
this.instance.helperProportions = inst.helperProportions;
this.instance.offset.click = inst.offset.click;
if(this.instance._intersectsWith(this.instance.containerCache)) {
//If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once
if(!this.instance.isOver) {
this.instance.isOver = 1;
//Now we fake the start of dragging for the sortable instance,
//by cloning the list group item, appending it to the sortable and using it as inst.currentItem
//We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one)
this.instance.currentItem = $(self).clone().removeAttr('id').appendTo(this.instance.element).data("sortable-item", true);
this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it
this.instance.options.helper = function() { return ui.helper[0]; };
event.target = this.instance.currentItem[0];
this.instance._mouseCapture(event, true);
this.instance._mouseStart(event, true, true);
//Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes
this.instance.offset.click.top = inst.offset.click.top;
this.instance.offset.click.left = inst.offset.click.left;
this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;
this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;
inst._trigger("toSortable", event);
inst.dropped = this.instance.element; //draggable revert needs that
//hack so receive/update callbacks work (mostly)
inst.currentItem = inst.element;
this.instance.fromOutside = inst;
}
//Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable
if(this.instance.currentItem) this.instance._mouseDrag(event);
} else {
//If it doesn't intersect with the sortable, and it intersected before,
//we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval
if(this.instance.isOver) {
this.instance.isOver = 0;
this.instance.cancelHelperRemoval = true;
//Prevent reverting on this forced stop
this.instance.options.revert = false;
// The out event needs to be triggered independently
this.instance._trigger('out', event, this.instance._uiHash(this.instance));
this.instance._mouseStop(event, true);
this.instance.options.helper = this.instance.options._helper;
//Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size
this.instance.currentItem.remove();
if(this.instance.placeholder) this.instance.placeholder.remove();
inst._trigger("fromSortable", event);
inst.dropped = false; //draggable revert needs that
}
};
});
}
});
$.ui.plugin.add("draggable", "cursor", {
start: function(event, ui) {
var t = $('body'), o = $(this).data('draggable').options;
if (t.css("cursor")) o._cursor = t.css("cursor");
t.css("cursor", o.cursor);
},
stop: function(event, ui) {
var o = $(this).data('draggable').options;
if (o._cursor) $('body').css("cursor", o._cursor);
}
});
$.ui.plugin.add("draggable", "opacity", {
start: function(event, ui) {
var t = $(ui.helper), o = $(this).data('draggable').options;
if(t.css("opacity")) o._opacity = t.css("opacity");
t.css('opacity', o.opacity);
},
stop: function(event, ui) {
var o = $(this).data('draggable').options;
if(o._opacity) $(ui.helper).css('opacity', o._opacity);
}
});
$.ui.plugin.add("draggable", "scroll", {
start: function(event, ui) {
var i = $(this).data("draggable");
if(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML') i.overflowOffset = i.scrollParent.offset();
},
drag: function(event, ui) {
var i = $(this).data("draggable"), o = i.options, scrolled = false;
if(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML') {
if(!o.axis || o.axis != 'x') {
if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)
i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed;
else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity)
i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed;
}
if(!o.axis || o.axis != 'y') {
if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)
i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed;
else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity)
i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed;
}
} else {
if(!o.axis || o.axis != 'x') {
if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)
scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)
scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
}
if(!o.axis || o.axis != 'y') {
if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)
scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)
scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
}
}
if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)
$.ui.ddmanager.prepareOffsets(i, event);
}
});
$.ui.plugin.add("draggable", "snap", {
start: function(event, ui) {
var i = $(this).data("draggable"), o = i.options;
i.snapElements = [];
$(o.snap.constructor != String ? ( o.snap.items || ':data(draggable)' ) : o.snap).each(function() {
var $t = $(this); var $o = $t.offset();
if(this != i.element[0]) i.snapElements.push({
item: this,
width: $t.outerWidth(), height: $t.outerHeight(),
top: $o.top, left: $o.left
});
});
},
drag: function(event, ui) {
var inst = $(this).data("draggable"), o = inst.options;
var d = o.snapTolerance;
var x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
for (var i = inst.snapElements.length - 1; i >= 0; i--){
var l = inst.snapElements[i].left, r = l + inst.snapElements[i].width,
t = inst.snapElements[i].top, b = t + inst.snapElements[i].height;
//Yes, I know, this is insane ;)
if(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 && y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))) {
if(inst.snapElements[i].snapping) (inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
inst.snapElements[i].snapping = false;
continue;
}
if(o.snapMode != 'inner') {
var ts = Math.abs(t - y2) <= d;
var bs = Math.abs(b - y1) <= d;
var ls = Math.abs(l - x2) <= d;
var rs = Math.abs(r - x1) <= d;
if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top;
if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left;
if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left;
}
var first = (ts || bs || ls || rs);
if(o.snapMode != 'outer') {
var ts = Math.abs(t - y1) <= d;
var bs = Math.abs(b - y2) <= d;
var ls = Math.abs(l - x1) <= d;
var rs = Math.abs(r - x2) <= d;
if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top;
if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left;
if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left;
}
if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first))
(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
inst.snapElements[i].snapping = (ts || bs || ls || rs || first);
};
}
});
$.ui.plugin.add("draggable", "stack", {
start: function(event, ui) {
var o = $(this).data("draggable").options;
var group = $.makeArray($(o.stack)).sort(function(a,b) {
return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0);
});
if (!group.length) { return; }
var min = parseInt(group[0].style.zIndex) || 0;
$(group).each(function(i) {
this.style.zIndex = min + i;
});
this[0].style.zIndex = min + group.length;
}
});
$.ui.plugin.add("draggable", "zIndex", {
start: function(event, ui) {
var t = $(ui.helper), o = $(this).data("draggable").options;
if(t.css("zIndex")) o._zIndex = t.css("zIndex");
t.css('zIndex', o.zIndex);
},
stop: function(event, ui) {
var o = $(this).data("draggable").options;
if(o._zIndex) $(ui.helper).css('zIndex', o._zIndex);
}
});
})(jQuery);

@ -0,0 +1,25 @@
package cn.itcast.goods.admin.admin.dao;
import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import cn.itcast.goods.admin.admin.domain.Admin;
import cn.itcast.jdbc.TxQueryRunner;
public class AdminDao {
private QueryRunner qr = new TxQueryRunner();
/**
* 通过管理员登录名和登录密码查询
* @param adminname
* @param adminpwd
* @return
* @throws SQLException
*/
public Admin find(String adminname, String adminpwd) throws SQLException {
String sql = "select * from t_admin where adminname=? and adminpwd=?";
return qr.query(sql, new BeanHandler<Admin>(Admin.class), adminname, adminpwd);
}
}

@ -0,0 +1,60 @@
/*
* jQuery UI Sortable 1.8.14
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Sortables
*
* Depends:
* jquery.ui.core.js
* jquery.ui.mouse.js
* jquery.ui.widget.js
*/
(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable");
this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a===
"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&
!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,
left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=
document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);
return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<
b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-
b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,
a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],
e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();
c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,
dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},
toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();
var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},
_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();
if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),
this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&
this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=
this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=
d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||
0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",
a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-
f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=
this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==
""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=
this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a=
{top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),
10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?
document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),
10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=
this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&
this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-
this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-
this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],
this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]=
"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",
f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,
this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",
a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},
_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.14"})})(jQuery);

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId">
<wb-module deploy-name="goods"/>
</project-modules>

@ -0,0 +1,42 @@
package cn.itcast.goods.pager;
public class Expression {
private String name;
private String operator;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@Override
public String toString() {
return "Expression [name=" + name + ", operator=" + operator
+ ", value=" + value + "]";
}
public Expression() {
super();
// TODO Auto-generated constructor stub
}
public Expression(String name, String operator, String value) {
super();
this.name = name;
this.operator = operator;
this.value = value;
}
}

@ -0,0 +1,23 @@
/* Korean initialisation for the jQuery calendar extension. */
/* Written by DaeKwon Kang (ncrash.dk@gmail.com). */
jQuery(function($){
$.datepicker.regional['ko'] = {
closeText: '닫기',
prevText: '이전달',
nextText: '다음달',
currentText: '오늘',
monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
monthNamesShort: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
dayNames: ['일','월','화','수','목','금','토'],
dayNamesShort: ['일','월','화','수','목','금','토'],
dayNamesMin: ['일','월','화','수','목','금','토'],
weekHeader: 'Wk',
dateFormat: 'yy-mm-dd',
firstDay: 0,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: '년'};
$.datepicker.setDefaults($.datepicker.regional['ko']);
});

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save