java - HTTP 状态 404 请求的资源不可用

标签 java spring jsp annotations

这是我的productdetails.jsp的代码。我已将页眉和页脚作为单独的jsp文件包含在内。当我尝试加载页面时,图像未显示。该项目是一个maven项目。项目中的其他页面工作正常

Header.jsp

<title>Products|Phonaholic</title>






<!DOCTYPE html>

<html>
<head>
<title>Phonaholic</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
</head>

<body>

<nav class="navbar navbar-default navbar-fixed-top" style="background-color:white;">

  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#myNavbar" aria-expanded="false" style="margin-top:20px;">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar" style="color:#1E7145"></span>
        <span class="icon-bar" style="color:#1E7145"></span>
        <span class="icon-bar" style="color:#1E7145"></span>
       </button>
       <a class="navbar-brand" href='/phonaholic/'><img class="img-responsive"     style="max-width:175px;margin-top:-3px;" src="images\Logomakr_2A1smS.png" /></a>
     < /div>


    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="myNavbar">
    <ul class="nav navbar-nav">
    <li><a href='/phonaholic/' id="navig">Home</a></li>

       <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" id="navig">Products<span class="caret" style="color: #1E7145"></span></a>
          <ul class="dropdown-menu">
            <li><a href='/phonaholic/basic/'>Basic Phone</a></li>
            <li><a href='/phonaholic/smart/'>Smart Phone</a></li>
            <li><a href='/phonaholic/tab'>Tablets</a></li>            
          </ul>
        </li>

       <li><a href='/phonaholic/about/' id="navig">About</a></li>
    <li><a href='/phonaholic/contact/' id="navig">Contact Us</a></li>
 </ul>


  <ul class="nav navbar-nav navbar-right">
    <li><a href='/phonaholic/register/' id="navig"><i class="fa fa-user" >Register</i></a></li>      
    <li><a href='/phonaholic/login/' id="navig"><i class="fa fa-sign-in" >Login</i></a></li>
  </ul>


</div><!-- /.navbar-collapse -->

 </div><!-- /.container-fluid -->

</nav>

</body>

</html>

产品详细信息.jsp

var prod=       {"id":41,"name":"gjavsd","brand":"hasbsh","category":"bsha","desc":"ahbas","price":100.0};
angular.module("productApp",[])

.controller("productController",function($scope){

    $scope.prodData=prod;

    $scope.sort=function(keyname){
    $scope.sortKey=keyname;
    $scope.reverse=!$scope.reverse;
    }

});
</script>

   <div class="container-fluid" ng-app="productApp" ng-    controller="productController"><br><br><br><br><br>
<input type="text" ng-model="search">
<table class="table table-hover">
  <thead>
    <tr><th></th><th ng-click="sort('id')">Product ID</th><th ng-click="sort('name')">Product Name</th><th ng-click="sort('brand')">band</th><th ng-click="sort('category')">Category</th><th ng-click="sort('price')">Price</th>    </tr>
  </thead>

  <tbody>
     <tr ng-repeat="product in prodData | filter:search | orderBy:sortKey:reverse"><td><img src="images\{{product.id}}.jpg" style="max-width: 175px;max-height: 100px; "/></td><td>{{product.id}}</td><td>{{product.name}}</td><td>{{product.brand}}</td><td>{{product.category}}</td><td>{{product.price}}</td><td><button type="submit" class="button" onclick="productdetails/{{product.id}}">View</button></td></tr>
  </tbody>
</table>




</div>

controller.java

@RequestMapping("/productdetails/{id}")
public ModelAndView ProductDetails(@PathVariable("id") int id)
{
    Product products=productDAO.getProductById(id);
    String productList=new Gson().toJson(products);
    ModelAndView model=new ModelAndView("product");
    model.addObject("productList",productList);
    return model;

}

点击查看页面源码时图片的路径

http://localhost:9080/phonaholic/productdetails/images/Logomakr_2A1smS.png

图像未显示,因为图像位于 url 中

http://localhost:9080/phonaholic/images/Logomakr_2A1smS.png

我应该如何更改正确显示图像的网址。

编辑: 我找到了添加的解决方案

\phonaholic\images\Logomakr_2A1smS.png 在 img 标签中。

但是谁能告诉我这个页面发生了什么,而其他页面却运行良好,而无需在图像网址之前添加上述\phonaholic\。

最佳答案

我认为这只是src中的路径问题。你的 header.jsp 在哪里?我的意思是它在productdetails 文件夹中吗?

关于java - HTTP 状态 404 请求的资源不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41041109/

相关文章:

java - 在下面的代码中将 Big Decimal 初始化为 -99 的含义

java - Hibernate @Generate(GenerationType.ALWAYS) 不会在更新时填充我的时间戳

java - http-client 从 spring-rabbit 中排除

java - 如何使用 thymeleaf 和 spring 国际化动态更改语言选择链接

javascript - 数据表不排序和分页数据

java - 无法从 Java 程序中执行提示命令

java - 如何使用有条件地返回响应的 Spring REST Docs 记录 REST 服务?

jsp - Tomcat 没有将 .jsp 转换为 servlet?

java - 通过表达式语言访问 Java Bean 属性

Java/打印包含数组的 LinkedList 节点