其中有一百万个,但到目前为止我所看到的没有一个与我相关——如果这是多余的,请提前抱歉。
无论如何,我正在尝试创建一个读取 CSV 文件并将其显示为表格的 jsp 页面,现在我正在尝试制作一个提交按钮,该按钮从两个文本框中获取字段并将它们附加到 csv 文件中。
我已经创建了 servlet 和 jsp,但是当我单击 JSP 上的提交按钮时(在使用 TomCat 在 Eclipse 中将其作为动态 Web 项目运行时),它给了我 404 屏幕:
HTTP 状态 404 - /CSVTest/CSVFile
类型状态报告
消息 /CSVTest/CSVFile
描述 请求的资源 (/CSVTest/CSVFile) 不可用。
我曾尝试查看 xml 文件以查看它是否搞砸了,但我无法弄清楚。我对jsp什么的真的很缺乏经验,所以我所知道的基本上是过去两天的研究,试图弄清楚如何完成这个项目。关于我为什么会收到此错误的任何想法?
这是xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp_ID">
<display-name>CSVTest</display-name>
<servlet>
<servlet-name>CSVFile</servlet-name>
<servlet-class>org.tiaa.csv.CSVFile</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CSVFile</servlet-name>
<url-pattern>/CSVFile</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
这是servlet:
package org.tiaa.csv;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CSVFile extends HttpServlet implements Servlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if (request.getParameter("button1") != null) {
FileWriter fw = new FileWriter("c:\\csv\\myfile.csv");
PrintWriter out = new PrintWriter(fw);
String fname = request.getParameter("fname");
String lname = request.getParameter("lname");
out.print(lname);
out.print(",");
out.print(fname);
}
request.getRequestDispatcher("/csvreader.jsp").forward(request, response);
}
}
这是JSP
<%@ page import="java.io.*"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String fName = "c:\\csv\\myfile.csv";
String thisLine;
int count=0;
FileInputStream fis = new FileInputStream(fName);
DataInputStream myInput = new DataInputStream(fis);
int i=0;
%>
<table>
<%
while ((thisLine = myInput.readLine()) != null)
{
String strar[] = thisLine.split(",");
for(int j=0;j<strar.length;j++)
{
if(i!=0)
{
out.print(" " +strar[j]+ " ");
}
else
{
out.print(" <b>" +strar[j]+ "</b> ");
}
}
out.println("<br>");
i++;
}
%>
</table>
Last name:<input type='text' name='lname' /> First name:<input type='text' name='fname' />
<form action="CSVFile" method="post">
<input type="submit" name="button1" value="Submit" />
</form>
</body>
</html>