【问题标题】:Why does a web application got an error when clicking on hyperlink?为什么单击超链接时 Web 应用程序会出错?
【发布时间】:2018-11-03 05:19:09
【问题描述】:

应用程序欢迎页面正在运行,但是当我单击超链接时,它显示错误:

类型状态:报告

消息:/Welcome/nextPage

描述:源服务器没有找到当前的表示 对于目标资源还是不愿意

我猜这与 web.xml 文件有关。我的尝试之一是编写以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <display-name>MyApp</display-name>
  <welcome-file-list>
    <welcome-file>WelcomeServlet</welcome-file>
  </welcome-file-list>
      <servlet>
        <servlet-name>NextPageServlent</servlet-name>
        <jsp-file>/NextPageServlent/nextPage.jsp</jsp-file>
    </servlet>

    <servlet-mapping>
        <servlet-name>NextPageServlent</servlet-name>
        <url-pattern>/NextPageServlent/*</url-pattern>
    </servlet-mapping>
</web-app>

不过没用,我也有同样的问题

编辑: 指向“下一页”的超链接

index.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>


<%
    String table=(String) request.getAttribute("table");

%>



<!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">

<title>table content</title>

</head>

<body>

<h1>table content</h1>

<p>
<a href="nextPage">go to the next page </a>
</p>

<%= table %>


</body>
</html>

网页链接:http://localhost:8080/Welcome/nextPage

有没有办法不使用web.xml文件?

【问题讨论】:

  • 点击了什么超链接?
  • 点击下一个页面...假设显示下一个页面
  • 主页是如何生成的?超链接是什么样的?这里缺少太多信息和细节。
  • 生成的主页:index.jsp、WelcomeServlet.java、ReadQuery.java .....超链接(在 nextPage.jsp 中):查看股票' 状态变化
  • index.jsp 添加到您的问题中。另外,打开浏览器,导航到主页,右键单击链接并将 URL 复制到您的问题,以便我们查看实际发生的情况。

标签: java xml jsp web-applications


【解决方案1】:

在 webcontent 中创建 index.jsp

Welcome <a href="next">next page</a>

在xml中

<servlet>
    <servlet-name>NextPageServlent</servlet-name>
    <jsp-file>/NewFile.jsp</jsp-file>
</servlet>

<servlet-mapping>
    <servlet-name>NextPageServlent</servlet-name>
    <url-pattern>/next/*</url-pattern>
</servlet-mapping>

NewFile.jsp 也在 webcontent 中

完美运行

【讨论】:

  • 您在 index.jsp 中写过...“欢迎”代表什么?
  • 它只是一个与代码无关的文本,你可以编写任何你想要的东西。忽略“欢迎”
  • 我找到了问题的根源。您在 url 模式中使用了 "NextPageServlent/*" 为什么?
  • 非常感谢!!!!!!但为什么我得到空而不是表? (欢迎页面的jsp文件和下一页的一个使用类似的代码......实际上这就是为什么我在xml中的欢迎文件是WelcomeServlet而不是index.jsp(因为index.jsp给出了null而不是表格但是WelcomeServlet显示表格,WelcomeServle是java代码)....如何让下一页正常运行,web.xml中应该做哪些改动?)
  • 这是您另一个问题的链接。正确的? stackoverflow.com/questions/50477922/…
【解决方案2】:

“nextPage.jsp”是否在文件夹“NextPageServlent”中,如果不是,则放

<jsp-file>/nextPage.jsp</jsp-file>

而不是

<jsp-file>/NextPageServlent/nextPage.jsp</jsp-file>

希望对你有帮助..

【讨论】:

  • 我按照你说的做了(“nextPage.jsp”不在文件夹“NextPageServlent”中)但仍然是同样的错误...servlet-mapping 部分是否正确?
  • nextPage.jsp 的路径是什么?
  • /MyApp/WebContent/nextPage.jsp
  • 你没有从“/nextPage.jsp”中删除'/'对吧?
  • '/' 仍然存在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
相关资源
最近更新 更多