在origin旧系统中,有一个JSP文件,它在WEB-INF/views中动态生成,在spring mvc中具有以下配置。xml。
<mvc:view-controller path="/downloadAppPage" view-name="downloadAppPage" />
<!-- mvc view -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/views/" p:suffix=".jsp" p:contentType="text/html; charset=utf-8" />
但是现在,我通过Spring Boot加载和嵌入式tomcat启动(jar-jar*.war)改变了原来的系统。下载的AppPage将不再被访问。
那么,是否可以对应用程序进行配置或编码,以在Spring Boot上下文路径之外为外部JSP文件提供服务呢?
谢谢,詹姆斯。
您可以将view resolver类型的其他bean添加到配置中,添加外部文件夹。它们将按照配置中的顺序进行处理。您还可以编写自己的视图解析器。
public class MyViewResolver extends InternalResourceViewResolver {
@Override
protected AbstractUrlBasedView buildView(String viewName) throws Exception {
HttpServletRequest request=((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest();
String viewFile =request.getRealPath(this.getPrefix()+viewName+this.getSuffix());
File reqFile=new File(viewFile);
System.out.println(reqFile.getAbsolutePath()+":exists:"+reqFile.exists());
if(!reqFile.exists()){
viewName="default";
}
InternalResourceView view = (InternalResourceView) super.buildView(viewName);
view.setAlwaysInclude(false);
return view;
}
}
// example extracted from https://javabeat.net/extending-viewresolver-and-chaining-viewresolvers-in-spring-mvc/
然后,您的配置文件将如下所示:
<mvc:view-controller path="/downloadAppPage" view-name="downloadAppPage" />
<!-- mvc view -->
<bean class="mypack.MyViewResolver">
<property name="prefix" value="/your/new/path/" />
<property name="suffix" value=".jsp" />
<property name="order" value="0" />
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
<property name="order" value="1" />
</bean>
问题内容: 我创建了一个简单的JSP文件,想要在Jetty 7.2中进行部署。码头正在运行,我可以在看到默认的网页。我用命令启动了Jetty 。 我将简单的JSP文件保存在,然后尝试访问该文件,但没有一个起作用。 还有什么我要做的吗?我应该将JSP文件放在Jetty文件结构中的什么位置? 如果您知道有用的教程,我将不胜感激。我还没有找到任何好的。 问题答案: 您必须将其放置在webapps内的文件
问题内容: 该文件夹位于Java Web应用程序的中吗? 问题答案: 我假设您要引用Web应用程序文件夹结构根 目录 中的目录。 不,它不在类路径中。 不过在classpath上,中的JAR文件也是如此。
我在web.xml中更改了welcome-list标记中的路径,如下所示 我还更改了dispatcher-servlet.xml,如下所示 但还是没用。用于上述大小写的Url是 而且它对上面的任何URL都不起作用。 但它起作用的时候 我使用TomcatV7.0服务器。我在Eclipse IDE中刷新我的项目,然后清理它,构建它,使用mvn clean install构建war,然后从tomcat
问题内容: 我刚刚将我的网站的测试副本升级到asp.net 4.0,并且注意到了一个奇怪的问题,仅当我将网站上传到服务器时才会出现。 该站点有一个返回json的asmx Web服务,但是当我在服务器上运行该站点时,它会返回xml。它在asp.net 3.5中已经运行了一年多。 webMethod装饰有正确的属性… 在我的本地计算机上,它返回json。 但在服务器(Windows 2008 64位)
本文向大家介绍springmvc无法访问/WEB-INF/views下的jsp的解决方法,包括了springmvc无法访问/WEB-INF/views下的jsp的解决方法的使用技巧和注意事项,需要的朋友参考一下 最近在搭建springmvc的框架,遇到的这样的问题: 在地址栏访问登陆界面访问不了,http://localhost/XXXX/WEB-INF/views/login.jsp。直接返回4
我正在尝试将一个简单的SpringBoot应用程序转换为部署在WebLogic中。它在buildin TomCat服务器上运行良好。然后对其进行更改并创建一个新的war文件。当我尝试部署war文件时,我得到这个错误。 web.xml的Servlet初始值设定项 application.java文件