私はindex.jsp
のページから、oracleテーブルにnameとidを挿入しています。私は正常に挿入することですが、ユーザーが再び同じ従業員IDを入力したときにindex.jsp
ページには、Tomcatのエラーページにリダイレクトするユーザーが既に存在しているIDを入力したときに、私はindex.jsp
内のエラーノートを表示したいjspページのテーブルにレコードが既に存在する場合のエラーメッセージの取得方法
HTTP Status 500 javax.servlet.ServletException: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint
語りますデータベース。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body><center>
<H1>Inserting record into a Database</H1>
<%@ page language="java" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.sql.DriverManager.*" %>
<%
int flag=0;
PreparedStatement ps=null;
Connection con= null;
ResultSet rs= null;
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("hostname","user","admin");
Statement st=con.createStatement();
String id = request.getParameter("id");
String name= request.getParameter("name");
ResultSet resultset =
rs=st.executeQuery("INSERT INTO employee (employeeid,employeename)VALUES ('"+id+"','"+name+"");
out.println("Data is successfully inserted!");
%>
</center>
</body>
</html>
これは、アプリケーションのアーキテクチャ上の実装に向かっています。あなたのアプリケーションで検証を実装していない**の典型的な問題**。検証を実装しましたか? –
そしてプレゼンテーション層ではJavaコードを避けるべきです:http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files –
java 'try .. catch ..finally'エラーを処理し、適切な接続状態を確認するには、たとえば閉じます。 – Serg