Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法访问JSP中的CSS和JavaScript文件_Java_Jsp_Servlets_Model View Controller - Fatal编程技术网

无法访问JSP中的CSS和JavaScript文件

无法访问JSP中的CSS和JavaScript文件,java,jsp,servlets,model-view-controller,Java,Jsp,Servlets,Model View Controller,我正在使用MVC在JSP/Servlet中开发一个应用程序。在这个应用程序中,我想加载index.jsp作为欢迎页面,这个页面从数据库检索数据。我做到了。现在的问题是,当index.jsp页面加载时,它从数据库中获取数据,但它在浏览器上以纯文本的形式显示,而我的CSS不适用于它 我知道,在翻译阶段,JSP被转换成servlet,处理后将输出发送到浏览器,因此在此期间,我们必须编写.css文件的相对路径。我在Stack Overflow中尝试了几乎所有的教程和问题,但都不起作用。我尝试${page

我正在使用MVC在JSP/Servlet中开发一个应用程序。在这个应用程序中,我想加载index.jsp作为欢迎页面,这个页面从数据库检索数据。我做到了。现在的问题是,当index.jsp页面加载时,它从数据库中获取数据,但它在浏览器上以纯文本的形式显示,而我的CSS不适用于它

我知道,在翻译阶段,JSP被转换成servlet,处理后将输出发送到浏览器,因此在此期间,我们必须编写.css文件的相对路径。我在Stack Overflow中尝试了几乎所有的教程和问题,但都不起作用。我尝试${pageContext.request.contextPath}检索上下文路径,但它不起作用


在这个应用程序中,我的目标是在index.jsp页面上显示新闻更新。所以我获取数据并在JSP上显示它。为了实现这一点,第一个控制器运行并使用DAO类从数据库中获取数据。然后DAO类将该数据返回到列表中给控制器和控制器,然后将数据放入RequestDispatcher并将其发送到JSP。现在,当我运行应用程序时,我在浏览器上获取数据,但它只显示平面文本数据,而不显示CSS效果。当我将index.jsp设置为欢迎页面时,当我键入URL模式时,它会显示良好,但目前我的欢迎页面未设置为任何页面,URL模式是/所以我所需的一切都执行得很好,但CSS效果未应用于输出,所以如何解决此问题

我在这里发布Eclipse快照,请给我一些建议

目录结构:

-MVCTest
   -src
   -build
   -WebContent
      -css
        -style.css
        -demo.css
      -js
        -jquery.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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>SwavaMVC</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <servlet-name>Visitor</servlet-name>
    <servlet-class>controller.Visitor</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Visitor</servlet-name>
    <url-pattern>/asdfD</url-pattern>
  </servlet-mapping>
</web-app>
servlet类的代码:

package controller;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.ServletException;
//import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.NewsDAO;
import model.classes.News;

//@WebServlet("/Visitor")
public class Visitor extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public Visitor() {
        super();
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {
        try {
            List<News> NewsList = NewsDAO.getNews();    
            request.setAttribute("NewsList", NewsList);
            request.getRequestDispatcher("index.jsp").forward(request, response);
        } 
        catch (SQLException e) {
            throw new ServletException("Cannot obtain news from DB", e);
        }
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
}
这是index.jsp文件的代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>System</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />

<link rel="stylesheet" href="css/main_slider.css" type="text/css" media="screen" charset="utf-8" /> 

<script type="text/javascript" src="js/jquery-1.2.6.js"></script>
<script type="text/javascript" src="js/startstop-slider.js"></script>

<link href="css/demo.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.scrollbox.js"></script>

<script language="javascript" type="text/javascript">
function clearText(field)
{
    if (field.defaultValue == field.value) field.value = '';
    else if (field.value == '') field.value = field.defaultValue;
}
</script>

</head>
<body id="home">
试试这个

<link href=${pageContext.request.contextPath}/css/style.css  rel="stylesheet" type="text/css" />

这对我很有用。

您的上下文路径${pageContext.request.contextPath}可能不正确。试着在jsp上打印这个值,看看它是否正确


一旦您纠正了这一点,您应该能够正确加载css、js文件。

当您运行应用程序时,控制器调用.jsp,并且jsp在转换阶段被转换为servlet,所以请尝试使用${pageContext.request.contextPath}添加相对路径 然后检查web.xml中的url模式,并将其留空,然后尝试使用它

尝试使用JSTL 将其添加到JSP页面 然后像这样使用url标记库


确保没有url映射为/*的Servlet。这就是让我头疼的问题

实际上,当我把它放在第二行的上方时,它在${pageContext.request.contextPath}下方显示红色的线条,并且我在没有CSW的情况下得到了相同的输出,当您尝试此操作时,浏览器中实际呈现的是什么?在这个应用程序中,我的目标是在index.jsp页面上显示新闻更新。所以我获取数据并在jsp上显示它。为了实现这一点,第一个控制器运行并使用DAO类从数据库中获取数据。然后DAO类将该数据返回到列表中给控制器和控制器,然后将数据放入requestdispatcher并将其发送到jsp。现在,当我运行应用程序时,我在浏览器上获取数据,但它只显示平面文本数据,而不显示css效果。当我将index.jsp设置为欢迎页面,并从中键入url模式时,它显示良好,当前我的url模式设置为/。那么我该如何关联呢:我打印了它显示的值/MVCTest,即我的应用程序的名称,但是当我像href=@{pageContext.request.contextPath}/css/style.css这样写的时候,它不起作用……试着声明标记,然后你的样式表引用作为检查是否有用的工具。我试过了,但不起作用。我刚刚发布了更多的代码,所以请看一次并建议我。
<link href="<c:url value='/static/vendor/bootstrap/css/bootstrap.min.css'/>" rel="stylesheet">