Redirect url if invalid entry into URL

Discussion in 'Java' started by teser3@hotmail.com, May 18, 2007.

  1. Guest

    The below Pagination works great using a Servlet where page number is
    entered in the url and has to be a digit:
    http://127.0.0.1:8080/theWeb/mypackage/page/1

    But sometimes someone might manually input a non digit entry (
    http://127.0.0.1:8080/theWeb/mypackage/page/2d ) in the URL and it
    will ge me error message:
    java.lang.NumberFormatException: For input string: "2d"


    Here is the Servlet and I cant seem to create a redirect message if
    someone enters a non digit number:

    package mypackage;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import java.sql.*;


    public class TheServlet extends HttpServlet{

    public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws IOException, ServletException {
    PrintWriter out = res.getWriter();
    out.write("<hr>");
    String pg = req.getPathInfo();
    out.write("page # " + pg + "<br />");
    HttpSession sess = req.getSession();
    ArrayList items = null;
    int j = 0;
    int recordTotal = 0;


    items = new ArrayList();
    sess.setAttribute("items", items);

    try
    {
    Class.forName("org.gjt.mm.mysql.Driver");
    Connection connection = DriverManager.getConnection("jdbc:mysql://
    localhost/myf?user=deve&password=mypwd");
    Statement stmt = connection.createStatement();
    ResultSet results = stmt.executeQuery("SELECT * from user");

    while(results.next())
    {
    recordTotal++;
    String myd = results.getString("lastname");
    items.add(myd);
    }
    }
    catch(Exception e) {
    System.err.println(e);
    }
    int perPage = 3;
    int displayPages = (recordTotal + perPage - 1)/perPage;



    pg = pg.substring(1);

    j = Integer.parseInt(pg) * perPage - perPage;


    Object temp = sess.getAttribute("items");
    if(temp instanceof ArrayList)
    {
    items = (ArrayList) temp;
    }
    else
    {
    out.write("Type Cast error. Send status code 500.");
    }


    //items = (ArrayList) sess.getAttribute("items");


    for (int i = 0; i < perPage && i + j < recordTotal; i++) {
    if (items != null) out.write("<br>" + items.get(i + j) + "\n");
    }


    }


    }




    Servlet mapping in web.xml

    <servlet-mapping>
    <servlet-name>TheServlet</servlet-name>
    <url-pattern>/mypackage/page/*</url-pattern>
    </servlet-mapping>



    Any suggestions or way for me to redirect a non digit url entry?
     
    , May 18, 2007
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. AtomicBob
    Replies:
    14
    Views:
    917
    Toby Inkster
    May 2, 2006
  2. Replies:
    3
    Views:
    380
  3. Replies:
    0
    Views:
    349
  4. Replies:
    0
    Views:
    407
  5. Sal
    Replies:
    1
    Views:
    686
Loading...

Share This Page