【问题标题】:Not Showing Welcome Page JSP不显示欢迎页面 JSP
【发布时间】:2015-07-10 00:41:06
【问题描述】:

我在eclipse中创建了动态web项目并添加了index.jsp文件,显然这是我的欢迎页面。我已经在web.xml中添加了它,我正在使用angular js进行前端界面管理。

这是我的 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_3_0.xsd" metadata-complete="false" version="3.0">
<welcome-file-list>

    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
    <servlet>
    <description></description>
    <display-name>ValidateLogin</display-name>
    <servlet-name>ValidateLogin</servlet-name>
    <servlet-class>ValidateLogin</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ValidateLogin</servlet-name>
    <url-pattern>/ValidateLogin</url-pattern>
  </servlet-mapping>

</web-app>

现在我的问题是当我运行项目时,它显示正在加载而不是打开任何内容。但是如果我在浏览器地址栏中添加了项目 url+index.jsp 则页面加载成功。我在 Angular js 脚本中使用路由提供程序,如下所示

app.js

var myApp = angular.module('myApp', [
    'ngRoute',
    'appController'
    ]);

myApp.config(['$routeProvider',function ($routeProvider) {

    $routeProvider.
    when('/home', {
        templateUrl: 'views/login.jsp',
        controller: 'LoginController'
    }).
    when('/main', {
        templateUrl: 'views/Home.jsp',
        controller: 'MainController'
    }).
    otherwise({ redirectTo: '/home' });

}]);

这是我的目录结构

有什么问题?谁能回答?

【问题讨论】:

  • 那个文件名正确吗?请注意,您没有在 web.xml 中提供 .jsp 扩展名,它应该是 index.jsp
  • 你试过 index.jsp
  • @Sridhar 我已经尝试了所有这些方法。但还是一样。
  • "但是如果我添加了项目 url+index.jsp 那么页面加载成功"你在哪里添加它,请详细说明
  • index.jsp文件存在的地方,可以发一下文件夹结构吗?

标签: java angularjs jsp web-inf welcome-file


【解决方案1】:
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

在索引中添加.jsp 扩展

确保你的 index.jsp 在 WEB-INF 文件夹之外

为了访问jsp,正确的url将

http://localhost:8080/ProjectName/index.jsp

根据您的服务器更改端口号。您需要提供项目 url 以访问 jsp。假设您在服务器上部署了 4 个项目,每个项目都有 index.jsp。如果您不提供项目 url,容器将如何确定运行哪个 index.jsp。

【讨论】:

  • 您在添加项目 url jsp 加载正常时在问题中写道。
  • 是的。我已经编辑了你提到的 web.xml。但是它没有加载欢迎页面。
  • 重新阅读您的问题,jsp 加载正常是什么意思。而现在你说不加载欢迎页面
  • 如果我输入像localhost:8080/Application/index.jsp 这样的绝对路径,我可以打开欢迎页面。但是当我运行项目或输入为localhost:8080/application/时它没有加载
  • 这个问题发生在我身上;一些解决方案;清除服务器缓存重新启动服务器;删除 web.xml 再放一个;创建一个新应用并复制代码
【解决方案2】:

您提到了没有任何文件扩展名的欢迎文件

     <welcome-file>index</welcome-file>

只需添加带有文件扩展名的有效欢迎页面,如果您的文件可能是 index.jsp

   <welcome-file>index.jsp</welcome-file>

并且您的 $routeProvider 配置不会影响您在 web.xml 中提到的欢迎页面加载。路由提供程序仅在加载 Angular js 后才会影响...

【讨论】:

    【解决方案3】:
    1. 确保欢迎文件属性是这样提到的: index.jsp

    2. 确保 index.jsp 与 WEB-INF 并行存在。

    希望这行得通。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-05
      • 2015-08-15
      • 2012-04-20
      • 2022-07-31
      • 2019-12-09
      • 2013-05-03
      相关资源
      最近更新 更多