错误:找不到符号,找不到我的bean

时间:2017-04-22 20:38:38

标签: java tomcat

我获得了代码,我必须做其他事情。当我去编译我的servlet时,它不会识别我的bean。我已经删除,重新编译,并尝试从所有不同的目录。我不知道为什么这不起作用。

float

AccountBean.java

import BH.*;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*; 
import java.util.*;
import java.util.function.*;
import static java.util.Arrays.asList;
import java.text.DateFormat;
import java.util.concurrent.locks.ReentrantLock;
import java.util.Random;
public class sessionServlet extends HttpServlet {
    private    List<String[]>   the_sessions;
    private    DateFormat df;
    public static ReentrantLock thelock = new ReentrantLock();


    public void init() throws ServletException  {
        the_sessions=new ArrayList<String[]>();
        df=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
    }
    protected void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
    {    
        if ((!(req.getParameter("task")==null))&&(req.getParameter("task").trim().equals("deploy"))) {
            PrintWriter out = res.getWriter();
            out.println("<html>");
            out.println("<body>");
            out.println("<hr /><center><h1>sessionServlet Deployed</h1></center><hr />");
            out.println("</body>");
            out.println("</html>"); 
            return;
        }
        Consumer <String> forwardTo =(s) ->ForwardTo(s,req,res);
        boolean is_first_visit=true;
        String[] this_session=new String[3];
        String manager = req.getParameter("manager");
        for (String [] a_session :the_sessions) {
            if (a_session[0].equals(manager)) {  //Found an active session
                is_first_visit=false;
                this_session=a_session;
                break;
            }
        }
        if ((req.getParameter("task")==null)&&(!is_first_visit)) {
            the_sessions.remove(this_session);
            is_first_visit=true; // just used http://hoare.cs.umsl.edu/servlet/js_test/sessionServlet
        }
        req.setAttribute("thesessioncount",the_sessions.size());
        if (is_first_visit) {
            if (the_sessions.size()==10) {
                forwardTo.accept("noSessions.jsp");  //No Available Sessions
                return;
            }
            String randomStr = getRandomString();
            String[] new_session = {randomStr,df.format(new Date()),"need a name"};
            the_sessions.add(new_session);
            this_session=new_session;
            req.setAttribute("manager",randomStr);
            forwardTo.accept("startSession.jsp");
            return;
        }
        String the_name="";
        String the_pw="";

        if (this_session[2].equals("need a name")) { //No name given yet
            the_name=req.getParameter("whoisit");
            the_pw=req.getParameter("passwd");

            if ((the_name==null)||(the_name.trim().length()==0)||checkPW(the_name,the_pw)) {       //checkPW returns false if correct
                the_sessions.remove(this_session);
                req.setAttribute("thesessioncount",the_sessions.size());
                forwardTo.accept("startSession.jsp");
                return;  // didn't enter a name in startSession
            }
        }
        this_session[2]=the_name.trim();
        req.setAttribute("thename", this_session[2]);
        if (tooLong(this_session[1],df.format(new Date()))) {  //Has the session timed out?
            the_sessions.remove(this_session);
            forwardTo.accept("Expired.jsp");
            return;
        } else {
            this_session[1]=df.format(new Date()); //reset the last session activity time
            NotesBean thesenotes=new NotesBean();

            if(req.getParameter("task").trim().equals("9")){
                the_sessions.remove(this_session);
                forwardTo.accept("exit.jsp");
                return;
            }   

            thelock.lock();
            if (!req.getParameter("task").trim().equals("0")) {                                                   //add ACC here, also show/update posts            
                thesenotes.setAll(req.getParameter("java_source"),Integer.parseInt(req.getParameter("version")));
                if (req.getParameter("task").trim().equals("2")) {
                    thesenotes.setNotes(req.getParameter("notes"),req.getParameter("java_source"),Integer.parseInt(req.getParameter("version")));
                }
            }
            req.setAttribute("thesessioncount",the_sessions.size());
            req.setAttribute("theBean",thesenotes);
            req.setAttribute("manager",manager);
            //req.setAttribute("theURL", "http://www.umsl.edu/~siegelj/turing.jpg");
            forwardTo.accept("getNotes.jsp");
            thelock.unlock();
            return;
        }
    }//end doGet

    boolean tooLong(String now,String then){
        //Check amount of time that passed
        return false;
    }
    boolean checkPW(String name,String password){
        AccountBean theAccount = new AccountBean();
        theAccount.setAccount(name);

        if(theAccount.isPassword(password))
            return false;

        return true;
    }

    public void log(String s){
        FileWriter fileWriter = null;
        try {
            String content =s+" at :"+new Date(System.currentTimeMillis()).toString()+"\n";
            File theLogFile = new File("C:/Tomcat/webapps/js_test/session.log");
            fileWriter = new FileWriter(theLogFile,true);
            fileWriter.write(content);
        } catch (IOException ex) {
        } finally {
            try {
                fileWriter.close();
            } catch (IOException ex) {

            }
        }

    }

    void ForwardTo(String s,HttpServletRequest req, HttpServletResponse res)
    {
        RequestDispatcher rd= req.getRequestDispatcher(s);
        try {
            rd.forward(req, res);
        } catch (IOException|ServletException is) {
            log(" req from "+s+" not forwarded at ");
            try {
                throw is;
            } catch (Exception e) {
            }
        }
    }

    public void destroy()
    {
        log("The instance was destroyed");
    }
    public String getRandomString(){
        byte[] randbyte=new byte[10];
        Random rand  = new Random(System.currentTimeMillis());
        for (int idx = 0; idx <10; ++idx) {
            int randomInt = rand.nextInt(26); //0<=randomInt<26
            //System.out.println(randomInt);
            randbyte[idx]=(byte)(randomInt+65);  
        }
        try {
            String rs=new String(randbyte, "UTF-8");
            //System.out.println(rs);
            return rs;
        } catch (Exception e) {
            //System.out.println("bad string");
            return "bad";
        }
    }

}

1 个答案:

答案 0 :(得分:0)

添加此语句import mybeans.*;,因为您使用的是AccountBean但未导入该类包;

import BH.*;
import mybeans.*;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*; 
import java.util.*;
import java.util.function.*;
import static java.util.Arrays.asList;
import java.text.DateFormat;
import java.util.concurrent.locks.ReentrantLock;
import java.util.Random;
public class sessionServlet extends HttpServlet {
    private    List<String[]>   the_sessions;
    private    DateFormat df;
    public static ReentrantLock thelock = new ReentrantLock();


    public void init() throws ServletException  {
        the_sessions=new ArrayList<String[]>();
        df=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
    }
    protected void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
    {    
        if ((!(req.getParameter("task")==null))&&(req.getParameter("task").trim().equals("deploy"))) {
            PrintWriter out = res.getWriter();
            out.println("<html>");
            out.println("<body>");
            out.println("<hr /><center><h1>sessionServlet Deployed</h1></center><hr />");
            out.println("</body>");
            out.println("</html>"); 
            return;
        }
        Consumer <String> forwardTo =(s) ->ForwardTo(s,req,res);
        boolean is_first_visit=true;
        String[] this_session=new String[3];
        String manager = req.getParameter("manager");
        for (String [] a_session :the_sessions) {
            if (a_session[0].equals(manager)) {  //Found an active session
                is_first_visit=false;
                this_session=a_session;
                break;
            }
        }
        if ((req.getParameter("task")==null)&&(!is_first_visit)) {
            the_sessions.remove(this_session);
            is_first_visit=true; // just used http://hoare.cs.umsl.edu/servlet/js_test/sessionServlet
        }
        req.setAttribute("thesessioncount",the_sessions.size());
        if (is_first_visit) {
            if (the_sessions.size()==10) {
                forwardTo.accept("noSessions.jsp");  //No Available Sessions
                return;
            }
            String randomStr = getRandomString();
            String[] new_session = {randomStr,df.format(new Date()),"need a name"};
            the_sessions.add(new_session);
            this_session=new_session;
            req.setAttribute("manager",randomStr);
            forwardTo.accept("startSession.jsp");
            return;
        }
        String the_name="";
        String the_pw="";

        if (this_session[2].equals("need a name")) { //No name given yet
            the_name=req.getParameter("whoisit");
            the_pw=req.getParameter("passwd");

            if ((the_name==null)||(the_name.trim().length()==0)||checkPW(the_name,the_pw)) {       //checkPW returns false if correct
                the_sessions.remove(this_session);
                req.setAttribute("thesessioncount",the_sessions.size());
                forwardTo.accept("startSession.jsp");
                return;  // didn't enter a name in startSession
            }
        }
        this_session[2]=the_name.trim();
        req.setAttribute("thename", this_session[2]);
        if (tooLong(this_session[1],df.format(new Date()))) {  //Has the session timed out?
            the_sessions.remove(this_session);
            forwardTo.accept("Expired.jsp");
            return;
        } else {
            this_session[1]=df.format(new Date()); //reset the last session activity time
            NotesBean thesenotes=new NotesBean();

            if(req.getParameter("task").trim().equals("9")){
                the_sessions.remove(this_session);
                forwardTo.accept("exit.jsp");
                return;
            }   

            thelock.lock();
            if (!req.getParameter("task").trim().equals("0")) {                                                   //add ACC here, also show/update posts            
                thesenotes.setAll(req.getParameter("java_source"),Integer.parseInt(req.getParameter("version")));
                if (req.getParameter("task").trim().equals("2")) {
                    thesenotes.setNotes(req.getParameter("notes"),req.getParameter("java_source"),Integer.parseInt(req.getParameter("version")));
                }
            }
            req.setAttribute("thesessioncount",the_sessions.size());
            req.setAttribute("theBean",thesenotes);
            req.setAttribute("manager",manager);
            //req.setAttribute("theURL", "http://www.umsl.edu/~siegelj/turing.jpg");
            forwardTo.accept("getNotes.jsp");
            thelock.unlock();
            return;
        }
    }//end doGet

    boolean tooLong(String now,String then){
        //Check amount of time that passed
        return false;
    }
    boolean checkPW(String name,String password){
        AccountBean theAccount = new AccountBean();
        theAccount.setAccount(name);

        if(theAccount.isPassword(password))
            return false;

        return true;
    }

    public void log(String s){
        FileWriter fileWriter = null;
        try {
            String content =s+" at :"+new Date(System.currentTimeMillis()).toString()+"\n";
            File theLogFile = new File("C:/Tomcat/webapps/js_test/session.log");
            fileWriter = new FileWriter(theLogFile,true);
            fileWriter.write(content);
        } catch (IOException ex) {
        } finally {
            try {
                fileWriter.close();
            } catch (IOException ex) {

            }
        }

    }

    void ForwardTo(String s,HttpServletRequest req, HttpServletResponse res)
    {
        RequestDispatcher rd= req.getRequestDispatcher(s);
        try {
            rd.forward(req, res);
        } catch (IOException|ServletException is) {
            log(" req from "+s+" not forwarded at ");
            try {
                throw is;
            } catch (Exception e) {
            }
        }
    }

    public void destroy()
    {
        log("The instance was destroyed");
    }
    public String getRandomString(){
        byte[] randbyte=new byte[10];
        Random rand  = new Random(System.currentTimeMillis());
        for (int idx = 0; idx <10; ++idx) {
            int randomInt = rand.nextInt(26); //0<=randomInt<26
            //System.out.println(randomInt);
            randbyte[idx]=(byte)(randomInt+65);  
        }
        try {
            String rs=new String(randbyte, "UTF-8");
            //System.out.println(rs);
            return rs;
        } catch (Exception e) {
            //System.out.println("bad string");
            return "bad";
        }
    }

}