【问题标题】:How to use html and/or css styles in NetBeans servlet/jsp project? [duplicate]如何在 NetBeans servlet/jsp 项目中使用 html 和/或 css 样式? [复制]
【发布时间】:2013-07-19 14:35:49
【问题描述】:

我尝试使用 NetBeans 创建简单的 servlet 项目,并从登录开始。登录页面是在 html 中完成的,它与 css 文档存储在 NetBeans “Web pages” floder(目录结构中的 web)中。

如果我尝试使用它来查看页面,那么在包含 css 的情况下一切正常。但是,如果我尝试运行此文件( shift + F6 ),浏览器中会出现错误,说明重定向失败。

如果我尝试在 jsp 页面中使用 css 文件,也会出现类似的失败。尽管我在 jsp 页面中的所有 html 文本都很好,并且如果我使用纯 html 页面它可以工作,但在 jsp 页面 css 中不起作用。 为了解决这个问题,我尝试使用两台服务器,Glassfish 和 Apache Tomcat,它们都无法正常工作。我刚刚也尝试检查几个相似的主题,但是将 css 包含到 jsp 的描述不起作用。 下一个任务,我有通过 response.sendRedirect() 函数重定向到登录页面。如果我尝试重定向到 jsp 页面,它可以正常工作(不包含 css),但是如果我尝试重定向到 html,它不会出现与上面显示的相同的错误。存储为 sendRedirect() 函数参数的无效地址也会发生同样的失败。 根据此服务器的一些答案,我已将 html 和 css 文件存储在正确的路径中(请考虑此问题中的第一张图片)。

Referencing a resource placed in WEB-INF folder in JSP file returns HTTP 404 on resource

我认为,Web 服务器根本不知道网页和 css 文件的适当地址。有没有办法将它添加到 web.xml 或其他地方来查看 html 页面?如果还有其他故障,我该如何解决?如何将一些外部 css 文件添加到 jsp 页面?

非常感谢您的回复!

在 ArtyMcFly 响应添加后: 谢谢你的答复。我尝试了您在回答中描述的所有内容。我的 web.xml 现在看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

 //This is changed code from MartyMcFly   
    <servlet>
    <servlet-name>errorPage</servlet-name>
    <jsp-file>/WEB-INF/errorPage.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>errorPage</servlet-name>
    <url-pattern>/errorPage</url-pattern>
</servlet-mapping>


    <servlet>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>Controler.TestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/TestServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

我还更改了 servlet 中的链接。到

<link rel="stylesheet" type="text/css" href="./css/main.css" />

我的 css 文件现在存储在 Web Pages/css/main.css 下。 但没有任何作用。

在获得 10 分之前,我无法添加屏幕截图。这是一些服务器策略...

PS:因为我现在有超过 10 点,所以我刚刚添加了一些打印屏幕说明情况。

【问题讨论】:

  • 听起来应该可以在设置中进行配置。 “... 说明重定向失败”并没有多大帮助。能否提供错误信息的全文?
  • 如果我有十点声望,我可以发送一些打印屏幕。但看起来,该错误不在浏览器端,因为在重定向期间一切正常。浏览器中的完整错误是这样的:页面没有正确重定向 Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。此问题有时可能是由禁用或拒绝接受 cookie 引起的。
  • 投票支持代表。如果@ArtyMcFly 做同样的事情......
  • 感谢您的投票。
  • 尝试将您的 ErrorPage.jsp 页面移动到您的 WEB-INF 文件夹

标签: java html css jsp netbeans


【解决方案1】:

编辑 删除了初始响应,因为它对这种情况没有帮助,以下是部署描述符(web.xml)和文件结构

我查看了我的一个 netbean 设置,我的结构如下所示:

/WEB-INF/jsp/*all my jsp pages*
/css/*css pages*

部署描述符 (web.xml) 如下所示:

<servlet>
    <servlet-name>jsppage1</servlet-name>
    <jsp-file>/WEB-INF/jsp/jsppage1.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>jsppage1</servlet-name>
    <url-pattern>/jsppage1</url-pattern>
</servlet-mapping>

我在jsp中包含了css,代码如下:

<link rel="stylesheet" type="text/css" href=" css/main.css" />

所以代码中发生的事情是将 URL 地址 /jsppage1 映射到 WEB-INF 文件夹中的文件,就 jsp 文件而言,它被存储在项目的根目录中,甚至虽然它在 WEB-INF 的文件结构中。

【讨论】:

  • 感谢您的回复。我刚刚尝试了您在我的 jsp 文件中提到的所有可能性,但它不起作用。但是我之前在纯 html 中以类似的方式完成了它,并且它可以工作。将css包含到html和jsp中是否有一些区别?感谢您的回答。
  • PS: Mabye 有一些 html 错误,但我已经尝试过了,并且在我问之前也检查了一些类似的问题。我担心,该服务器没有得到,由于某种原因加载了一些 html 和 jsp 文件,因为提到的重定向到 jsp 有效而到 html 没有,尽管它们位于相同的位置并且它们具有相同的名称(没有后缀) .
  • 当我开始尝试用 netbeans 解决这些问题时,我遇到了类似的问题,哈哈 - 我希望编辑有所帮助!如果最近没有,恐怕我已经浪费了您的时间,并真诚道歉!我进入 netbeans 并创建了一个新的 web 项目并添加了一个简单的 css 文件来更改背景颜色。在localhost:8080/&lt;project-name-or-url&gt;/jsppage1,它显示了jsp使用css的背景颜色生成的内容。
  • 您能否截取错误的屏幕截图,或者这是否违反了工作规则?
  • 答案已添加到我的问题中。谢谢你的回答。
猜你喜欢
  • 2017-02-16
  • 1970-01-01
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
  • 2015-08-31
  • 1970-01-01
  • 2017-12-20
相关资源
最近更新 更多