3
回答
如何从mac中将javaweb项目复制到windows中
注册华为云得mate10,2.9折抢先购!>>>   

在mac上写了一个 javaweb项目 使用了 springMVC+MySQL+Mybatis 来实现

springMVC中配置了

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/assets/*</url-pattern>
  </servlet-mapping>



来过滤静态文件包括 JS CSS 以及图片

在mac中运行 正常 将程序打包在新浪sae中部署也没有问题

但是将项目复制到windows环境中 修改了SDK 然后运行之后 无法获取到静态文件  所有静态文件的路劲都报 404 错误...

求助 何解...


附上web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <display-name>adam</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/assets/*</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring*.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <servlet>
    <servlet-name>springMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springMVC</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <distributable/>
</web-app>



springMVC-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:p="http://www.springframework.org/schema/p"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 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.xsd
      http://www.springframework.org/schema/mvc
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
    
	 <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >  
	<property name="messageConverters">   
	         <list>   
	             <bean class = "org.springframework.http.converter.StringHttpMessageConverter">   
	                <property name = "supportedMediaTypes">
	                      <list>
	                          <value>text/html;charset=UTF-8</value>   
	                     </list>   
	                </property>   
	             </bean>   
	         </list>   
	   </property>  
	</bean>	
    	
      <context:component-scan base-package="com.adam.web.controller"/>
      <mvc:annotation-driven />
      
      <mvc:interceptors>
          <mvc:interceptor>
			<mvc:mapping path="/manager/**"/>              
			<bean class="com.adam.web.interceptor.ManagerInterceptor" />
          </mvc:interceptor>
      </mvc:interceptors>
      
     <!-- 对模型视图名称的解析,在请求时模型视图名称添加前后缀 -->
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     	<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
     	<property name="prefix" value="/WEB-INF/views/"/>
    	<property name="suffix" value=".jsp"/>
     </bean>
</beans>




举报
阿丢丢
发帖于4年前 3回/952阅
共有3个答案 最后回答: 4年前

用的什么web容器。看看defaultServlet实现。。。

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/assets/*</url-pattern>
  </servlet-mapping>
这样应该能找到你的答案

--- 共有 4 条评论 ---
阿丢丢谢谢 2位 最后是重新修改了 配置文件 没有在用原来的 <servlet-mapping> 而是使用了 <mvc:resources location="/assets/" mapping="/assets/**"/> 这样就可以访问到了 4年前 回复
北方羊回复 @阿丢丢 : 这么说吧。就是你把这个应用放到tomcat下了。还是放到jetty下了,还是放到weblogic,或者放到resin。然后什么版本,和服务器版本一样吗? 4年前 回复
北方羊<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/assets/*</url-pattern> </servlet-mapping> 弄清楚上面这个servlet是什么,每个容器都不一样。他不是一个标准规范。 4年前 回复
阿丢丢项目代码可以跑 但是所有的 css js 图片 都没有 看源码是 localhost:8080/项目名/assets/js/... 地址都是对的 然后都是404... 4年前 回复
顶部