Java 将数据从文本文件加载到JSP Servlet页面
我不熟悉使用JSP,但我对Java非常熟悉,我遇到了一件奇怪的事情 我有一个文件“customer.txt”,我正在从中读取一条记录(只有一条记录) 使用StringTokenizer类,我将删除元素,然后将每个元素加载到HTML输入文本框中并显示。。。系统正在锁定,消息为“正在等待本地主机”。。。我所做的是不允许的还是错误的?请让我知道Java 将数据从文本文件加载到JSP Servlet页面,java,jsp,io,Java,Jsp,Io,我不熟悉使用JSP,但我对Java非常熟悉,我遇到了一件奇怪的事情 我有一个文件“customer.txt”,我正在从中读取一条记录(只有一条记录) 使用StringTokenizer类,我将删除元素,然后将每个元素加载到HTML输入文本框中并显示。。。系统正在锁定,消息为“正在等待本地主机”。。。我所做的是不允许的还是错误的?请让我知道 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import j
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.text.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class CustProfile extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
// Get Customer Information based on CustId
int count = 1;
String id = null;
String name = null;
String addr1 = null;
String addr2 = null;
String city = null;
String state = null;
String zip = null;
String phone = null;
String tvplan = null;
String intplan = null;
String line;
ServletContext sc = getServletContext();
String path = sc.getRealPath("/WEB-INF/customer.txt");
FileReader f = new FileReader(path);
BufferedReader b = new BufferedReader(f);
line = b.readLine();
while (line != null){
StringTokenizer s = new StringTokenizer(line, ",");
while (s.hasMoreElements()) {
id = s.nextElement().toString();
name = s.nextElement().toString();
addr1 = s.nextElement().toString();
addr2 = s.nextElement().toString();
city = s.nextElement().toString();
state = s.nextElement().toString();
zip = s.nextElement().toString();
phone = s.nextElement().toString();
tvplan = s.nextElement().toString();
intplan = s.nextElement().toString();
}
}
// Whether or not the customer changed the order, show
// order status.
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Customer Profile Information";
String MainPageURL =
response.encodeURL("/csj/Products.html");
String docType =
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n";
out.println(docType +
"<HTML>\n" +
"<HEAD><TITLE>" + title + "</TITLE></HEAD>\n" +
"<BODY BGCOLOR=\"#FDF5E6\">\n" +
"<H1 ALIGN=\"CENTER\">" + title + "</H1>");
out.println("<BR>" +
"<BR>" +
"<a href=" + MainPageURL + ">Previous Page</a>");
out.println
("<Form>\n" +
"<CENTER>" +
"Please Enter the following Information:\n" +
"<TABLE>" +
"<TR>" +
"<TD>" +
"Name:" +
"</TD>" +
"<TD>" +
"<Input type=\"Text\" name=\"F_name\" value=" + name + " </input>\n" +
"</TR>" +
"<BR>" +
"<TR>" +
"<TD>" +
"Street Address:" +
"</TD>" +
"<TD>" +
"<Input type=\"Text\" name=\"F_Add1\" value=" + addr1 + " </input>\n" +
"</TD>" +
"</TR>" +
"<BR>" +
"<TR>" +
"<TD>" +
"Apt or Suite:" +
"</TD>" +
"<TD>" +
"<Input type=\"Text\" name=\"F_Add2\" value=" + addr2 + " </input>\n" +
"</TD>" +
"</TR>" +
"<BR>" +
"<TR>" +
"<TD>" +
"City:" +
"</TD>" +
"<TD>" +
"<Input type=\"Text\" name=\"F_City\" value=" + city + "</input>\n" +
"</TD>" +
"</TR>" +
"<BR>" +
"<TR><TD>" +
"State:" +
"</TD><TD>" +
"<Input type=\"Text\" name=\"F_state\" value=" + state + "</input>\n" +
"</TD>" +
"</TR>" +
"<BR>" +
"<TR><TD>" +
"Zip Code:" +
"</TD>" +
"<TD>" +
"<Input type=\"Text\" name=\"F_Zip\" value=" + zip + "</input>\n" +
"</TD>" +
"</TR>" +
"<BR>" +
"<TR>" +
"<TD>" +
"Phone Number:" +
"</TD>" +
"<TD>" +
"<Input type=\"Text\" name=\"F_Phone\" value=" + phone + " </input>\n" +
"</TD>" +
"</TR>" +
"<BR>" +
"<TR><TD>" +
"Cable Plan:" +
"</TD>" +
"<TD>" +
"<Input type=\"Text\" name=\"F_tvPlan\" value=" + tvplan + "</input>\n" +
"</TD>" +
"</TR>" +
"<BR>" +
"<TR><TD>" +
"Internet Plan:" +
"</TD>" +
"<TD>" +
"<input type=\"Text\" name=\"F_IntPlan\" value=" + intplan + "</input>\n" +
"</TD>" +
"</TR>" +
"<TABLE>" +
"</CENTER>" +
"</Form>" );
String updateURL =
response.encodeURL("/csj/UpdateCust");
// "Proceed to Checkout" button below table
out.println
("</TABLE>\n" +
"<FORM ACTION=\"" + updateURL + "\">\n" +
"<BIG><CENTER>\n" +
"<INPUT TYPE=\"SUBMIT\"\n" +
" VALUE=\"Update Profile\">\n" +
"</CENTER></BIG>" +
"</FORM>");
out.println("</BODY></HTML>");
}
}
import java.io.*;
导入javax.servlet.*;
导入javax.servlet.http.*;
导入java.util.*;
导入java.text.*;
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.StringTokenizer;
公共类CustProfile扩展了HttpServlet{
公共无效数据集(HttpServletRequest请求,
HttpServletResponse(响应)
抛出ServletException、IOException{
HttpSession session=request.getSession();
//根据客户ID获取客户信息
整数计数=1;
字符串id=null;
字符串名称=null;
字符串addr1=null;
字符串addr2=null;
字符串city=null;
字符串状态=null;
字符串zip=null;
字符串phone=null;
字符串tvplan=null;
字符串intplan=null;
弦线;
ServletContext sc=getServletContext();
字符串路径=sc.getRealPath(“/WEB-INF/customer.txt”);
FileReader f=新的FileReader(路径);
BufferedReader b=新的BufferedReader(f);
line=b.readLine();
while(行!=null){
StringTokenizer s=新的StringTokenizer(行“,”);
而(s.hasMoreElements()){
id=s.nextElement().toString();
name=s.nextElement().toString();
addr1=s.nextElement().toString();
addr2=s.nextElement().toString();
city=s.nextElement().toString();
state=s.nextElement().toString();
zip=s.nextElement().toString();
phone=s.nextElement().toString();
tvplan=s.nextElement().toString();
intplan=s.nextElement().toString();
}
}
//无论客户是否更改订单,显示
//订单状态。
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
String title=“客户配置文件信息”;
字符串MainPageURL=
response.encodeURL(“/csj/Products.html”);
字符串docType=
“\n”;
out.println(docType+
“\n”+
“”+标题+“\n”+
“\n”+
“+标题+”);
out.println(“
”+
“
”+
"");
out.println
(“\n”+
"" +
“请输入以下信息:\n”+
"" +
"" +
"" +
“姓名:”+
"" +
"" +
“sc.getRealPath()
需要URL
路径。它将URL路径转换为实际路径。因此,以下语句不正确
String path = sc.getRealPath("/WEB-INF/customer.txt");
更改您的代码,如:
String path = sc.getRealPath("/");// Here you will get valid path.
FileReader f = new FileReader(path+"/WEB-INF/customer.txt");
BufferedReader b = new BufferedReader(f);
.............
感谢您抽出时间,我不太明白…我如何补救FileReader来查找我的文件?@PaulT.Rykiel,请参阅我编辑的答案。希望它能解决您的问题。我非常确定它正在查找文件,但我正在循环或挂断。我正在记事本中编写此代码,以便完成一项任务,因此无法调试。我担心的是他在做我不该做的事。