*Your code:

<%@ page import = "beans.*, java.sql.*"%>
<jsp:useBean id="verify" scope="session" class="PasswordEncryptService" />*

I think the value for class should be "beans.PasswordEncryptService". Class
should be "package.class". That's what I remember.

or

http://java.sun.com/products/jsp/tags/syntaxref.fm14.html


On Thu, Nov 18, 2010 at 1:29 PM, Rekha Ravi Pai <re...@softjin.com> wrote:

> users-digest-h...@tomcat.apache.org wrote:
>
>     users Digest 15 Nov 2010 11:40:18 -0000 Issue 10062
>
>     Topics (messages 219005 through 219016):
>
>     Re: Tomcat 6.0.29 using more and more RAM until it collapses?
>        219005 by: Andr Warnier
>        219010 by: Mark Thomas
>
>     Re: 7.0.4 problem
>        219006 by: Anthony J. Biacco
>
>     Re: Using mod_jk in cluster environment responds HTTP 500
>        219007 by: rikslovein
>        219009 by: Andr Warnier
>        219013 by: rikslovein
>
>     Problem in accessing jsp:useBean
>        219008 by: Rekha Ravi Pai
>        219011 by: Mark Thomas
>
>     Re: Shutting down one instance of tomcat 6 from a listener
>        219012 by: Patrick Sauts
>
>     Tomcat Going down Frequently
>        219014 by: Amol Puglia
>        219015 by: Andr Warnier
>        219016 by: Pid
>
>     Administrivia:
>
>
>
>
>     Subject:
>     Problem in accessing jsp:useBean
>     From:
>     Rekha Ravi Pai <re...@softjin.com>
>     Date:
>     Mon, 15 Nov 2010 12:40:46 +0530
>     To:
>     users@tomcat.apache.org
>     To:
>     users@tomcat.apache.org
>
>     Hi,
>     I have installed tomcat-6.0.20 and postgresql-9.0.1
>     I have created a java bean PasswordEncryptService.java
>     I have kept it in WEB-INF/classes/beans directory and in beans package.
>     I compiled the java file and successfully ran the class and could
>     enter a data in a table in pgsql database.
>     I have created a jsp file under webapps/apps/InfoMgmt/secure directory.
>     In this jsp file I imported the PasswordEncryptService class and used
> the
>     bean under the tag jsp:useBean. But I am getting the following error.
>
>     The value for the useBean class attribute PasswordEncryptService is
> invalid.
>
>
>     Can anybody please, help me in resolving this issue?
>
>     Thanks and Regards,
>     Rekha.
>
>
>
>
>
>     Subject:
>     Re: Problem in accessing jsp:useBean
>     From:
>     Mark Thomas <ma...@apache.org>
>     Date:
>     Mon, 15 Nov 2010 09:04:37 +0000
>     To:
>     Tomcat Users List <users@tomcat.apache.org>
>     To:
>     Tomcat Users List <users@tomcat.apache.org>
>
>     On 15/11/2010 07:10, Rekha Ravi Pai wrote:
>
>
>         Hi,
>         I have installed tomcat-6.0.20 and postgresql-9.0.1
>         I have created a java bean PasswordEncryptService.java
>         I have kept it in WEB-INF/classes/beans directory and in beans
> package.
>         I compiled the java file and successfully ran the class and could
>         enter a data in a table in pgsql database.
>         I have created a jsp file under webapps/apps/InfoMgmt/secure
> directory.
>         In this jsp file I imported the PasswordEncryptService class and
> used the
>         bean under the tag jsp:useBean. But I am getting the following
> error.
>
>         The value for the useBean class attribute PasswordEncryptService is
>         invalid.
>
>
>         Can anybody please, help me in resolving this issue?
>
>
>
>     Not without you showing us the source for the simplest JSP and bean
> that
>     recreates this issue.
>
>     Mark
>
>
>
>
>
> PasswordEncryptService.java file I am giving below.
> I have placed this in the path
> /usr/local/apache-tomcat-6.0.20/webapps/apps/WEB-INF/classes/beans
>
> /// class to verify the password
> package beans;
>
> import java.security.NoSuchAlgorithmException;
> import java.io.*; //UnsupportedEncodingException;
> import java.security.MessageDigest;
> import org.apache.commons.codec.binary.Base64;
> import java.security.DigestOutputStream;
> import java.sql.*;
>
> public class PasswordEncryptService implements Serializable {
>     private static final long serialVersionUID = 7526472295622776147L;
>     Connection con;
>     Statement stm ;
>     ResultSet rs = null;
>
>     public PasswordEncryptService (){
>         try{
>             Class.forName("org.postgresql.Driver");
>             con =
> DriverManager.getConnection("jdbc:postgresql:employee_release","postgres",
> "");
>             stm = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
> ResultSet.CONCUR_UPDATABLE);
>         }
>         catch (SQLException sqle ){
>                 sqle.printStackTrace();
>         }
>         catch (ClassNotFoundException cnfe  ) {
>                 cnfe.printStackTrace();
>         }
>
>     }
>
>     private String getEncryptedString  (String rawString ) throws Exception
> {  /// encrypt the raw String using SHA algorithm
>         String encryptedString = "";
>         byte[] encoded = Base64.encodeBase64(rawString.getBytes());
>
>         encryptedString = new String(encoded);
>         return encryptedString;
>     }
>
>     public void writeNewPasswd(String username,String passwd)throws
> Exception { ///writing new password in case the password is forgotten
>         String encryptedPasswd = "";
>         try{
>             encryptedPasswd = getEncryptedString(passwd);
>         }
>         catch(Exception e){
>
>             e.toString();
>             //System.out.println(e.toString());
>         }
>         String query = "insert into passwd_tbl values(\'"+username;
>         query += "\',\'"+encryptedPasswd+"\')";
>         try{
>             int a = stm.executeUpdate(query);
>         }catch(SQLException e){
>             System.out.println(e.toString());
>         }
>     }
>
>     public void changePasswd(String username,String passwd,String
> newPwd)throws Exception { /// reading all username/passwd in a vector
> deleting the perticular user and writing back the vector
>         String encryptedPasswd = "";
>         String encryptedNewPwd = "";
>         String readPasswd = "";
>         try{
>             encryptedPasswd = getEncryptedString(passwd);
>             encryptedNewPwd = getEncryptedString(newPwd);
>         }
>         catch(Exception e){
>
>             e.toString();
>             //System.out.println(e.toString());
>         }
>         String query = "select * from passwd_tbl where ";
>         query += "username=\'"+username+"\'";
>         try{
>             rs = stm.executeQuery(query);
>         }catch(SQLException e){
>             System.out.println(e.toString());
>         }
>         if(rs.next()){
>             readPasswd = rs.getString("password");
>         }
>         if(encryptedPasswd.equals(readPasswd)){
>             String updateQuery = "update passwd_tbl set password=";
>             updateQuery += "\'"+encryptedNewPwd+"\' where ";
>             updateQuery += "username=\'"+username+"\'";
>             try{
>                 int a = stm.executeUpdate(updateQuery);
>             }catch(SQLException e){
>                 System.out.println(e.toString());
>             }
>         }
>
>     }
>
>     private String readPassword (String username)  throws Exception {
> //        String passwordFromFile = "";
>         boolean isFound = false;
>         int data;
>
>         String readUsername = "", readPasswd  = "";
>         String query = "select password from passwd_tbl where ";
>         query += "username=\'"+username+"\'";
>         try{
>             rs = stm.executeQuery(query);
>         }catch(SQLException e){
>             System.out.println(e.toString());
>         }
>         if(rs.next()){
>             readPasswd = rs.getString("password");
>             isFound = true;
>         }else{
>             throw new NullPointerException (" Username  not found ");
>         }
>         return readPasswd;
>     }
>
>
>     /// Check if the suplied password is correct for the given username
>     public boolean isPasswordCorrect (String username, String passwd)
> throws Exception {
>         String passwordFromFile = "";
>         String encryptedPassword = "";
>         try {
>             passwordFromFile = readPassword (username);
>         } catch (Exception e) {
>             throw new Exception ("Error reading password for the user (" +
> username + ") : " + e.getMessage());
>         }
>
>         try {
>             encryptedPassword = getEncryptedString (passwd) ;
>         } catch (Exception e ) {
>             throw new Exception ("Error encrypting the password : " +
> e.getMessage());
>         }
>
>         return passwordFromFile.equals (encryptedPassword);
>
>     }
>
>     private boolean isDuplicateUsername (String username) throws Exception
> {
>         boolean isDuplicate = false;
>         String query = "select * from passwd_tbl where ";
>         query += "username=\'"+username+"\'";
>         try{
>             rs = stm.executeQuery(query);
>         }catch(SQLException e){
>             System.out.println(e.toString());
>         }
>         if(rs.next()){
>             isDuplicate = true;
>         }
>         return isDuplicate;
>
>     }
>
>     public void writeUsernamePassword (String username, String password)
> throws Exception {
>                 /// Write the username:password for a new user into the
> passwdFile.
>         String encryptedPassword ;
>         String loginString;
>         byte [] byteArray ;
> //        RandomAccessFile raFile = new RandomAccessFile(passwdFile,"rw");;
>
>         try {
>             encryptedPassword = getEncryptedString (password);
>             System.out.println(encryptedPassword);
>         } catch (Exception e) {
>             throw new Exception  ("Could not write username:password for
> the user " + username + "  "  + e.getMessage());
>
>         }
>
>         if (isDuplicateUsername (username)) {
>             throw new Exception ("Duplication Error : the user already
> exists ");
>         } else {
>             String query = "insert into passwd_tbl values(\'"+username;
>             query += "\',\'"+encryptedPassword+"\')";
>             try {
>                 int a = stm.executeUpdate(query);
>             }catch(SQLException e){
>                 System.out.println(e.toString());
>             }
>         }
>     }
> /*
>     public static void main (String [] args) throws Exception {
>         PasswordEncryptService verify = new PasswordEncryptService ();
> //        System.out.println ("path : " + verify.getFilePath ());
>         if (args.length != 2) {
>             System.out.println ("Usage : java VerifyPasswd <username>
> <password>  ");
>             System.exit (1);
>         }
>
>         String username = args[0];
>         String password = args [1];
> //        String newPwd = args[2];
> //        verify.changePasswd(username,password,newPwd);
>         verify.writeUsernamePassword (username, password);
> //        System.out.println(verify.getEncryptedString(password));
>         boolean isCorrect = verify.isPasswordCorrect (username, password);
>         if (isCorrect)
>             System.out.println ("Access Granted");
>         else
>             System.out.println ("Access Denied ");
>     }
> */
> }
>
>
> _______________________________________________________________________________
>
> This file compiles and runs (when run using java PasswordEncryptService abc
> xyz) as expected.
>
> My jsp file VerifyPassword.jsp that uses this bean is given below. This
> file is placed in the directory
> /usr/local/apache-tomcat-6.0.20/webapps/apps/InfoMgmt/secureNew
>
> <HTML>
> <HEAD>
>
> <TITLE>Creating the New User Account </TITLE>
> </HEAD>
>
> <BODY>
>
> <%@ page import = "beans.*, java.sql.*"%>
>
> <jsp:useBean id="verify" scope="session" class="PasswordEncryptService" />
>
> <jsp:useBean id="error" scope="session" class="ErrorMessageBean" />
>
> <jsp:useBean id="cctry" scope="session" class="ConnectorClassTry" />
>
> <%
>     error.initialise ();
>     error.setUrl ("secureNew/VerifyPassword.jsp");
> %>
>
> <%!
> Statement stmt;
> Connection con=null;
> ResultSet rs;
> String login, passwd,empNum;
> String email;
>     public void jspDestroy(){
>         con = null;
>     }
> %>
>
> <%
>     empNum = null;
>     login = request.getParameter ("login");
>     email = login+"@softjin.com";
>     passwd = request.getParameter("passwd");
>     boolean isCorrect = false;
>     boolean canAccess = false;
> //    isCorrect = true;
>     String referer = request.getHeader("referer");
>     out.println(referer);
>     try {
>         System.out.println(login);
>         isCorrect = verify.isPasswordCorrect(login, passwd);
>     } catch (Exception e) {
>         error.setMessage ("Could not log-in : " + e.getMessage ());
>     %>
>         <jsp:forward page = "Error.jsp" />
>     <%
>     }
>     String query = "select empid from employee_details where loginid = \'"
> + email + "\'";
>     if (isCorrect &&
> (!login.startsWith("librar"))&&(!login.equals("sysadmin")) &&
> (!login.equals("hrmgr")) && (!login.equals("finance")) &&
> (!login.equals("admin"))){
>             con = cctry.getConnection ();
>         try {
>             stmt = con.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE,
> ResultSet.CONCUR_UPDATABLE);
>
>             rs = stmt.executeQuery (query);
>             if (rs.next ()) {  /// If a user exists
> //                session.removeAttribute("empid");
>                 session.setAttribute ("empid" , rs.getString ("empid")) ;
>             } else {
>                 throw new Exception  (" Could not get empid for <B>"  +
> login + "</B>" );
>             }
>         }
>         catch (Exception e ) {
> //            con.close();
> //            stmt.close();
>             error.setMessage ("Error occurred while obtaining empid : " +
> e.getMessage ());
>         %>
>             <jsp:forward page = "Error.jsp"  />
>         <%
>         }
>             /// Clean up
>         finally {
>             try {
>                 rs.close ();
>                 stmt.close ();
>                 con.close ();
>             }catch (Exception e) {
>                 rs = null; con = null; stmt = null;
>             }
>         }
>
>         session.removeAttribute("email");
>         session.setAttribute("email",email);
>         session.removeAttribute("user");
>         session.setAttribute("user",login);
>         canAccess = true;
>     }
>     if(isCorrect &&
> (login.startsWith("librar")||login.equals("sysadmin")||login.equals("hrmgr")||login.equals("finance")||login.equals("admin"))){
>
>         session.removeAttribute("email");
>         session.setAttribute("email",email);
>         session.removeAttribute("user");
>         session.setAttribute("user",login);
>         canAccess = true;
>     }
>     if(canAccess){
>         out.print(login);
>         if(isCorrect){
>             out.print("true");
>         }else{
>             out.print("false");
>         }
>
>         if(login.equals("admin")){
>     %>
>         <jsp:forward page="DifferentFormLinks.jsp" />
>     <%
>         }else
> if(login.startsWith("librar")||login.equals("sysadmin")||login.equals("hrmgr")||login.equals("finance")){
>     %>
>         <jsp:forward page="homepage.jsp" />
>     <%
>         }else{
>             String empId = (String)session.getAttribute("empid");
>
>
> if(referer.endsWith("secureNew/index.jsp")||referer.endsWith("secureNew/index_intab.jsp")||referer.endsWith("secureNew/CreateNewUser.jsp")){
>             %>
>                 <jsp:forward page="homepage.jsp" />
>             <%
>             }
>         }
>     }
>     else{
>         error.setMessage ("Could not log-in : wrong username/password" );
>     %>
>         <jsp:forward page = "Error.jsp" />
>     <%
>     }
> %>
>
> </body>
> </html>
>
>
> Regards,
> Rekha.
>
>
>
> Business Disclaimer
> ____________________________________________________________
> This e-mail message and any files transmitted with it are intended solely
> for  the use  of the  individual or entity  to which they  are  addressed.
> It
> may  contain confidential,  proprietary or legally  privileged
>  information.
> If  you  are  not  the  intended recipient please be advised that you have
> received  this  message in error and any use is strictly prohibited. Please
> immediately  delete it  and all copies of it from your system, destroy any
> hard  copies  of  it and  notify  the  sender  by return mail. You must
> not,
> directly or indirectly, use,  disclose,  distribute, print, or copy any
> part of
> this message if you are not the intended recipient.
> ___________________________________________________________
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

Reply via email to