Redirect if invalid URL entry

T

teser3

On my Tomcat 4.1.27 container, 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
Every URL entry after page/ has to be a number only.

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?
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top