Java 我想在Spring项目中使用JSP文件的开发版本。可能吗?
在前面的问题中,我要求提供JS/CSS文件,经过4小时的文档阅读和实验,我自己解决了这个问题 但我不熟悉Spring/Servlet内部结构,无法强制Spring使用来自本地文件系统路径(开发文件)的JSP文件。我尝试:Java 我想在Spring项目中使用JSP文件的开发版本。可能吗?,java,spring,jsp,servlets,Java,Spring,Jsp,Servlets,在前面的问题中,我要求提供JS/CSS文件,经过4小时的文档阅读和实验,我自己解决了这个问题 但我不熟悉Spring/Servlet内部结构,无法强制Spring使用来自本地文件系统路径(开发文件)的JSP文件。我尝试: <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" val
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="file:/home/user/devel/app/src/main/webapp/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
</bean>
我想这是来自
我的目标是缩短编辑部署测试周期
请不要建议使用JRebel或DCEVM或其他解决方案。直接回答…
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
/WEB-INF/jsp/
.jsp
在prefix中,在切换到Tomcat 7(从Jboss AS 7)后,您必须只提供以/WEB-INF/开头的相对路径,我配置上下文
/opt/apache-Tomcat-7.0.40/conf/Catalina/localhost/CTXNAME.xml
:
<Context docBase="/home/user/devel/proj-dev/src/main/webapp"
reloadable="true">
<Resources className="org.apache.naming.resources.VirtualDirContext"
extraResourcePaths="/WEB-INF/classes=/home/user/devel/proj-dev/target/classes,/WEB-INF/lib=/home/user/devel/proj-dev/target/proj/WEB-INF/lib"/>
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="/home/user/devel/proj-dev/target/classes;/home/user/devel/proj-dev/target/proj/WEB-INF/lib"/>
<JarScanner scanAllDirectories="true"/>
</Context>
根据:
F5
更新。为了使用新的.class
调用mvn编译
要引导调用mvn包
。上下文名称来自.xml
文件名。不应该是文件://
?我试过了,但也有同样的错误。我知道。这是很遗憾的,因为我将war文件部署到JBoss,所以它使用归档文件中的.jsp文件,但我希望它使用开发层次结构中本地文件系统中的.jsp文件。
<Context docBase="/home/user/devel/proj-dev/src/main/webapp"
reloadable="true">
<Resources className="org.apache.naming.resources.VirtualDirContext"
extraResourcePaths="/WEB-INF/classes=/home/user/devel/proj-dev/target/classes,/WEB-INF/lib=/home/user/devel/proj-dev/target/proj/WEB-INF/lib"/>
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="/home/user/devel/proj-dev/target/classes;/home/user/devel/proj-dev/target/proj/WEB-INF/lib"/>
<JarScanner scanAllDirectories="true"/>
</Context>