Help with a simple login servlet

I appreciate any help and assistance you all can give. I'm in an Intro to Java class on Georgia State and have an issue with this servlet I'm building. We're developing a login system where we have an http form pass a studentid and pin number to a servlet, then the servlet will match those inputs against the result set from an access database query using sql. I keep getting an error that will be posted below and I can't see any reason why I'd be getting it. Again any help would be appreciated. Here's the info:
import java.io.*;
import java.util.*;
import java.sql.*; // for JDBC
import javax.servlet.*; // for Servlet
import javax.servlet.http.*; // for HttpServlet
public class StudentLogin extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException{
          //get parameters
                    String aStudentId = (String) request.getParameter("studentid");
          String aPin = (String) request.getParameter("pin");
          //define the data source
                    String url = "jdbc:odbc:CIS3270Project";
                    Connection con = null;
                    Statement stmt;
                    String query;
          ResultSet rs = null;
                    //exception handling
                    try {
                    //load the driver -throws ClassNotFoundException
                    Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
                    catch (ClassNotFoundException cnfe) {
                    System.err.println (cnfe);
     try {
                    con = DriverManager.getConnection (url, "my-user", "my-passwd");
                    // create sql statement
                    stmt = con.createStatement ();
                    query = "SELECT * FROM STUDENT WHERE StudentID='" + aStudentId + "'";
                    // run the query
                    rs = stmt.executeQuery (query);
                    //get data from result set
                         rs.next();
                         String studentId = rs.getString("StudentID");
                         String pin = rs.getString("PIN");
                         System.out.println(studentId);
                         System.out.println(pin);
               catch (SQLException ex) {
                    ex.printStackTrace();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
          //compare form data to result set
if(aPin.equals(pin)){
               System.out.println("Login Successful");
          else{
               System.out.println("Login Failed");
The error is as follows:
StudentLogin.java:58: cannot resolve symbol
symbol : variable pin
location: class StudentLogin
if(aPin.equals(pin)){
^
1 error
I've declared pin and there should be no issue with it using it as an argument in this string comparison. Thanks for any light you can shed on this.
-Matt

Alright, I've broken up the code and made it more modular. Here's my code for my Authenticator class followed by the code in the servlet.
import java.sql.*;
import java.io.*;
import java.util.*;
public class Authenticator{
     //define the data source
     Connection con = null;
     Statement stmt;
     String query;
ResultSet rs = null;
     public void loadDb(){
          try {
               //load the driver -throws ClassNotFoundException
               Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
          catch (ClassNotFoundException cnfe) {
               System.err.println (cnfe);
          try {
               con = DriverManager.getConnection ("jdbc:odbc:CIS3270Project", "my-user", "my-passwd");
          catch (SQLException ex) {
               ex.printStackTrace();
     public void queryDb(String aStudentId){
          try {
               // create sql statement
               stmt = con.createStatement ();
               query = "SELECT * FROM STUDENT WHERE StudentID='" + aStudentId + "'";
               // run the query
               rs = stmt.executeQuery (query);
          catch (SQLException xe) {
               xe.printStackTrace();
          try {
               //get data from result set
               rs.next();
               String studentId = rs.getString("StudentId");
               String pin = rs.getString("PIN");
          catch (SQLException x) {
               x.printStackTrace();
     public void isValid(String aPin){
          if(pin.equals(aPin)){
               System.out.println("Login Successful");
          else{
               System.out.println("Login Failed");
Here's the servlet:
import java.io.*;
import java.util.*;
import java.sql.*; // for JDBC
import javax.servlet.*; // for Servlet
import javax.servlet.http.*; // for HttpServlet
public class StudentLogin extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException{
//get parameters
          String aStudentId = (String) request.getParameter("studentid");
String aPin = (String) request.getParameter("pin");
     Authenticator a = new Authenticator();
     a.loadDb();
     a.queryDb(aStudentId);
     a.isValid(aPin);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
//bunch of HTML output shit goes here
I keep getting an error of cannot resolve symbol in the isValid method. It can't resolve the variable 'pin' from the database query. Does try limit the scope of that variable to only inside that try statement? Thanks for any help you guys can give.

Similar Messages

  • Help with a simple login method..!!

    HI guys, im trying to understand what each line does can sumone please explain??
    all i know is that it is a button event and something happens when the buttonn is pressed...
    private void submitButton_actionPerformed(ActionEvent e)
    String[] data = new String[2];
    data[0] = textLogin.getText();
    if(data[0].length() == 0) return;
    char[] c = textPass.getPassword();
    data[1]= new String(c);
    if(data[1].length()==0) return;
    controller.loginAction(data);

    HI guys, im trying to understand what each line does
    can sumone please explain??
    all i know is that it is a button event and something
    happens when the buttonn is pressed...
    private void submitButton_actionPerformed(ActionEvent
    e)
    String[] data = new String[2];Creates an array of two strings called data
    data[0] = textLogin.getText();assigns the first item of the data array to the login text (username??)
    if(data[0].length() == 0) return;if the length of the first object is 0 then it is supposed to return to the calling function
    char[] c = textPass.getPassword();creates a character array and assigns it the value of the password
    data[1]= new String(c);this assigns the second item of the data array the value of the char array from above
    if(data[1].length()==0) return;if the length of the password is 0 then it returns to the calling function
    controller.loginAction(data);sends the data array as a parameter to another function that seems to do something with the login information (username, and password)
    basically the author is just showing two of the many ways to create a string
    The first way assigns the string value directly. The second way assigns the string value with a char array which is just another form of the String constructor.
    In the end this button is used to verify the username and password entered into the form.

  • Help with a simple 1811 configuration

    I have a very basic level of understanding with Cisco products and I need help with what should be simple and even doable by me.
    I have a Cisco 1811 integrated router and am simply trying to use it on my home network.  I can configure the router with an enable secret password, password encryption, VTY, aux, and cons logins with no issues.  The router has 2 Ethernet interfaces, 0 and 1 and 8 switch ports.
    The idea is to bring Comcast ISP service into one of the Ethernet ports and then have three machines on the switch ports able to access the Internet.  Also I have an off-the shelf wireless router that I thought I would just plug that into an available switch port and allow a wireless AP as well. 
    This is so simply, that I can't believe I can't figure it out, but I can't.
    I set int F1 to DHCP, performed a 'no shut', and connected the ISP's router and have an up and up indication.  I have setup a static network with my three machines on the switch ports and enabled all applicable ports and have up and up indications - however, no traffic flow, even amongst my static Layer 2 switched LAN - not even a 'ping'.  By my understanding of Layer 2, this should work right now, whether the ISP service is working or not - WHAT AM I DOING WRONG?
    The addressing scheme I have ended up on is 172.16.1.0/28
    Obviously without the first hurdle cleared, of why the switched LAN doesn’t work, I haven't got any deeper.  Do I need to configure NAT?  I don't think I would need to in the scenario right?
    All of my experience, and none at the CCNA level, has been with larger Cisco equipment.  One thing I noticed on the 1811 was that when trying to create a new VLAN, it appears to work yet does not do anything and the 'sh vlans' output returns nothing, not even the VLAN1 I can see with 'sh ip int brief". 
    Anyway, if anyone has time to help a newbie out I would appreciate it; I’m lost.
    Thanks,
    Josh

    Thanks for the help Andrew!  You know, I think if this was two separate devices (switch and router) I think I would be up and running, but this integrated stuff is throwing me off, not to mention that the IOS is a much older version (I guess) than what I'm used to. 
    They were throwing this 1811 in the trash can at work, so I just emptied the trash can.  I have no documentation at all but I have since found the 1800 series documentation on Cisco.com and have tried to implement the basic configurations cited; with what seems like success, but still no joy.  I did have to recover the password and did so with 0x2142, I bypassed the setup and compared the default configuration with what is listed in the documentation and they DO NOT match; I also tried to go through setup mode with the same indications.  Additionally I've also learned that the 1800 series is pre-configured on certain options (DHCP, VLAN), which is new to me - I thought Cisco routers were not configured by default - isn't that kind of the point?  (By the way, the below port status may not be correct since I now have all the ports unplugged)
    Anyway, here is the 'show run' command, the 'sh ip int brief' command, followed by the 'sh version' command:
    Show Run
    Casino#sh run                                                                 
    Building configuration...                                                     
    Current configuration : 2006 bytes                                            
    version 12.4                                                                  
    service timestamps debug datetime msec                                        
    service timestamps log datetime msec                                          
    service password-encryption                                                   
    hostname Casino                                                               
    boot-start-marker                                                             
    boot-end-marker                                                               
    enable secret 5 $1$meWw$nsMTp6US7axi/uE0MWULK.                                
    enable password 7 06535E741C1B584C55                                          
    no aaa new-model                                                              
    ip cef                                                                        
    no ip dhcp use vrf connected                                                  
    ip dhcp excluded-address 172.16.1.1                                           
    ip dhcp pool Casino                                                           
       import all                                                                 
       network 172.16.1.0 255.255.255.240                                         
       default-router 67.165.208.1                                                
       dns-server 68.87.89.150                                                    
       domain-name hsd1.co.comcast.net                                            
    no ip domain lookup                                                           
    ip domain name GinRummy.localhost                                             
    ip name-server 68.87.85.102                                                   
    ip name-server 68.87.69.150                                                   
    ip auth-proxy max-nodata-conns 3                                              
    ip admission max-nodata-conns 3                                               
    multilink bundle-name authenticated                                           
    archive                                                                       
    log config                                                                   
      hidekeys                                                                    
    interface Loopback0                                                           
    ip address 172.16.1.1 255.255.255.240                                        
    interface FastEthernet0                                                       
    no ip address                                                                
    shutdown                                                                     
    duplex auto                                                                  
    speed auto                                                                   
    interface FastEthernet1                                                       
    ip address dhcp                                                              
    ip nat outside                                                               
    ip virtual-reassembly                                                        
    duplex auto                                                                  
    speed auto                                                                   
    pppoe enable                                                                 
    pppoe-client dial-pool-number 1                                              
    interface BRI0                                                                
    no ip address                                                                
    encapsulation hdlc                                                           
    shutdown                                                                     
    interface FastEthernet2                                                       
    interface FastEthernet3                                                       
    interface FastEthernet4                                                       
    interface FastEthernet5                                                       
    interface FastEthernet6                                                       
    interface FastEthernet7                                                       
    interface FastEthernet8                                                       
    interface FastEthernet9                                                       
    interface Vlan1                                                               
    no ip address                                                                
    ip nat inside                                                                
    ip virtual-reassembly                                                        
    interface Dialer0                                                             
    ip address negotiated                                                        
    ip mtu 1492                                                                  
    encapsulation ppp                                                            
    dialer pool 1                                                                
    ppp authentication chap                                                      
    ip forward-protocol nd                                                        
    no ip http server                                                             
    no ip http secure-server                                                      
    ip nat pool Casino 172.16.1.2 172.16.1.14 netmask 255.255.255.240             
    ip nat inside source list 1 interface Dialer0 overload                        
    access-list 1 permit 172.16.1.0 0.0.0.15                                      
    dialer-list 1 protocol ip permit                                              
    control-plane                                                                 
    line con 0                                                                    
    password 7 080E5916584B4442435E5C                                            
    login                                                                        
    line aux 0                                                                    
    password 7 013C135C0A59475A70191E                                            
    login                                                                        
    line vty 0 4                                                                  
    password 7 09635B51485756475A5954                                            
    login                                                                        
    end                                                                           
    Show IP Interface Brief
    Casino#sh ip int brief                                                        
    Interface                  IP-Address      OK? Method Status                Prl
    FastEthernet0              unassigned      YES NVRAM  administratively down do
    FastEthernet1              unassigned      YES DHCP   up                    do
    BRI0                       unassigned      YES NVRAM  administratively down do
    BRI0:1                     unassigned      YES unset  administratively down do
    BRI0:2                     unassigned      YES unset  administratively down do
    FastEthernet2              unassigned      YES unset  up                    do
    FastEthernet3              unassigned      YES unset  up                    do
    FastEthernet4              unassigned      YES unset  up                    do
    FastEthernet5              unassigned      YES unset  up                    do
    FastEthernet6              unassigned      YES unset  up                    do
    FastEthernet7              unassigned      YES unset  up                    do
    FastEthernet8              unassigned      YES unset  up                    do
    FastEthernet9              unassigned      YES unset  up                    up
    Vlan1                      unassigned      YES NVRAM  up                    up
    Loopback0                  172.16.1.1      YES manual up                    up
    Dialer0                    unassigned      YES manual up                    up
    NVI0  
    'show version'
    Casino#sh ver                                                                 
    Cisco IOS Software, C181X Software (C181X-ADVIPSERVICESK9-M), Version 12.4(15))
    Technical Support: http://www.cisco.com/techsupport                           
    Copyright (c) 1986-2008 by Cisco Systems, Inc.                                
    Compiled Thu 24-Jan-08 13:05 by prod_rel_team                                 
    ROM: System Bootstrap, Version 12.3(8r)YH12, RELEASE SOFTWARE (fc1)           
    Casino uptime is 52 minutes                                                   
    System returned to ROM by reload at 17:09:25 UTC Fri Jul 1 2011               
    System image file is "flash:c181x-advipservicesk9-mz.124-15.T3.bin"           
    This product contains cryptographic features and is subject to United         
    States and local country laws governing import, export, transfer and          
    use. Delivery of Cisco cryptographic products does not imply                  
    third-party authority to import, export, distribute or use encryption.        
    Importers, exporters, distributors and users are responsible for              
    compliance with U.S. and local country laws. By using this product you        
    agree to comply with applicable laws and regulations. If you are unable       
    to comply with U.S. and local laws, return this product immediately.          
    A summary of U.S. laws governing Cisco cryptographic products may be found at:
    http://www.cisco.com/wwl/export/crypto/tool/stqrg.html                        
    If you require further assistance please contact us by sending email to       
    [email protected].                                                             
    Cisco 1812 (MPC8500) processor (revision 0x400) with 118784K/12288K bytes of m.
    Processor board ID FHK120622J3, with hardware revision 0000                   
    10 FastEthernet interfaces                                                    
    1 ISDN Basic Rate interface                                                   
    31488K bytes of ATA CompactFlash (Read/Write)                                 
    Configuration register is 0x2102  
    Thanks again for your help,
    Josh

  • Need help with a simple process with FTP Adapter and File Adapter

    I am trying out a simple BPEL process that gets a file in opaque mode from a FTP server using a FTP adapter and writes it to the local file system using a File Adapter. However, the file written is always empty (zero bytes). I then tried out the FTPDebatching sample using the same FTP server JNDI name and this work fine surprisingly. I also verified by looking at the FTP server logs that my process actually does hit the FTP server and seems to list the files based on the filtering condition - but it does not issue any GET or RETR commands to actually get the files. I am suspecting that the problem could be in the Receive, Assign or Invoke activities, but I am not able identify what it is.
    I can provide additional info such as the contents of my bpel and wsdl files if needed.
    Would appreciate if someone can help me with this at the earliest.
    Thanks
    Jay

    persiandude wrote:
    Topic: Need help with if, else, and which statements and loops.
    How would I display 60 < temp. <= 85 in java
    System.out.println("60 < temp. <= 85 in java");
    another question is how do I ask a question like want to try again (y/n) after a output and asking that everytime I type in yes after a output and terminate when saying No.Sun's [basic Java tutorial|http://java.sun.com/docs/books/tutorial/]
    Sun's [New To Java Center|http://java.sun.com/learning/new2java/index.html].Includes an overview of what Java is, instructions for setting up Java, an intro to programming (that includes links to the above tutorial or to parts of it), quizzes, a list of resources, and info on certification and courses.
    [http://javaalmanac.com|http://javaalmanac.com]. A couple dozen code examples that supplement [The Java Developers Almanac|http://www.amazon.com/exec/obidos/tg/detail/-/0201752808?v=glance].
    jGuru. A general Java resource site. Includes FAQs, forums, courses, more.
    JavaRanch. To quote the tagline on their homepage: "a friendly place for Java greenhorns." FAQs, forums (moderated, I believe), sample code, all kinds of goodies for newbies. From what I've heard, they live up to the "friendly" claim.
    Bruce Eckel's [Thinking in Java|http://mindview.net/Books/DownloadSites] (Available online.)
    Joshua Bloch's [Effective Java|http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=pd_bbs_1?ie=UTF8&s=books&qid=1214349768&sr=8-1]
    Bert Bates and Kathy Sierra's [Head First Java|http://www.amazon.com/exec/obidos/tg/detail/-/0596004656?v=glance].
    James Gosling's [The Java Programming Language|http://www.bookpool.com/sm/0321349806].

  • What's wrong with a simple login.jspx?

    Hello,
    I wrote a simple login.jspx page by following the indications at http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/adding_security.htm#BABDEICH
    Now, the page works with Firefox 5, but does not with IE 7. When under IE 7, the page keeps reloading giving errors about *"AdfBootStrap undefined*" or *"AdfLogger undefined".*
    What is wrong? Please note that I have already read all the threads on the forum about this issue, without actually solving my problem (I have not really seen any useful solutions there to be honest).
    Jdeveloper is 11.1.1.5.0, only adf authentication is enabled.
    The error messages are like the following ones:
    http://forums.oracle.com/forums/thread.jspa?threadID=952977&tstart=29
    thanks.
    Edited by: user10047839 on 27-giu-2011 8.07
    Changing from jspx to jsp does not solve the problem.

    Hello codeplay,
    in the source code of the page I have the following similar to your line:
    <script type="text/javascript" src="/Myapp/afr/partition/ie/default/opt/boot-11.1.1.5.0-1095.js"></script>
    No lines with SHERMAN inside.
    I could not open "/Myapp/afr/partition/ie/default/opt/boot-11.1.1.5.0-1095.js" or
    "afr/partition/ie/default/opt/boot-11.1.1.5.0-1095.js". Page not found
    Why does it happen with login page only?
    In firefox, as opposite to ie, where the page is rendered a little better (not as good as it should be though, due to these problems), I can login and be redirected to the secured main page, which is another .jsp, more complex than the simple login page, and there I have no problems at all.
    I noticed that the badly rendered page has a link pointing to the generated html below. NOTE that JavaScript IS ENABLED in my IE despite what this html says at the end. I checked this twice:
    WHAT IS WRONG??????????
    <html lang="en-EN"><head><script>
    ** Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
    * This is the loopback script to process the url before the real page loads. It introduces
    * a separate round trip. During this first roundtrip, we currently do two things:
    * - check the url hash portion, this is for the PPR Navigation.
    * - do the new window detection
    * the above two are both controled by parameters in web.xml
    * Since it's very lightweight, so the network latency is the only impact.
    * here are the list of will-pass-in parameters (these will replace the param in this whole
    * pattern:
    * viewIdLength view Id length (characters),
    * loopbackIdParam loopback Id param name,
    * loopbackId loopback Id,
    * loopbackIdParamMatchExpr loopback Id match expression,
    * windowModeIdParam window mode param name,
    * windowModeParamMatchExpr window mode match expression,
    * clientWindowIdParam client window Id param name,
    * clientWindowIdParamMatchExpr client window Id match expression,
    * windowId window Id,
    * initPageLaunch initPageLaunch,
    * enableNewWindowDetect whether we want to enable new window detection
    * jsessionId session Id that needs to be appended to the redirect URL
    * enablePPRNav whether we want to enable PPR Navigation
    var id = null;
    var query = null;
    var href = document.location.href;
    var hashIndex = href.indexOf("#");
    var hash = null;
    /* process the hash part of the url, split the url */
    if (hashIndex > 0)
    hash = href.substring(hashIndex + 1);
    /* only analyze hash when pprNav is on (bug 8832771) */
    if (false && hash && hash.length > 0)
    hash = decodeURIComponent(hash);
    if (hash.charAt(0) == "@")
    query = hash.substring(1);
    else
    var state = hash.split("@");
    id = state[0];
    query = state[1];
    href = href.substring(0, hashIndex);
    /* process the query part */
    var queryIndex = href.indexOf("?");
    if (queryIndex > 0)
    /* only when pprNav is on, we take in the query from the hash portion */
    query = (query || (id && id.length>0))? query: href.substring(queryIndex);
    href = href.substring(0, queryIndex);
    var jsessionIndex = href.indexOf(';');
    if (jsessionIndex > 0)
    href = href.substring(0, jsessionIndex);
    /* we will replace the viewId only when pprNav is turned on (bug 8832771) */
    if (false)
    if (id != null && id.length > 0)
    href = href.substring(0, href.length - 10) + id;
    var isSet = false;
    if (query == null || query.length == 0)
    query = "?";
    else if (query.indexOf("_afrLoop=") >= 0)
    isSet = true;
    query = query.replace(/_afrLoop=[^&]*/, "_afrLoop=12570889997779");
    else
    query += "&";
    if (!isSet)
    query = query += "_afrLoop=12570889997779";
    /* below is the new window detection logic */
    var initWindowName = "_afr_init_"; // temporary window name set to a new window
    var windowName = window.name;
    // if the window name is "_afr_init_", treat it as redirect case of a new window
    if ((true) && (!windowName || windowName==initWindowName ||
    windowName!="1bvr27bkx4_1"))
    /* append the _afrWindowMode param */
    var windowMode;
    if (false)
    /* this is the initial page launch case,
    also this could be that we couldn't detect the real windowId from the server side */
    windowMode=0;
    else if ((href.indexOf("/__ADFvDlg__") > 0) || (query.indexOf("__ADFvDlg__") >= 0))
    /* this is the dialog case */
    windowMode=1;
    else
    /* this is the ctrl-N case */
    windowMode=2;
    if (query.indexOf("_afrWindowMode=") >= 0)
    query = query.replace(/_afrWindowMode=[^&]*/, "_afrWindowMode="+windowMode);
    else
    query = query += "&_afrWindowMode="+windowMode;
    /* append the _afrWindowId param */
    var clientWindowId;
    /* in case we couldn't detect the windowId from the server side */
    if (!windowName || windowName == initWindowName)
    clientWindowId = "null";
    // set window name to an initial name so we can figure out whether a page is loaded from
    // cache when doing Ctrl+N with IE
    window.name = initWindowName;
    else
    clientWindowId = windowName;
    if (query.indexOf("_afrWindowId=") >= 0)
    query = query.replace(/_afrWindowId=\w*/, "_afrWindowId="+clientWindowId);
    else
    query = query += "&_afrWindowId="+clientWindowId;
    var sess = "";
    if (sess.length > 0)
    href += sess;
    /* if pprNav is on, then the hash portion should have already been processed */
    if ((false) || (hash == null))
    document.location.replace(href + query);
    else
    document.location.replace(href + query + "#" + hash);
    </script><noscript>JavaScript is not enabled in your browser.</noscript></head></html>

  • Need help with a simple basketball game.

    Hi im new here and I need help with making this simple basketball game.
    Im trying to recreate this game from this video. Im not sure if he is using as2 or as3
    Or if anyone could help me make a game like this or direct me to a link on how to do it It would be greatly appreciated.

    If you couldn't tell whether it is AS2 or AS3, it is doubtful you can turn it from AS2 into AS3, at least not until you learn both languages.  There is no tool made that does it for you.

  • Getting error 404 when iam running a simple login servlet in tomcat

    hi
    this is my Login.java
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    public class Login extends HttpServlet
         public void doPost(HttpServletRequest rq, HttpServletResponse rs)
              String username =rq.getParameter("username");
              String password =rq.getParameter("password");
    try{
              rs.setContentType("text/html");
              PrintWriter out=rs.getWriter();
              out.println("<html><body>");
              out.println("thank u, " + username + "you r logged sucessfully");
              out.println("</body></html>");
              out.close();
              }catch(Exception e){
                   e.printStackTrace();
    i have saved in the form ofC:\Program Files\apache-tomcat-4.1\webapps\sravan\WEB-INF\classes\Login.class
    where sravan is my folder
    step 2: Login.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>login page</title></head>
    <body>
    <h1> WELCOME TO THE SERVLET HOME PAGE</h1>
    ENTER UR USERNAME AND PASSWORD
    <form action="/sravan/Login" method="Post">
         username<input type="text" name="username" >
         password<input type="password" name="password" >
         <input type="submit" value="submit"></form>
         </body>
    </html>
    i have saved in the form C:\Program Files\apache-tomcat-4.1\webapps\sravan\Login.html
    step3:
    my web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>beginning j2ee</display-name>
    <servlet>
    <servlet-name>Login</servlet-name>
    <servlet-class>Login</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>Login</url-pattern>
    </servlet-mapping>
    </web-app>
    i have saved in C:\Program Files\apache-tomcat-4.1\webapps\sravan\WEB-INF\web.xml
    step4:
    here is my server.xml
    <Context path="/sravan" docBase="sravan" debug="0" reloadable="true" privileged="true"/>
    saved in C:\Program Files\apache-tomcat-4.1\webapps\sravan\WEB-INF\server.xml
    everything is fine....program is compiled ...but when iam running the servlet in tomcat iam getting error 404 Login.html not found....
    so plz kindly help me this my first servlet .....

    There seems not to be any '.html' in your url-pattern
    <url-pattern>Login</url-pattern>- so i presume you should use
    http://yourhost/Logininstead.

  • Need help with a simple program (should be simple anyway)

    I'm (starting to begin) writing a nice simple program that should be easy however I'm stuck on how to make the "New" button in the file menu clear all the fields. Any help? I'll attach the code below.
    ====================================================
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Message extends JFrame implements ActionListener {
         public void actionPerformed(ActionEvent evt) {
         text1.setText(" ");
         text2.setText("RE: ");
         text3.setText(" ");
         public Message() {
         super("Write a Message - by Kieran Hannigan");
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setSize(370,270);
         FlowLayout flo = new FlowLayout(FlowLayout.RIGHT);
         setLayout(flo);
         //Make the bar
         JMenuBar bar = new JMenuBar();
         //Make "File" on Menu
         JMenu File = new JMenu("File");
         JMenuItem f1 = new JMenuItem("New");f1.addActionListener(this);
         JMenuItem f2 = new JMenuItem("Open");
         JMenuItem f3 = new JMenuItem("Save");
         JMenuItem f4 = new JMenuItem("Save As");
         JMenuItem f5 = new JMenuItem("Exit");
         File.add(f1);
         File.add(f2);
         File.add(f3);
         File.add(f4);
         File.add(f5);
         bar.add(File);
         //Make "Edit" on menu
         JMenu Edit = new JMenu("Edit");
         JMenuItem e1 = new JMenuItem("Cut");
         JMenuItem e2 = new JMenuItem("Paste");
         JMenuItem e3 = new JMenuItem("Copy");
         JMenuItem e4 = new JMenuItem("Repeat");
         JMenuItem e5 = new JMenuItem("Undo");
         Edit.add(e5);
         Edit.add(e4);
         Edit.add(e1);
         Edit.add(e3);
         Edit.add(e2);
         bar.add(Edit);
         //Make "View" on menu
         JMenu View = new JMenu("View");
         JMenuItem v1 = new JMenuItem("Bold");
         JMenuItem v2 = new JMenuItem("Italic");
         JMenuItem v3 = new JMenuItem("Normal");
         JMenuItem v4 = new JMenuItem("Bold-Italic");
         View.add(v1);
         View.add(v2);
         View.add(v3);
         View.addSeparator();
         View.add(v4);
         bar.add(View);
         //Make "Help" on menu
         JMenu Help = new JMenu("Help");
         JMenuItem h1 = new JMenuItem("Help Online");
         JMenuItem h2 = new JMenuItem("E-mail Programmer");
         Help.add(h1);
         Help.add(h2);
         bar.add(Help);
         setJMenuBar(bar);
         //Make Contents of window.
         //Make "Subject" text field
         JPanel row2 = new JPanel();
         JLabel sublabel = new JLabel("Subject:");
         row2.add(sublabel);
         JTextField text2 = new JTextField("RE:",24);
         row2.add(text2);
         //Make "To" text field
         JPanel row1 = new JPanel();
         JLabel tolabel = new JLabel("To:");
         row1.add(tolabel);
         JTextField text1 = new JTextField(24);
         row1.add(text1);
         //Make "Message" text area
         JPanel row3 = new JPanel();
         JLabel Meslabel = new JLabel("Message:");
         row3.add(Meslabel);
         JTextArea text3 = new JTextArea(6,22);
         messagearea.setLineWrap(true);
         messagearea.setWrapStyleWord(true);
         JScrollPane scroll = new JScrollPane(text3,
                                  JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                                  JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
         //SpaceLine
         JPanel spaceline = new JPanel();
         JLabel spacer = new JLabel(" ");
         spaceline.add(spacer);
         row3.add(scroll);
         add(row1);
         add(row2);
         add(spaceline);
         add(spaceline);
         add(row3);
         setVisible(true);
         public static void main(String[] arguments) {
         Message Message = new Message();
    }

    persiandude wrote:
    Topic: Need help with if, else, and which statements and loops.
    How would I display 60 < temp. <= 85 in java
    System.out.println("60 < temp. <= 85 in java");
    another question is how do I ask a question like want to try again (y/n) after a output and asking that everytime I type in yes after a output and terminate when saying No.Sun's [basic Java tutorial|http://java.sun.com/docs/books/tutorial/]
    Sun's [New To Java Center|http://java.sun.com/learning/new2java/index.html].Includes an overview of what Java is, instructions for setting up Java, an intro to programming (that includes links to the above tutorial or to parts of it), quizzes, a list of resources, and info on certification and courses.
    [http://javaalmanac.com|http://javaalmanac.com]. A couple dozen code examples that supplement [The Java Developers Almanac|http://www.amazon.com/exec/obidos/tg/detail/-/0201752808?v=glance].
    jGuru. A general Java resource site. Includes FAQs, forums, courses, more.
    JavaRanch. To quote the tagline on their homepage: "a friendly place for Java greenhorns." FAQs, forums (moderated, I believe), sample code, all kinds of goodies for newbies. From what I've heard, they live up to the "friendly" claim.
    Bruce Eckel's [Thinking in Java|http://mindview.net/Books/DownloadSites] (Available online.)
    Joshua Bloch's [Effective Java|http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=pd_bbs_1?ie=UTF8&s=books&qid=1214349768&sr=8-1]
    Bert Bates and Kathy Sierra's [Head First Java|http://www.amazon.com/exec/obidos/tg/detail/-/0596004656?v=glance].
    James Gosling's [The Java Programming Language|http://www.bookpool.com/sm/0321349806].

  • Help with a simple program.

    I need some help writing a simple program. Can anybody help??
    thanks to all.
    2. HTML Java Source Code Reserved Word Highlighter
    Write a program that inputs a Java source code file and outputs a copy of that file with Java keywords surrounded with HTML tags for bold type. For example this input:
    public class JavaSource
    public static void main ( String[] args )
    if ( args.length == 3 )
    new BigObject();
    else
    System.out.println("Too few arguments.");
    will be transformed into:
    <B>public</B> <B>class</B> JavaSource
    <B>public</B> <B>static</B> <B>void</B> main ( String[] args )
    <B>if</B> ( args.length == 3 )
    <B>new</B> BigObject();
    <B>else</B>
    System.out.println("Too few arguments.");
    In a browser the code will look like this:
    public class JavaSource
    public static void main ( String[] args )
    if ( args.length == 3 )
    new BigObject();
    else
    System.out.println("Too few arguments.");

    Here is something that may get you started...
    import java.io.*; 
    import java.util.*; 
    public class HtmlJava{
         public static void main(String arg[]){
              if(arg.length!=1){
                   System.out.println("Usage java HtmlJava sourceFile");       
              else
                   new HtmlJava(arg[0]);
         HtmlJava(String source){
              try{
                   BufferedReader sourceReader=new BufferedReader(new InputStreamReader(new FileInputStream(source)));
                   BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(source+"Html.txt")));  
                   Vector keywords=new Vector();
                   addKeywords(keywords);
                   String line;
                   StringTokenizer tokenizer=null;
                   String word;
                   while((line=sourceReader.readLine () )!=null){
                        tokenizer=new StringTokenizer(line);
                        while(tokenizer.hasMoreTokens()){
                             word=tokenizer.nextToken();
                             if(keywords.contains(word)){
                                  writer.write(""+word+" ");
                             else{
                                  writer.write(word+" ");
                        writer.write("\r\n");
                   writer.close();
                   sourceReader.close(); 
                   System.out.println("Output File written to "+source+"Html.txt"); 
              catch(Exception ex){
                   ex.printStackTrace();      
         private void addKeywords(Vector keywords){
              keywords.addElement ( "abstract");
              keywords.addElement( "boolean");
              keywords.addElement( "break");
              keywords.addElement( "byte");
              keywords.addElement( "byvalue");
              keywords.addElement( "case");
              keywords.addElement( "cast");
              keywords.addElement( "catch");
              keywords.addElement( "char");
              keywords.addElement( "class");
              keywords.addElement( "const");
              keywords.addElement( "continue");
              keywords.addElement( "default");
              keywords.addElement( "do");
              keywords.addElement( "double");
              keywords.addElement( "else");
              keywords.addElement( "extends");
              keywords.addElement( "false");
              keywords.addElement( "final");
              keywords.addElement( "finally");
              keywords.addElement( "float");
              keywords.addElement( "for");
              keywords.addElement( "future");
              keywords.addElement( "generic");
              keywords.addElement( "goto");
              keywords.addElement( "if");
              keywords.addElement( "implements");
              keywords.addElement( "import");
              keywords.addElement( "inner");
              keywords.addElement( "instanceof");
              keywords.addElement( "int");
              keywords.addElement( "interface");
              keywords.addElement( "long");
              keywords.addElement( "native");
              keywords.addElement( "new");
              keywords.addElement( "null");
              keywords.addElement( "operator");
              keywords.addElement( "outer");
              keywords.addElement( "package");
              keywords.addElement( "private");
              keywords.addElement( "protected");
              keywords.addElement( "public");
              keywords.addElement( "rest");
              keywords.addElement( "return");
              keywords.addElement( "short");
              keywords.addElement( "static");
              keywords.addElement( "super");
              keywords.addElement( "switch");
              keywords.addElement( "synchronized");
              keywords.addElement( "this");
              keywords.addElement( "throw");
              keywords.addElement( "throws");
              keywords.addElement( "transient");
              keywords.addElement( "true");
              keywords.addElement( "try");
              keywords.addElement( "var");
              keywords.addElement( "void");
              keywords.addElement( "volatile");
              keywords.addElement( "while");
    }Hope it helped

  • Help with some simple coding

    Hello
    I am very new to Java and am currently studying a course in the language.
    I am working through a tutorial at the moment and a question has been asked and I am struggling a bit
    I have been given the code to a program that creates a window with a ball bouncing around inside the window.
    There are 2 classes (code below) - Call class - this contains all the code need to create the ball and BallWorld Class (the main Class) this create the window and moves the ball, it also detects if the ball hits the edge of the window, whne this happens it redirects the ball. I understand how all this code works
    I have been asked the following:-
    Rather than testing whether or not the ball has hit the wall in the nmain program, we could use inhertitance to provide a specialized forom of Ball. Create a class BoundedBall that inherits from the class Ball. The constructor for this class should provide the height and width of the window, which should be maintained as data fields in the class, rewrite the move method so that the ball moves outside the bound, it automatically reflects its direction. Finally rewrite the BallWorld class to use an instance of BoundedBall rather than ordianary Ball, and elimiante the bounds test in the main program.
    I am having trouble with this and I can not get my code to work, I think I may be going in completly the wrong direction with the code can sombody please provide me with a simple working code for both the BoundedBall and ammended BallWorld class, as this will help me understand whare I am going wrong
    Ball class
    //a generic round colored object that moves
    import java.awt.*;
    public class Ball {
    public Ball (Point lc, int r) {     //constructor for new ball
         //ball centre at point loc, radius rad
         loc = lc;
         rad = r;
    protected Point loc; //position in window
    protected int rad; //radius of ball
    protected double changeInX = 0.0; //horizontal change in ball position in one cycle
    protected double changeInY = 0.0; //vertical change in ball position in one cycle
    protected Color color = Color.blue; //colour of ball
    //methods that set attributes of ball
    public void setColor(Color newColor) {color = newColor;}
    public void setMotion(double dx,double dy)
    {changeInX = dx; changeInY = dy;}
    //methods that access attributes of ball
    public int radius() {return rad;}
    public Point location() {return loc;}
    //methods to reverse motion of the ball
    public void reflectVert(){ changeInY = -changeInY; }
    public void reflectHorz(){ changeInX = -changeInX; }
    //methods to move the ball
    public void moveTo(int x, int y) {loc.move(x,y);}
    public void move(){loc.translate((int)changeInX, (int)changeInY);}
    //method to display ball
    public void paint (Graphics g) {
    g.setColor(color);
    g.fillOval(loc.x-rad, loc.y-rad, 2*rad, 2*rad);
    BallWorld class
    //A bouncing ball animation
    import java.awt.*;          //import the awt package
    import javax.swing.JFrame;     //import the JFrame class from the swing package
    public class BallWorld extends JFrame{
         public static void main (String [] args){
              BallWorld world = new BallWorld(Color.red);
              world.show();
    for(int i = 0; i < 1000; i++) world.run();
    System.exit(0);
         public static final int FrameWidth = 600;
         public static final int FrameHeight = 400;
    private Ball aBall = new Ball(new Point (50,50),20);
         private BallWorld(Color ballColor) {     //constructor for new window
              //resize frame, initialize title
         setSize(FrameWidth, FrameHeight);
         setTitle("Ball World");
    //set colour and motion of ball
         aBall.setColor(ballColor);
         aBall.setMotion(3.0, 6.0);
         public void paint (Graphics g) {
    //first draw the ball
    super.paint(g);
         aBall.paint(g);
    public void run(){
              //move ball slightly
         aBall.move();
    Point pos =aBall.location();
    if ((pos.x < aBall.radius()) ||
    (pos.x > FrameWidth - aBall.radius()))
    aBall.reflectHorz();
    if ((pos.y < aBall.radius()) ||
    (pos.y > FrameHeight - aBall.radius()))
    aBall.reflectVert();
    repaint();
    try{
    Thread.sleep(50);
    } catch(InterruptedException e) {System.exit(0);}

    Here - you can study this :0))import java.awt.*;
    import javax.swing.*;
    public class MovingBall extends JFrame {
       mapPanel map   = new mapPanel();
       public MovingBall() {
          setBounds(10,10,400,300);
          setContentPane(map);
       public class mapPanel extends JPanel {
          Ball ball  = new Ball(this);
          public void paintComponent(Graphics g) {
            super.paintComponent(g);
            ball.paint(g);
    public class Ball extends Thread {
       mapPanel map;
       int x  = 200, y = 20, xi = 1, yi = 1;
    public Ball(mapPanel m) {
       map = m;
       start();
    public synchronized void run(){
       while (true) {
          try{
            sleep(10);
          catch(InterruptedException i){
            System.out.print("Interrupted: ");
          move();
    public void move() {
        map.repaint(x-1,y-1,22,22);
           if (x > map.getWidth()-20 || x < 0)  xi = xi*-1;
           if (y > map.getHeight()-20 || y < 0) yi = yi*-1;
           x = x + xi;
           y = y + yi;
           map.repaint(x-1,y-1,22,22);
        public void paint(Graphics g) {
           Graphics2D g2 = (Graphics2D)g;
           g2.setColor(Color.red);
           g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                               RenderingHints.VALUE_ANTIALIAS_ON);
           g2.fillOval(x,y,20,20);
           g2.dispose();
    public static void main(String[] args) {
       new MovingBall().show();
    }

  • Help with some java login code

    hey,
    I am a new member but used to visit the site regularly. I am undergoing a java project and I cannot seem to get my head around how to code when users log in, there name must appear at the top of each page they visit.
    User enters name into a text box. Do I use getter and setter methods? any bit of help would be of some advantage to me.
    Thanks for your time and I'll help with anyone else who is stuck.

    if JSP or servlet use Session...
    if you are using frame you have to consider... which frame is a top parent. that top frame will have the set and get method.. for you to set and retrieve the user name.. bear in mind that different object will have different user...
    so you have to play fair game ...hehehehe :-)

  • Can someone help with this simple application

    I am taking my first java class and there are limited resourses for the class as far as getting help with coding.
    Any hoo if any one can point me in the correct direction from the following information listed below I would be greatfull. I am trying to use the set and get methods on the instance veriables and then I am goign to post the results once I get them workign to a JOption pane window.
    examples are most welcome thanks
    // Invoice.java
    // Homework assignment 3.13
    // Student Arthur Clark
    public class Invoice // public class
    String partNumber;// instance veriable quantity
    String partDescription;// instance verialbe partDescription
    //constructors
    public void setpartNumber( String number, String description )
              partNumber = number; //initalize quantity
              partDescription = description; // initalize partDescription
         }// end constructors
    //method getpartNumber
    public String getpartNumber()
              return partNumber;
         }//end method getpartNumber
    public String getpartDescription()
              return partDescription;
         }// end method getpartDescription
    public void displayMessage()
         //this is the statement that calls getpartNumber
         System.out.printf(" part number # \n%s!\n the description", getpartNumber(), getpartDescription() );
    } // method displaMessage
    }// end method main
    // Fig. 3.14 InvoiceTest.java
    // Careate and manipulate an account object
    import java.util.Scanner;
    import javax.swing.JOptionPane;//import JOptionPane
    public class InvoiceTest{
         // main method begins the exciution of the program
         public static void main ( String args [] )
              // create Scanner to obtain input from mommand window
              Scanner input = new Scanner ( System.in );
              // create a Invoice object and assig it to mymethod
              Invoice myMethod = new Invoice();
              Invoice myMethod2 = new Invoice();
              // display inital value of partName, partDescriptoin
              System.out.printf( "inital partname is %s\n\n", myMethod.getpartNumber() );
              // prompt for and read part name, partDescription
              System.out.println( "please enter the Part Number:" );
              String theNumber = input.nextLine(); // read a line of text
              myMethod.setpartNumber( theNumber ); // set the part name with in the parens
              System.out.println();// outputs blank line
              myMethod.displayMessage();
              System.out.println( "please enter the Part Description" );
              String theDescription = input.nextLine(); // read a line of text
              myMethod2.setpartDescription( theDescription );// set the part description
              System.out.println();// outputs blank line
              myMethod2.displayMessage();
         }// end main mehtod
    }// end class

    //constructors
    public void setpartNumber( String number, String description )
              partNumber = number; //initalize quantity
              partDescription = description; // initalize partDescription
         }// end constructorsThe above code is not a constructor. You do not include a return type, void or anything else. Also, the constructor should be called the same as your class.
    public Invoice( String number, String description )
              partNumber = number;
              partDescription = description;
         } Another thing, comments should only be used when it isn't bleedingly obvious what your code is doing.
    P.S. is your middle initial C?

  • Im DROWNING! need help with a simple java assignment! plz someone help me!

    i need help with my java assignment, with validating a sin number. easy for must who know java. im drowning... please help!

    You will need to store each digit of the social insurance number in a field of its own. To validate the entry you will:
    1. Multiply the 2nd, 4th, 6th and 8th digit by 2.
    2. If the product of any of the four multiplications result in a value greater than 9, add the two resulting digits together to yield a single-digit response. For example 6 * 2 = 12, so you would add the 1 and the 2 to get a result of 3.
    3. Add these four calculated values together, along with the 1st, 3rd, 5th, and 7th digits of the original number.
    4. Subtract this sum from the next highest multiple of 10.
    5. The difference should be equal to the 9th digit, which is considered the check digit.
    Example of validating S.I.N. 765932546
    1st digit 7
    2nd digit (6*2 =12 1+2=) 3
    3rd digit 5
    4th digit (9*2 = 18 1+8 =) 9
    5th digit 3
    6th digit (2*2 = 4) 4
    7th digit 5
    8th digit (4*2 = 8) 8
    Total 44 next multiple of 10 is 50
    50-44 = 6 which is the 9th digit
    Therefore the S.I.N. 765932546 is Valid
    ********* SIN Validation *********
    Welcome - Please enter the first number: 120406780
    Second digit value multiplied by 2 4
    Fourth digit value multiplied by 2 8
    Sixth digit value multiplied by 2 12
    Eighth digit value multiplied by 2 16
    Value derived from 6th digit 3
    Value derived from 8th digit 7
    The total is 30
    Calculated digit is 10
    Check digit must be zero because calculated value is 10
    The SIN 120406780 is Valid
    this is my assignemtn this is what i have! i dont know where to start! please help me!
    /*     File:     sinnumber.java
         Author:     Ashley
         Date:     October 2006
         Purpose: Lab1
    import java.util.Scanner;
    public class Lab1
              public static void main(String[] args)
                   Scanner input = new Scanner(System.in);
                   int sin = 0;
                   int number0, number1, number2, number3, number4, number5, number6, number7, number8;
                   int count = 0;
                   int second, fourth, sixth, eighth;
                   System.out.print("\t\n**********************************");
                   System.out.print("\t\n**********SIN Validation**********");
                   System.out.print("\t\n**********************************");
                   System.out.println("\t\nPlease enter the First sin number: ");
                   sin = input.nextInt();
                   count = int.length(sin);     
                   if (count > 8 || count < 8)
                   System.out.print("Valid: ");
         }

  • Please help with the simple servlet

    hi all......
    i am trying to write a servlet that accepts parameters from html and validates it against database and displays if the user is valid or not....
    but my code always displays invalid user..........i don't know where i am going wrong.........kindly help
    html code:
    <html>
    <body>
    <form action=/LoginServlet>
    <p><h1>
    username:<input type=text name=nm>
    <p>password:<input type=text name=pwd>
    <p>
    <input type=submit value=Login>
    </form>
    </body>
    </html>
    servlet code:
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.sql.*;
    public class name1 extends HttpServlet {
         public void doGet(HttpServletRequest req,HttpServletResponse
    res) throws ServletException,IOException {
         try {
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         Connection con =
    DriverManager.getConnection("jdbc:odbc:nmpwd");
         Statement stmt = con.createStatement();
         res.setContentType("text/html");
         PrintWriter out = res.getWriter();
         ResultSet rs;
         String r = req.getParameter("nm");
         String r1 = req.getParameter("pwd");
         String query="select * from namep";
         rs = stmt.executeQuery(query);
         String s="",s1="";
         while(rs.next())
              s = rs.getString(1);
              s1 = rs.getString(2);
         if(r.equals(s)&&r1.equals(s1))
              out.println("VALID USER");
         else
              out.println("INVALID USER");
         con.close();
         }catch(Exception e) { }
    }

    The JSP code is correct. Please change the servlet code. I have done the changes. It's Working correctly now.
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.sql.*;
    public class LoginServlet extends HttpServlet
    public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
              System.out.println("Entered Servlet");
              try
                   Class.forName("oracle.jdbc.driver.OracleDriver");
                   Connection con = DriverManager.getConnection("jdbc:oracle:thin:@bslblrora9i:1521:blrora1","javauser","javauser");
                   res.setContentType("text/html");
                   PrintWriter out = res.getWriter();
                   ResultSet rs=null;
                   String r = req.getParameter("nm");
                   String r1 = req.getParameter("pwd");
                   PreparedStatement stmt=con.prepareStatement("SELECT * FROM NAMEP");
                   rs=stmt.executeQuery();
                   int flag=0;
                   String s="";
                   String s1="";
                   while (rs.next())
                        s=rs.getString(1);
                        s1=rs.getString(2);
                        if (r.equals(s))
                             if (r1.equals(s1))
                                  flag=1;
                   if (flag==1)
                        out.println("valid User");
                   else
                        out.println("Invalid User");
                   con.commit();
                   con.close();
              catch(Exception e)
                   System.out.println("Error "+e);
    }

  • Help with implementing a login page - ADF Faces & 10.1.3

    I am having trouble getting a basic login page working and am hoping someone can help. I'd like to have a login page with username and password fields and a submit button. When submitted, I would like to authenticate the user and either send them to a second page if I find the username & password, or return them to the login page and display a global JSF message if I can't find the username/password info. Pretty standard stuff.
    I've got an app module that contains a read-only view object, which has a custom method (in MyViewImpl.java) that checks the username & password against a database table and returns a boolean. I don't have an entity object since it's a read-only view.
    I've tried 2 different approaches:
    1) Binding the username and pw inputText fields to the parameters of my custom method, and binding the submit button to the custom method, all done by drag and drop from my data controls.
    The problem with this approach is that I cannot figure out how to set the global message if the username/password combo is invalid. Once my method is invoked, it returns an "action" String and page navigation occurs (In this case, I have my custom method return a String instead of a boolean). If login fails, at what point do I set the global message?
    2) Using a backing bean for my login page and binding the fields and the button to the bean, and setting the button's action to a method in the bean, which then calls my custom method. Finally, either set the message or navigate based on the boolean returned from my method.
    This seems the better approach, since it keeps the navigation and error message in the ViewController. The problem here is that I can't figure out how to call my custom method from my backing bean. I've seen a few examples, including one using a managed property and calling the action binding's invoke() method, but haven't had any luck (see #51 on this page: http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html). The invoke() method does not return a value, so I cannot get the boolean value I need.
    So, I'm apparently missing a piece (or two or three) of the puzzle here. Any guidance is most welcome! And I'm fine with changing any piece of this puzzle if there's a better way of accomplishing this.
    Thanks,
    Andy

    Frank,
    Thanks for your reply. I'm not sure if container managed authentication is a good fit or not for my current application, so I will have to look into the details of how it works. Thanks for the suggestion. Whether I use it or not, I will still need to authenticate against a database and not a flat file due to the fact that users may come and go and change passwords frequently, and my application will not be handling the management of that.
    So, I would be still left with the task of accessing the ViewObject and navigating/displaying a message based on the results of that lookup. Fortunately, after slogging through my code and consulting the ADF documentation that is scattered throughout the Oracle website, I was able to get the login page working as I wanted (I found the "Accessing Bindings and Binding Containers from JSF Backing Beans" section of http://www.oracle.com/technology/products/jdev/tips/muench/1013eabinding/index.html to be especially helpful). I used the submit button's action to call a method in the backing bean that sent the username and password to my application module's custom authentication method. When I got the boolean result, I either returned a "success" action or set a global JSF message and returned "null".
    Needless to say, I am looking forward to the ADF/JSF version of the Toystore application, along with some sort of comprehensive framework documentation.
    Thanks,
    Andy

Maybe you are looking for

  • Can't find profiles in Mac OS Lion, even in hidden Library

    I cannot locate the firefox profile file on Mac OS Lion. I know how to unhide the Library folder. I have done Go/Go to folder//Users/YOUR USER/Library/Application Support/Firefox/Profiles It says file not found. Where is it? I can't find it in backup

  • [BUG] Photoshop CC crashed immediately after selecting NVIDIA GeForce GTX 680M GPU

    I just started using Photoshop CC trial and I immediately ran into problem with my video card. First Photoshop doesn't recognized my GPU which is Nvidia GTX 680M. I'm using a new Alienware R4 with Win8 pro, I then searched the forum and followed this

  • Unable to access integration server..

    Hello,   We are having a very weird problem...The AFW is not able to access the integration server and spits out a message in the Audit log as "Transmitting the message to endpoint http://xis8811:8000/xi/engine?type=entry using connection AFW failed,

  • PROBLEM TO COMBINE MY FLASH PROJECT

    hi guys...i'm newbie using flash cs4.so i learned using flash book "flash cs4 classroom in a book".the problem is i have 4 flash works that contain videos,sounds,photos, and many more.then when i combine it and play,then i click to go to 1st page.but

  • Hal start failure,relogin gdm,and cant see gnome desktop

    Hal start failure,relogin gdm,and cant see gnome desktop When system start ,I can see gdm. When you enter a user and name password to login the desktop, the screen flash, immediately logout from the desktop,Back to the login interface. manual start h