Jestem dość nowy, aby wiosną i mam problemy z uzyskaniem dostępu do moich zasobów w mojej aplikacji Spring mvc. Próbowałem wypróbować Google'a i użyć przepełnienia stosu, aby znaleźć odpowiedź (żadna z nich nie pomogła mi w uzyskaniu lub possible solution, possible solution 3, spring framework), ale nie znalazłem żadnego, który albo rozwiązałby mój problem, albo poprawił moje zrozumienie problemu (może to być po prostu ponieważ nie do końca zrozumiałem wspomniane rozwiązania).Dostęp do zasobów na stronie JSP aplikacji Spring MVC
udało mi się mój plik css osadzony na stronie internetowej, ale przy użyciu kodu:
<%@include file="css/style.css" %>
ale nie można uzyskać do niego dostęp za pomocą adresu URL w ten sposób z oczywistych powodów. Próbowałem również za pomocą następujących w moim pliku web.xml, ale to nie ma znaczenia, muszę przyznać, że nie bardzo rozumiem odwzorowanie w tym przypadku tak, że może być problem
<mvc:annotation-driven />
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/css/**" location="/css/" />
Próbowałem również za pomocą każdy z następujących oddzielnie:
<img src="<%=request.getContextPath()%>/images/logo.jpg"/>
<img src="<%=request.getContextPath()%>/src/main/resources/images/logo.jpg"/>
to mój układ projekt:
to jest moja web.xml:
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>MyProject Application</display-name>
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
To mój myServlet-servlet.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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">
<!-- -->
<mvc:annotation-driven />
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/css/**" location="/css/" />
<bean name="/index.html"
class="com.myproject.controller.AdminController" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
i tylko w przypadku, tutaj jest mój pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<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>com.myproject</groupId>
<artifactId>myProject</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>myProject Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<springVersion>3.0.4.RELEASE</springVersion>
</properties>
<dependencies>
<!-- JUnit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- ORACLE JDBC driver, need install yourself -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.3.Final</version>
</dependency>
<!-- Spring framework -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${springVersion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${springVersion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springVersion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springVersion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${springVersion}</version>
</dependency>
<!-- for compile only, your container should have this -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- Commons-logging & log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
<build>
<finalName>admin_UI</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>
Byłbym szczęśliwy, jeśli mogę uzyskać dostęp obrazy i foldery css oraz zawartość tych folderów ze strony webapp/WEB-INF/stron w taki sam sposób, w jaki mogę uzyskać dostęp do stron jsp (np. poprzez URL), ale najlepiej chciałbym zrozumieć, jak powinienem to zrobić poprawnie, tj. folder powinien być mapowany (src \ main \ resources o r src \ main \ webapp \ WEB-INF \ some_resource_folder) i jak powinienem go odwzorować.
Jeśli potrzebujemy więcej informacji, chętnie dostarczę.
Ty jesteś genem t, które działało idealnie, wyraźnie nie rozumiałem, gdzie powinien znajdować się folder zasobów. bardzo doceniane. Mam pytanie uzupełniające, teraz otrzymuję błąd w zaćmieniu na mojej stronie JSP 'javax.servlet.jsp.JspException nie można rozwiązać na typ \t index.jsp" jakiejkolwiek porady? – jonnie
Cieszę się, że mogę pomóc, czy możesz skierować mnie do pytania uzupełniającego? Chciałbym odpowiedzieć na więcej twoich pytań. To było miłe pochwały na tak wczesnym rankiem. Aby odpowiedzieć na twoje pytanie, musiałbym zobaczyć twój kontroler. –
Otrzymuję teraz błąd w zaćmieniu na mojej stronie JSP javax.servlet.jsp.JspException nie można rozwiązać na typ index.jsp jakiejkolwiek porady? – jonnie