2011-04-04 55 views
12

我需要將傳統的J2EE Web應用程序轉換爲新的Maven Web項目。在傳統項目中,JSP文件夾下的文件夾爲WebApp/jsps,JavaScript文件爲&,文件夾爲WebApp/scripts,文件夾爲WebApp/images,文件爲.properties,文件夾爲WebApp/resourcesMaven Web項目中的JSP,JavaScript,CSS和圖像的常規位置是什麼?

在Maven項目中,每種文件類型都會去哪裏?我應該在src/main/webapp下創建文件夾,例如:src/main/webapp/jsps,src/main/webapp/images,src/main/webapp/resources…等等,並從舊項目中複製文件?或者是否有任何標準結構要遵循?

回答

7

看看this article關於maven war插件的用法。它有一個簡單的項目結構。

從上面的鏈接引用,

|-- pom.xml 
`-- src 
    `-- main 
     |-- java 
     | `-- com 
     |  `-- example 
     |   `-- projects 
     |    `-- SampleAction.java 
     |-- resources 
     | `-- images 
     |  `-- sampleimage.jpg 
     | `-- js 
     |  `-- scripts.js 
     | `-- css 
     |  `-- styles.css 
     `-- webapp 
      |-- WEB-INF 
      | `-- web.xml 
      |-- index.jsp 
      `-- jsp 
       `-- websource.jsp 
+1

這不包括任何.js或.css文件嗎? – 2014-04-14 16:08:10

+0

如何在JSP中的src/main/resources'中添加鏈接到JS,CSS,圖像? – OO7 2015-03-11 10:44:57

+1

似乎maven頁面不再具有上述結構。 – RuntimeException 2015-10-20 11:39:46

3

在Maven項目,首先,你必須添加

<mvc:resources mapping="/resources/**" location="/resources/" /> 

<resources mapping="/resources/**" location="/resources/" /> 

到你的servlet-config.xml文件(它是我的項目中的spring-servlet.xml)。

然後,構建一個文件夾「資源」,如果它不存在於src/main/webapp下。 將包含CSS文件的CSS文件夾,包含圖像文件的圖像文件夾放在文件夾資源下。

現在你可以從JSP文件訪問的資源文件夾下的所有文件:

<img src="<%=request.getContextPath() %>/resources/images/image.jpg"/> 

<link rel="stylesheet" href="<%=request.getContextPath()%>/resources/css/style.css" /> 

我的彈簧servlet.xml文件:

<?xml version="1.0" encoding="windows-1252"?> 
<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:context="http://www.springframework.org/schema/context" 
     xmlns:mvc="http://www.springframework.org/schema/mvc" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.0.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
     http://www.springframework.org/schema/aop 
     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
     http://www.springframework.org/schema/tx 
     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> 

    <!-- Use @Component annotations for bean definitions --> 
    <context:component-scan base-package="form"/> 

    <!-- Use @Controller annotations for MVC controller definitions --> 
    <mvc:annotation-driven /> 

    <mvc:resources mapping="/resources/**" location="/resources/" /> 

    <!-- Add JPA support --> 
    <bean id="emf" class= 
     "org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="loadTimeWeaver"> 
     <bean class= 
"org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/> 
     </property> 
    </bean> 

    <!-- Add Transaction support --> 
    <bean id="myTxManager" 
    class="org.springframework.orm.jpa.JpaTransactionManager"> 
     <property name="entityManagerFactory" ref="emf"/> 
    </bean> 

    <!-- Use @Transaction annotations for managing transactions --> 
    <tx:annotation-driven transaction-manager="myTxManager" /> 

    <!-- View resolver --> 
<bean class= 
    "org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/"/> 
</bean> 

</beans> 

項目骨架:

src 
--main 
    --webapp 
    --resources 
     --css+ 
     --images+ 
--target 

...等

相關問題