JSP,“用户无法解析为某种类型”

时间:2012-12-23 06:28:34

标签: java html jsp tomcat servlets

我正在研究Murach的Java Servlets和JSP 我在第4章,当我加载http://按钮时,我得到错误。任何人都可以看到导致问题的原因,我将所有文件存储在tomcat / webapps / MailList中。我已经完成了几个小时的代码,并且找不到导致问题的任何语法,只是认为另一组眼睛可能会抓住它。或者有人可以解释一下,非常感谢任何帮助,这是我第一天搞乱Servlets / JSP和tomcat。

join_email_list.html

<!DOCTYPE html>
<html>
    <head>
        <title>Chapter 4 - Email List application</title>
    </head>
    <body background="C:\Users\Public\Pictures\Sample Pictures\Lighthouse.jpg" >
        <h1>Join the Murach's mailing list</h1>
        <p>To join the Murach's mailing list, enter your name and email address below.<br>
            Then, click n the submit to recieve special offers.</p>
        <form action="show_email_entry.jsp" method="get">
            <table cellspacing="5">
                <tr>
                    <td align="right" >First name</td>
                    <td><input type="text" name="firstName"></td>
                </tr>
                <tr>
                    <td align="right">Last name</td>
                    <td><input type="text" name="lastName"></td>
                </tr>
                <tr>
                    <td align="right">email address</td>
                    <td><input type="text" name="emailAddress"></td>
                </tr>
                <tr>
                    <td></td>
                    <td><br><input type="submit" value="Submit"></td>
                </tr>
            </table>
        </form>
    </body>
</html>

show_email_list.jsp

<!DOCTYPE html public"-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>Chapter 4 - Email List</title>
    </head>
    <body>
        <%@page import="business.*, data.*" %>
        <%
            String firstName = request.getParameter("firstName");
            String lastName = request.getParameter("lastName");
            String emailAddress = request.getParameter("emailAddress");
            User user = new User(firstName, lastName, emailAddress);
            UserIO.addRecord(user, "..webapps/MailingList/UserEmail.txt");
        %>
        <h1>Thanks for joining</h1>
        <table cellspacing="5">
            <tr>
                <td align="right">First Name: </td>
                <td><%= user.getFirstName() %></td>
            </tr>
            <tr>
                <td align="right">Last Name: </td>
                <td><%= user.getLastName() %></td>
            </tr>
            <tr>
                <td align="right">Email Address: </td>
                <td><%= user.getEmailAddress() %></td>
            </tr>
        </table>

        <form action="join_email_list.html" method="post">
            <input type="submit" value="Return">
        </form>
    </body>
</html>

User.java

package business;

public class User {
    private String firstName;
    private String lastName;
    private String emailAddress;
    //this class defines a user, what we can get from a user to store
    public User(){}
    public User(String first, String last, String email){
        firstName=first;
        lastName=last;
        emailAddress=email;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getEmailAddress() {
        return emailAddress;
    }

    public void setEmailAddress(String emailAddress) {
        this.emailAddress = emailAddress;
    }

}

UserIO.java

package data;

import business.User;
import java.io.*;

public class UserIO { //the user io class adds the entered info to a txt file a.k.a psuedo db
    public synchronized static void addRecord(User user, String fileName) 
            throws IOException{
        PrintWriter out = new PrintWriter( //open the printwriter
                new FileWriter(fileName, true)); //write to file
        out.println(user.getEmailAddress()+"|"//write these things to file
                +user.getFirstName()+"|"
                +user.getLastName());
        out.close();//close out to free resources
    }
}

2 个答案:

答案 0 :(得分:1)

user在您尝试的范围内无法访问,也

C:\Users\Public\Pictures\Sample Pictures\Lighthouse.jpg

无法正常工作

答案 1 :(得分:0)

使用

UserIO.addRecord(user, "MailingList/UserEmail.txt");

而不是

UserIO.addRecord(user, "..webapps/MailingList/UserEmail.txt");