2016-10-10 61 views
3

我使用Servlets和Tomcat 7作为服务器。 My hierarchy is使用Tomcat 7找不到样式表文件

因此,当我访问'/resources/js/bootstrap.min.js'时,WebApp无法找到这些文件。

这是我在WEB-INF文件夹中的index.jsp。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
 
<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
<meta charset="UTF-8"> 
 
<title>WebStore</title> 
 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
 
</head> 
 
<body> 
 
\t <div class="container-fluid"> 
 
\t \t <nav class="navbar navbar-default"> 
 
\t \t \t <div class="container-fluid"> 
 
\t \t \t \t <!-- Brand and toggle get grouped for better mobile display --> 
 
\t \t \t \t <div class="navbar-header"> 
 
\t \t \t \t \t <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
 
\t \t \t \t \t \t <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> 
 
\t \t \t \t \t </button> 
 
\t \t \t \t \t <a class="navbar-brand" href="/">WebStore</a> 
 
\t \t \t \t </div> 
 
\t \t \t \t <!-- Collect the nav links, forms, and other content for toggling --> 
 
\t \t \t \t <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
 
\t \t \t \t \t <ul class="nav navbar-nav"> 
 
\t \t \t \t \t \t <li class="active"><a href="#">Home <span class="sr-only">(current)</span></a></li> 
 
\t \t \t \t \t \t <li><a href="#">Help</a></li> 
 
\t \t \t \t \t \t <li><a href="#">Contact us</a></li> 
 
\t \t \t \t \t \t <li><a href="#">About</a></li> 
 
\t \t \t \t \t \t <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Profile 
 
\t \t \t \t \t \t \t \t <span class="caret"></span> 
 
\t \t \t \t \t \t </a> 
 
\t \t \t \t \t \t \t <ul class="dropdown-menu"> 
 
\t \t \t \t \t \t \t \t <li><a href="#">Action</a></li> 
 
\t \t \t \t \t \t \t \t <li><a href="#">Another action</a></li> 
 
\t \t \t \t \t \t \t \t <li><a href="#">Something else here</a></li> 
 
\t \t \t \t \t \t \t \t <li role="separator" class="divider"></li> 
 
\t \t \t \t \t \t \t \t <li><a href="#">Separated link</a></li> 
 
\t \t \t \t \t \t \t \t <li role="separator" class="divider"></li> 
 
\t \t \t \t \t \t \t \t <li><a href="#">One more separated link</a></li> 
 
\t \t \t \t \t \t \t </ul></li> 
 
\t \t \t \t \t </ul> 
 
\t \t \t \t \t <form class="navbar-form navbar-right"> 
 
\t \t \t \t \t </form> 
 
\t \t \t \t </div> 
 
\t \t \t \t <!-- /.navbar-collapse --> 
 
\t \t \t </div> 
 
\t \t \t <!-- /.container-fluid --> 
 
\t \t </nav> 
 
\t \t <div class="row"> 
 
\t \t \t <div class="col-md-2"> 
 
\t \t \t \t <div class="panel panel-default"> 
 
\t \t \t \t \t <div class="panel-heading"> 
 
\t \t \t \t \t \t <h3 class="panel-title">Categories</h3> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t \t <div class="panel-body"> 
 
\t \t \t \t \t \t <ul class="list-group"> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Category1</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Category2</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Category3</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Category4</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Category5</a></li> 
 
\t \t \t \t \t \t </ul> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="panel panel-default"> 
 
\t \t \t \t \t <div class="panel-heading"> 
 
\t \t \t \t \t \t <h3 class="panel-title">Brands</h3> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t \t <div class="panel-body"> 
 
\t \t \t \t \t \t <ul class="list-group"> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Brand1</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Brand2</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Brand3</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Brand4</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Brand5</a></li> 
 
\t \t \t \t \t \t </ul> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t </div> 
 
\t \t \t <div class="col-md-8"> 
 
\t \t \t \t <div class="col-md-4 col-xs-6"> 
 
\t \t \t \t \t <div class="thumbnail"> 
 
\t \t \t \t \t \t <a href="" class="commodity"> <img class="goodsPhoto" src="images/apple-iphone se 16gb-silver-450x350.png" alt="iPhone"> 
 
\t \t \t \t \t \t </a> 
 
\t \t \t \t \t \t <div class="caption"> 
 
\t \t \t \t \t \t \t <h5>iPhone SE 16Gb</h5> 
 
\t \t \t \t \t \t \t <p class="definition">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Atque dolorum maiores repellat, autem, veniam incidunt quam 
 
\t \t \t \t \t \t \t \t sed fugit eos expedita, optio.</p> 
 
\t \t \t \t \t \t \t <p class="pull-left price">352.15$</p> 
 

 
\t \t \t \t \t \t </div> 
 
\t \t \t \t \t \t <p class="text-right"> 
 
\t \t \t \t \t \t \t <a class="btn btn-primary" href="">Add to bucket</a> 
 
\t \t \t \t \t \t </p> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="col-md-4 col-xs-6"> 
 
\t \t \t \t \t <div class="thumbnail"> 
 
\t \t \t \t \t \t <a href="" class="commodity"> <img class="goodsPhoto" src="images/apple-iphone se 16gb-silver-450x350.png" alt="iPhone"> 
 
\t \t \t \t \t \t </a> 
 
\t \t \t \t \t \t <div class="caption"> 
 
\t \t \t \t \t \t \t <h5>iPhone SE 16Gb</h5> 
 
\t \t \t \t \t \t \t <p class="definition">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Atque dolorum maiores repellat, autem, veniam incidunt quam 
 
\t \t \t \t \t \t \t \t sed fugit eos expedita, optio.</p> 
 
\t \t \t \t \t \t \t <p class="pull-left price">352.15$</p> 
 

 
\t \t \t \t \t \t </div> 
 
\t \t \t \t \t \t <p class="text-right"> 
 
\t \t \t \t \t \t \t <a class="btn btn-primary" href="">Add to bucket</a> 
 
\t \t \t \t \t \t </p> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t </div> 
 
\t \t \t <div class="col-md-2"> 
 
\t \t \t \t <div class="panel panel-default"> 
 
\t \t \t \t \t <div class="panel-heading"> 
 
\t \t \t \t \t \t <h3 class="panel-title">Information</h3> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t \t <div class="panel-body"> 
 
\t \t \t \t \t \t <ul class="list-group"> 
 
\t \t \t \t \t \t \t <li class="info">In bucket: 9</li> 
 
\t \t \t \t \t \t \t <li class="info">Money: 15524$</li> 
 
\t \t \t \t \t \t \t <li class="info"><a href="#">My profile</a></li> 
 
\t \t \t \t \t \t \t <li class="info"><a href="#">My bucket</a></li> 
 
\t \t \t \t \t \t \t <li class="info"><a href="#">My wishlist</a></li> 
 

 
\t \t \t \t \t \t </ul> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="panel panel-default"> 
 
\t \t \t \t \t <div class="panel-heading"> 
 
\t \t \t \t \t \t <h3 class="panel-title">Tags</h3> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t \t <div class="panel-body"> 
 
\t \t \t \t \t \t <ul class="list-group"> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Tag1</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Tag2</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Tag3</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Tag4</a></li> 
 
\t \t \t \t \t \t \t <li class="list-group-item"><a href="#">Tag5</a></li> 
 
\t \t \t \t \t \t </ul> 
 
\t \t \t \t \t </div> 
 
\t \t \t \t </div> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t </div> 
 
\t <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
 
\t <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
\t <!-- Include all compiled plugins (below), or include individual files as needed --> 
 
\t <script src="resources/js/bootstrap.min.js"></script> 
 
</body> 
 
</html>

And here is my error:

我的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" id="WebApp_ID" version="3.0"> 
    <display-name>WebAppTesting</display-name> 
    <welcome-file-list> 
    <welcome-file>/</welcome-file> 
    </welcome-file-list> 
</web-app> 

当我点击这个错误,Chrome浏览器重定向我到我的index.jsp文件。怎么了?

+0

你尝试寻找到浏览器的开发者工具网络选项卡(在Chrome F12)到当请求'bootstrap.min.js'时,看看服务器返回了什么? –

+0

我很抱歉)他找到了我的文件。但是这个错误意味着什么?我无法理解......为什么我在那里有语法错误? –

+0

是的,我看了那里,状态码是200.当我点击那个文件,我看到bootstrap的来源,但是当我点击错误时,他只是发送我到我的索引文件 –

回答

0

我解决了我的问题。据我了解,当我进入本地主机时,IndexServlet捕获请求,然后转发到/WEB-INF/index.jsp。然后,从jsp,我链接到位于/ resources/css/.....的css文件。我不知道为什么,但是我的IndexServlet捕获这个请求并将其转发到index.jsp,这就是为什么我收到两个相同的文件。

另一个问题是:为什么servlet发现了这个请求?在servlet上面有一个注释,例如:@WebServlet(“/”)。没有“/”*捕获所有请求。

谁知道,请让我知道发生了什么?

也许他认识这个链接(/资源/ CSS/...)作为PATHINFO,这就是为什么他抓住了我的所有链接