我是使用JSP的新手,但我非常熟悉Java,我发生了一件奇怪的事情。
我有一个文件“customer.txt”,我正在阅读一条记录(只有一条记录)
并使用我正在削减元素的StringTokenizer类,然后我想将每个元素加载到我的HTML输入文本框中并显示...系统正在锁定并且消息是“等待本地主机”。我正在做什么不允许或错误?请让我知道
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>");
}
}
答案 0 :(得分:0)
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);
.............