 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
teser3@hotmail.com Guest
|
Posted: Fri May 18, 2007 7:12 am Post subject: Redirect if invalid URL entry |
|
|
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
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? |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|