java - 如何接收2个或更多不同的异常?

标签 java sql jsp servlets exception

我编写了一段代码将用户添加到数据库中。当我们收到重复的条目时,我需要重定向到 EmpInfo.jsp。我需要为此使用更多异常,而且我想知道如何重定向。

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    Connection conn = null;
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "cervlet";
    String driver = "com.mysql.jdbc.Driver";
    String userName = "root"; 
String password = "1234";
int Empid =Integer.parseInt(request.getParameter("Empid").toString()); 
String Name = request.getParameter("Name").toString();
int Age =Integer.parseInt(request.getParameter("Age").toString()); 
int Salary =Integer.parseInt(request.getParameter("Salary").toString());
PreparedStatement stmt;
try {
 Class.forName(driver).newInstance();
 conn = DriverManager.getConnection(url+dbName,userName,password);
 System.out.println("Connected to the database");
 //ArrayList al=null;
 //ArrayList userList =new ArrayList();
 String query = "insert into employee set Empid='"+Empid+"',name='"+Name+"',Age='"+Age+"',Salary='"+Salary+"'";
stmt = (PreparedStatement) conn.prepareStatement(query);
  int i = 0;
try {
   i = stmt.executeUpdate(query);
    }
  catch (SQLException e) {
    String nextj = "/AddUser.jsp";
    RequestDispatcher rd = getServletContext().getRequestDispatcher(nextj);
   rd.forward(request, response);
    }
   System.out.println("i="+i);
System.out.println("query: " + query);
//if(i==0)
 //{
  //String nextj = "/EmpInfo.jsp";
    //RequestDispatcher cd = getServletContext().getRequestDispatcher(nextj);
    //cd.forward(request, response);
 //response.sendRedirect("servletRecord");
//}
 response.sendRedirect("/EmpInfo.jsp");
 conn.close();
 System.out.println("Disconnected from database");

} catch (Exception e) {
e.printStackTrace();

更新

当它添加新条目时,我需要重定向到EmpInfo.jsp。 执行方法 executeUpadte() 后,我使用了它的返回值 值重定向到另一个名为 EmpInfo.jsp 的页面。 但它没有重定向。我正在使用 eclipse 。告诉我.jsp页面多重重定向的常用方法。

最佳答案

好吧,如果您问如何捕获不同的异常,则可以使用以下代码:

try {
    ...
    // Code that may throw a few types of exceptions
    ...
} catch(FileNotFoundException fnfe) {
    // handle very specific exceptions
} catch (IOException ioe) {
    // handle less specific exceptions
} catch (Exception e) {
    // handle the most generic exception case
} 

这将允许您在一个代码块中处理多种异常类型。

关于java - 如何接收2个或更多不同的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3480329/

相关文章:

java - Eclipse web.xml 引用文件错误

java - hibernate/Postgres : duplicate key value violates unique constraint

javascript - 如何限制 jsp 中的输入仅采用字母而不使用 JavaScript(因为 JavaScript 被禁用)?

java - 在Struts2中如何检查List是否包含特定元素?

java - Java 11 的 GitLab Auto DevOps 问题

java - JUnit 基础测试自动设置

java - 查看一个表中出现在另一表中的值

mysql - 运行重新启动的查询

java - java中的preparedStatement SQL错误

java - 从 javascript 调用 JSP 方法