私は現在、register.htmlとregister.jspという2つのファイルを持っています。 HTMLファイルはユーザーに何らかの情報を要求し、JSPファイルは情報をテキストファイルに書き込むものとします。私はファイルで、特にPrintWriter部分でエラーが発生し続ける。どんな助けでも大歓迎です。ありがとう!ここでPrintWriterでJSPが正しく動作しない
は私が取得していますエラーです:
An error occurred at line: 14 in the jsp file: /register.jsp
Duplicate local variable pw
11:
12: try {
13:
14: PrintWriter pw=null;
15: pw = new PrintWriter(new FileWriter(new File(nameOfTextFile), true));
16: // PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile));
17:
はregister.html:
<%@ page import="java.io.*, java.util.Date" %>
<DOCTYPE! html>
<HTML>
<HEAD>
<TITLE>Registration</TITLE>
</HEAD>
<BODY>
<h1>Enter the following information to sign and create an account in the Book.</h1>
<form name=registrationForm action="register.jsp">
<table border=0>
<tr><td align=right>Username:</td>
<td><input type=text name="Username" size=25></td>
</tr>
<tr><td align=right>Password:</td>
<td><input type=text name="password" size=25></td>
</tr>
<tr><td align=right>Email address:</td>
<td><input type=text name="email" size=25></td>
</tr>
<tr>
<!--<td valign=middle align=right>Comments:</td>
<td><TextArea rows=5 cols=35 name="comments">none</TextArea>
</td>-->
</tr>
</table>
<br>
<input type="submit" value="Register" name="button" onClick="validatingForm()">
<input type=reset value="Start Over">
</form>
</BODY>
</HTML>
register.jsp:
<%@ page import="java.io.* , java.util.Date" %>
<HEAD>Thanks for registering!</TITLE></HEAD>
<BODY>
<%
String un =request.getParameter("Username");
String pw =request.getParameter("password");
String nameOfTextFile = "/xampp/tomcat/webapps/gb/userss.txt"; //directory path and name of file
try {
PrintWriter pw=null;
pw = new PrintWriter(new FileWriter(new File(nameOfTextFile), true));
// PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile));
pw.println(un);
pw.println(pw);
pw.close();
} catch(IOException e) {
out.println(e.getMessage());
}
%>
</BODY>
</HTML>
あなたが取得しているエラーを投稿してください。それらはあなたの質問に答えるのに役立ちます。 – uaarkoti
これは、JSPを書き込まない方法の例です。 JSPでこれを行うべきではありません。 – duffymo
使用しているWebフレームワーク(またはWebフレームワークを使用していない場合は 'Servlet'実装)に応じて、JavaコードをJavaクラスに再配置することを検討してください。 JavaコードをJSPファイルに直接置くことは、コード化の練習として非常に貧弱です。 'out.println(e.getMessage())'の代わりに 'e.printStackTrace()'を実行すると、さらに便利なデバッグ情報が得られるかもしれません。 – aroth