Redirect url if invalid entry into URL

T

teser3

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?
 

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,994
Messages
2,570,223
Members
46,810
Latest member
Kassie0918

Latest Threads

Top