2011-04-04 16 views
12

मुझे एक पारंपरिक जे 2 ईई वेब एप्लिकेशन को एक नए मेवेन वेब प्रोजेक्ट में बदलने की जरूरत है। पारंपरिक परियोजना में जेएसपी WebApp/jsps फ़ोल्डर, जावास्क्रिप्ट & WebApp/scripts फ़ोल्डर के तहत सीएसएस फाइलें WebApp/images फ़ोल्डर, .propertiesWebApp/resources फ़ोल्डर के तहत छवियों के तहत हैं।मेवेन वेब परियोजनाओं में जेएसपी, जावास्क्रिप्ट, सीएसएस, छवियों के लिए पारंपरिक स्थान क्या हैं?

मेवेन प्रोजेक्ट में उन फाइलों में से प्रत्येक प्रकार कहां जाएगा? क्या मुझे src/main/webapp के तहत फ़ोल्डर्स बनाना चाहिए जैसे: src/main/webapp/jsps, src/main/webapp/images, src/main/webapp/resources & hellip; आदि और पुरानी परियोजना से फ़ाइलों की प्रतिलिपि बनाएँ? या क्या पालन करने के लिए कोई मानक संरचना है?

उत्तर

7

मेवेन युद्ध प्लगइन के उपयोग पर this article पर एक नज़र डालें। इसमें एक साधारण परियोजना संरचना है।

ऊपर के लिंक से हवाला देते हुए,

|-- 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 फ़ाइलें शामिल नहीं हैं? –

+0

मैं जेएसपी में 'src/main/resource' में मौजूद जेएस, सीएसएस, छवियों के लिंक कैसे जोड़ सकता हूं? – OO7

+1

ऐसा लगता है कि मेवेन पेज में उपर्युक्त संरचना नहीं है। – RuntimeException

3

एक Maven परियोजना में, सबसे पहले, आप

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

या

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

अपने सर्वलेट-config.xml फ़ाइल को जोड़ना होगा (यह मेरी परियोजना में spring-servlet.xml है)।

उसके बाद, एक फ़ोल्डर "संसाधन" बनाएं यदि यह src/main/webapp के अंतर्गत मौजूद नहीं है। अपने सीएसएस फ़ोल्डर को रखें जिसमें सीएसएस फाइलें हों, छवि फ़ोल्डर जिसमें फ़ोल्डर संसाधनों के तहत छवि फाइलें हों।

<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> 

परियोजना

अब आप के रूप में JSP फ़ाइल से संसाधन फ़ोल्डर के अंतर्गत किसी भी फ़ाइल का उपयोग कर सकते कंकाल:

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

... आदि