Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
Java 为什么web应用程序在单击超链接时出错?_Java_Xml_Jsp_Web Applications - Fatal编程技术网

Java 为什么web应用程序在单击超链接时出错?

Java 为什么web应用程序在单击超链接时出错?,java,xml,jsp,web-applications,Java,Xml,Jsp,Web Applications,应用程序欢迎页面正在运行,但当我单击超链接时,显示错误: 类型状态:报告 信息:/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

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

类型状态:报告

信息:/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>

MyApp
欢迎光临
NextPageServlent
/NextPageServlent/nextPage.jsp
NextPageServlent
/NextPageServlent/*
然而,这没有帮助,我有同样的问题

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

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>

表内容
表内容

网页链接:

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

是否“nextPage.jsp”位于文件夹“nextPage servlent”中?如果没有,请将

<jsp-file>/nextPage.jsp</jsp-file>
/nextPage.jsp
而不是

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

我希望它能帮助..

在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>

NextPageServlent
/NewFile.jsp
NextPageServlent
/下一个/*
NewFile.jsp也在webcontent中

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

完美地工作

点击什么超链接?点击下一页…哪一页显示下一页主页是如何生成的?超链接看起来像什么?此处缺少太多信息和详细信息。使用以下内容生成的主页:index.jsp、WelcomeServlet.java、ReadQuery.java…..超链接(在nextPage.jsp中):将
index.jsp
添加到您的问题中。另外,打开浏览器,导航到主页,右键单击链接并将URL复制到您的问题,这样我们就可以看到实际发生的情况。我按照您所说的做了(“nextPage.jsp”不在“nextPage服务”文件夹中)但仍然是相同的错误…servlet映射部分正确吗?nextPage.jsp的路径是什么?/MyApp/WebContent/nextPage.jsp您还没有从“/nextPage.jsp”中删除“/”,对吗?您编写的index.jsp中仍然有“/”。。。“欢迎”代表什么?它只是一个文本,与代码无关,你可以写任何你想要的东西。忽略“欢迎”我找到了问题的根源。您在url模式中使用了“NextPageServlent/*”为什么?非常感谢!!!!!!但是为什么我得到null而不是一个表呢?(欢迎页面的jsp文件和下一页的jsp文件使用类似的代码…实际上,这就是为什么我的xml欢迎文件是WelcomeServlet而不是index.jsp(因为index.jsp给出的是null而不是表,但是WelcomeServlet显示表,WelcomeServle是java代码)…如何使下一页正常运行,在web.xml中应该做哪些更改?)这是另一个问题的链接。对吗?