我在该项目上工作了2天,但我无法找到它为什么不起作用。
这是使用SPRING,HIBERNATE,MAVEN和Tomcat的典型CRUD Web应用程序 的的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app.xsd">
<!-- The definition of the Root Spring Container shared by all Servlets
and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Processes application requests -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/spring/dispatcherServlet/servlet-context.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
根context.xml中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close"
p:driverClassName="org.postgresql.Driver"
p:url="jdbc:postgresql://localhost:5432/studentDB"
p:username="postgres"
p:password="password" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>pl.kert.pracownik.model</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<context:component-scan base-package="pl.kert.pracownik" />
</beans>
的serlvet-context.xml中
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"
default-lazy-init="true">
<!-- DispatcherServlet Context: defines this servlet's request-processing
infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<mvc:default-servlet-handler/>
<context:component-scan base-package="pl.kert.pracownik.controller" />
<!-- Handles HTTP GET requests for /web-resources/** by efficiently serving
up static resources in the ${webappRoot}/resources/ directory -->
<resources mapping="/web-resources/**" location="/resources/" />
<!-- Resolves views selected for rendering by @Controllers to .jsp resources
in the /WEB-INF/views directory -->
<beans:bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
</beans:beans>
的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Praktyki</groupId>
<artifactId>Pracownik</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Pracownik Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<java-version>1.8.0_11</java-version>
<spring-version>4.0.6.RELEASE</spring-version>
<hibernate-version>4.3.6.Final</hibernate-version>
<apache-connection-pooling-version>1.4</apache-connection-pooling-version>
</properties>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring-version}</version>
</dependency>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate-version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate-version}</version>
</dependency>
<!--
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>3.3.0.ga</version>
</dependency>
-->
<!-- Apache's Database Connection Pooling -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>${apache-connection-pooling-version}</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>${apache-connection-pooling-version}</version>
</dependency>
<!-- Baza -->
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Tomcat 7 plugin -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<additionalProjectnatures>
<projectnature>
org.springframework.ide.eclipse.core.springnature
</projectnature>
</additionalProjectnatures>
<additionalBuildcommands>
<buildcommand>
org.springframework.ide.eclipse.core.springbuilder
</buildcommand>
</additionalBuildcommands>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2/</url>
</repository>
</repositories>
</project>
pracownikForm.jsp
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:url var="actionUrl" value="save" />
<form:form id="pracownikForm" commandName="pracownik" method="post"
action="${actionUrl}" class="pure-form pure-form-aligned">
<fieldset>
<legend></legend>
<div class="pure-control-group">
<label for="imie">Imie</label>
<form:input path="imie" placeholder="Imie pracownika" />
</div>
<div class="pure-control-group">
<label for="nazwisko">Nazwisko</label>
<form:input path="nazwisko" placeholder="Nazwisko" />
</div>
<div class="pure-control-group">
<label for="email">"Email"</label>
<form:input path="email" placeholder="Email"/>
</div>
<div class="pure-control-group">
<label for="telefon">Telefon</label>
<form:input path="telefon" placeholder="Telefon" />
</div>
<form:input path="id" type="hidden" />
</fieldset>
</form:form>
listaPracownikow.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>Lista Pracownikow</title>
<link rel="stylesheet" href='<c:url value="/web-resources/css/pure-0.4.2.css"/>'>
<link rel="stylesheet"
href='<c:url value="/web-resources/css/font-awesome-4.0.3/css/font-awesome.css"/>'>
<link rel="stylesheet"
href='<c:url value="/web-resources/css/jquery-ui-1.10.4.custom.css"/>'>
<style type="text/css">
th {
text-align: left
}
</style>
</head>
<body>
<div style="width: 95%; margin: 0 auto;">
<div id="pracownikDialog" style="display: none;">
<%@ include file="pracownikForm.jsp"%>
</div>
<h1>Lista Pracowników</h1>
<button class="pure-button pure-button-primary" onclick="DodajPracownika()">
<i class="fa fa-plus"></i> Dodaj Pracownika
</button>
<br>
<table class="pure-table pure-table-bordered pure-table-striped">
<thead>
<tr>
<th width="4%">ID Pracownika</th>
<th width="12%">Imie</th>
<th width="12%">Nazwisko</th>
<th width="12%">E-mail</th>
<th width="12%">Telefon</th>
</tr>
</thead>
<tbody>
<c:forEach items="${listaPracownikow}" var="pracownik" varStatus="loopCounter">
<tr>
<td><c:out value="${loopCounter.count}" /></td>
<td><c:out value="${pracownik.imie}" /></td>
<td><c:out value="${pracownik.nazwisko}" /></td>
<td><c:out value="${pracownik.email}" /></td>
<td><c:out value="${pracownik.telefon}" /></td>
<td>
<nobr>
<button onclick="edytujPracwonika(${pracownik.id});"
class="pure-button pure-button-primary">
<i class="fa fa-pencil"></i> Edycja
</button>
<a href="delete/${pracownik.id}" class="pure-button pure-button-primary"
onclick="return confirm('Czy jestes pewny, ze chcesz usunac tego pracownika?');">
<i class="fa fa-times"></i>Usun
</a>
</nobr>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- It is advised to put the <script> tags at the end of the document body so that they don't block rendering of the page -->
<script type="text/javascript"
src='<c:url value="/web-resources/js/lib/jquery-1.10.2.js"/>'></script>
<script type="text/javascript"
src='<c:url value="/web-resources/js/lib/jquery-ui-1.10.4.custom.js"/>'></script>
<script type="text/javascript"
src='<c:url value="/web-resources/js/js-for-listaPracownikow.js"/>'></script>
</body>
</html>
PracownikController.java
package pl.kert.pracownik.controller;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import pl.kert.pracownik.model.Pracownik;
import pl.kert.pracownik.service.PracownikService;
@Controller
@RequestMapping("/pracownik")
public class PracownikController {
@Autowired
private PracownikService pracownikService;
@RequestMapping(value={"/","/listaPracownikow"})
public String listaPracownikow(Map<String,Object> map){
map.put("pracownik", new Pracownik());
map.put("listaPracownikow", pracownikService.listaPracownikow());
return "/book/listaPracownikow";
}
@RequestMapping("/get/{pracownikId}")
public String getPracownik(@PathVariable int pracownikId, Map<String, Object> map){
Pracownik pracownik = pracownikService.getPracownik(pracownikId);
map.put("pracownik", pracownik);
return "/pracownik/pracownikForm";
}
@RequestMapping(value="/save", method=RequestMethod.POST)
public String saveEmployee(@ModelAttribute("pracownik") Pracownik pracownik,
BindingResult result){
pracownikService.saveEmployee(pracownik);
return "redirect:listaPracownikow";
}
@RequestMapping("/delete/{pracownikId}")
public String deleteEmployee(@PathVariable("pracownikId") int id){
pracownikService.deleteEmployee(id);
return "redirect:/pracownik/listaPracownikow";
}
}
运行服务器Tomcat日志:
sie 06, 2014 5:25:07 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\PC Connectivity Solution\;C:\product\11.2.0\client_1;C:\product\11.2.0\dbhome_1\bin;C:\product\11.2.0\client_2;C:\product\11.2.0\dbhome_2\bin;C:\app\Krzysztof\product\11.2.0\dbhome_1\bin;C:\app\Krzysztof\product\11.2.0\client_1;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files\Apache Software Foundation\apache-maven-3.2.2\bin;C:\Program Files\Java\jdk1.8.0_11\bin;%M2_HOME%\bin;.
sie 06, 2014 5:25:07 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:Pracownik' did not find a matching property.
sie 06, 2014 5:25:07 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
sie 06, 2014 5:25:07 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
sie 06, 2014 5:25:07 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 455 ms
sie 06, 2014 5:25:07 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
sie 06, 2014 5:25:07 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
sie 06, 2014 5:25:07 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\Users\Krzysztof\workspace3\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Pracownik\WEB-INF\lib\servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
sie 06, 2014 5:25:08 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
sie 06, 2014 5:25:08 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
sie 06, 2014 5:25:08 PM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization started
sie 06, 2014 5:25:09 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
INFO: Refreshing Root WebApplicationContext: startup date [Wed Aug 06 17:25:09 CEST 2014]; root of context hierarchy
sie 06, 2014 5:25:09 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/spring/root-context.xml]
sie 06, 2014 5:25:09 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
sie 06, 2014 5:25:09 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.6.Final}
sie 06, 2014 5:25:09 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
sie 06, 2014 5:25:09 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
sie 06, 2014 5:25:10 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
sie 06, 2014 5:25:10 PM org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
sie 06, 2014 5:25:10 PM org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000399: Using default transaction strategy (direct JDBC transactions)
sie 06, 2014 5:25:10 PM org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory
sie 06, 2014 5:25:10 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000228: Running hbm2ddl schema update
sie 06, 2014 5:25:10 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000102: Fetching database metadata
sie 06, 2014 5:25:10 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000396: Updating schema
sie 06, 2014 5:25:10 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000261: Table found: public.pracownik
sie 06, 2014 5:25:10 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000037: Columns: [imie, nazwisko, telefon, id, email]
sie 06, 2014 5:25:10 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000108: Foreign keys: []
sie 06, 2014 5:25:10 PM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000126: Indexes: [pracownik_pkey]
sie 06, 2014 5:25:10 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
sie 06, 2014 5:25:10 PM org.springframework.orm.hibernate4.HibernateTransactionManager afterPropertiesSet
INFO: Using DataSource [org.apache.commons.dbcp.BasicDataSource@2cf78e55] of Hibernate SessionFactory for HibernateTransactionManager
sie 06, 2014 5:25:10 PM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization completed in 1583 ms
sie 06, 2014 5:25:10 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'dispatcherServlet'
sie 06, 2014 5:25:10 PM org.springframework.web.servlet.DispatcherServlet initServletBean
INFO: FrameworkServlet 'dispatcherServlet': initialization started
sie 06, 2014 5:25:10 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
INFO: Refreshing WebApplicationContext for namespace 'dispatcherServlet-servlet': startup date [Wed Aug 06 17:25:10 CEST 2014]; parent: Root WebApplicationContext
sie 06, 2014 5:25:10 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/spring/dispatcherServlet/servlet-context.xml]
sie 06, 2014 5:25:10 PM org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping registerHandlerMethod
INFO: Mapped "{[/pracownik/save],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String pl.kert.pracownik.controller.PracownikController.saveEmployee(pl.kert.pracownik.model.Pracownik,org.springframework.validation.BindingResult)
sie 06, 2014 5:25:10 PM org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping registerHandlerMethod
INFO: Mapped "{[/pracownik/get/{pracownikId}],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String pl.kert.pracownik.controller.PracownikController.getPracownik(int,java.util.Map<java.lang.String, java.lang.Object>)
sie 06, 2014 5:25:10 PM org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping registerHandlerMethod
INFO: Mapped "{[/pracownik/delete/{pracownikId}],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String pl.kert.pracownik.controller.PracownikController.deleteEmployee(int)
sie 06, 2014 5:25:10 PM org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping registerHandlerMethod
INFO: Mapped "{[/pracownik/ || /pracownik/listaPracownikow],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String pl.kert.pracownik.controller.PracownikController.listaPracownikow(java.util.Map<java.lang.String, java.lang.Object>)
sie 06, 2014 5:25:10 PM org.springframework.web.servlet.handler.SimpleUrlHandlerMapping registerHandler
INFO: Mapped URL path [/**] onto handler 'org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0'
sie 06, 2014 5:25:10 PM org.springframework.web.servlet.handler.SimpleUrlHandlerMapping registerHandler
INFO: Mapped URL path [/web-resources/**] onto handler 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0'
sie 06, 2014 5:25:11 PM org.springframework.web.servlet.DispatcherServlet initServletBean
INFO: FrameworkServlet 'dispatcherServlet': initialization completed in 438 ms
sie 06, 2014 5:25:11 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
sie 06, 2014 5:25:11 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
sie 06, 2014 5:25:11 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3594 ms
我的项目文件夹: FOLDER.png
错误
Error