Java Servlet更新、插入、检索、删除-数据库连接无法执行操作
我已经做了一个程序,用于插入、查看、删除和更新数据库中存储的数据 但从最近3-4个小时以来,我得到了一个错误:-javax.servlet.ServletException:servlet执行引发了一个异常 我知道错误是什么,每次我在web.xml文件中出错时。因为我总是对配置web.xml文件感到困惑。所以我得到“资源不可用错误”,任何人都可以帮我解决。我已经发布了web.xml文件 有人能帮我解决这个问题吗 web.xmlJava Servlet更新、插入、检索、删除-数据库连接无法执行操作,java,database,servlets,Java,Database,Servlets,我已经做了一个程序,用于插入、查看、删除和更新数据库中存储的数据 但从最近3-4个小时以来,我得到了一个错误:-javax.servlet.ServletException:servlet执行引发了一个异常 我知道错误是什么,每次我在web.xml文件中出错时。因为我总是对配置web.xml文件感到困惑。所以我得到“资源不可用错误”,任何人都可以帮我解决。我已经发布了web.xml文件 有人能帮我解决这个问题吗 web.xml <?xml version="1.0" encoding="U
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name></display-name>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>MyServlet</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>DataInsert</servlet-name>
<servlet-class>DataInsertTable</servlet-class>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>DataUpdate</servlet-name>
<servlet-class>DataUpdateTable</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DataInsert</servlet-name>
<url-pattern>/DataInsert</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DataUpdate</servlet-name>
<url-pattern>/DataUpdate</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
这是对我的J2EE组件的描述
这是我的J2EE组件的显示名称
MyServlet
MyServlet
这是对我的J2EE组件的描述
这是我的J2EE组件的显示名称
数据插入
数据插入表
这是对我的J2EE组件的描述
这是我的J2EE组件的显示名称
数据更新
数据更新表
MyServlet
/MyServlet
数据插入
/数据插入
数据更新
/数据更新
index.jsp
这是我的密码:-
index.jsp
<html>
<head>
<title>Data insertion form</title>
</head>
<body>
<%
String action="/SimpleServlet/DataInsertTable";
String method="get";
if(request.getAttribute("EDIT")!=null)
{
action="/SimpleServlet/DataUpdateTable";
method="post";
}
%>
<form method= "<%=method%>" action="<%=action%>">
<h1><center>Enter the required information</center></h1>
<table>
<tr>
<td>Name</td>
<td> :- </td>
<%if(request.getAttribute("NAME")!=null){ %>
<td><input type="text" name="name" value="<%=request.getAttribute("NAME")%>"></input>
<%}else{ %>
<td><input type="text" name="name"></input>
<%} %>
</td>
</tr>
<tr>
<td>Roll Number</td>
<td> :- </td>
<%if(request.getAttribute("ROLL")!=null){ %>
<td><input type="text" name="roll" value="<%=request.getAttribute("ROLL")%>"></input>
<%}else{ %>
<td><input type="text" name="roll"></input>
<%} %>
</td>
</tr>
<tr>
<td>Class </td>
<td> :- </td>
<%if(request.getAttribute("CLAS")!=null){ %>
<td><input type="text" name="clas" value="<%=request.getAttribute("CLAS")%>"></input>
<%}else{ %>
<td><input type="text" name="clas"></input>
<%} %>
</td>
</tr>
<tr>
<td>Mobile Number </td>
<td> :- </td>
<%if(request.getAttribute("MONO")!=null){ %>
<td><input type="text" name="mono" value="<%=request.getAttribute("MONO")%>"></input>
<%}else{ %>
<td><input type="text" name="mono"></input>
<%} %>
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit" width="16"></input></td>
</tr>
</table>
</form>
</body>
</html>
数据插入表
输入所需信息
名称
:-
卷号
:-
班
:-
手机号码
:-
DataInsertTable.java
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class DataInsert extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
PrintWriter pwinsert = res.getWriter();
// PrintWriter pwdelete = res.getWriter();
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
Statement st = null;
out.println("<html>");
out.println("<head>");
out.println("<title>User Data</title>");
out.println("</head>");
out.println("<body>");
out.println("<center><u><h1>User Data</h1></u>");
out.println("<form name='form' >");
int a = 2;
out.println("<table border="+a+ "> ");
out.println("<tr>");
out.println("<td> Select </td>");
out.println("<td> Name </td>");
out.println("<td> Roll No. </td>");
out.println("<td> Class </td>");
out.println("<td> Mobile Number </td>");
out.println("<td> Edit </td>");
out.println("</tr>");
String nm = req.getParameter("name");
String roll = req.getParameter("roll");
String clas = req.getParameter("clas");
String mono = req.getParameter("mono");
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException ex) {
System.out.println("driver not loaded");
System.exit(0);
}
String URL = "jdbc:oracle:thin:@192.168.106.87:1521:ORA11G";
String Username = "pratik";
String Password = "pratik";
try {
con = DriverManager.getConnection(URL,Username,Password);
if(req.getParameter("choise")==null) {
ps = con.prepareStatement("INSERT INTO student (name, rollno, class, mobileno) VALUES (?, ?, ?, ? )");
ps.setString(1,nm);
ps.setString(2,roll);
ps.setString(3,clas);
ps.setString(4,mono);
int i = ps.executeUpdate();
pwinsert.println(i);
if(i!=0) {
pwinsert.println("Your data has been stored in the database");
}
else {
pwinsert.println("Your data could not be stored in the database");
}
}
}
catch(Exception e) {
pwinsert.println(e.getMessage());
}
String idr=null;
if(req.getParameter("choise")!=null) {
nm = req.getParameter("choise");
idr = "DELETE from student WHERE name ='"+nm+"'";
try {
st=con.createStatement();
rs = st.executeQuery(idr);
}
catch (Exception e) {
e.getMessage();
System.out.println("Error " +e);
}
System.out.println("Data deleted...");
}
// res.sendRedirect("DataInsertTable.java");
idr = "SELECT * FROM student";
try {
st=con.createStatement();
rs = st.executeQuery(idr);
}
catch (Exception e) {
e.getMessage();
System.out.println("Error " +e);
}
try {
while (rs.next()) {
out.println("<tr>");
out.println("<td>" + "<input type=\"radio\" name=\"choise\" value=\"" + rs.getString(1) + "\" /> </br>" + "</td>");
out.println("<td>" + rs.getString(1) + "</td>" + "\t <td>" + rs.getInt(2) + "</td>" + "\t <td>" + rs.getString(3) + "</td>" + "\t <td>" + rs.getString(4));
out.println("<td>" + "<a href='"+req.getContextPath()+"/DataUpdate?mode=EDIT&name="+rs.getString(1)+"&roll="+rs.getInt(2)+"&clas="+rs.getString(3) +"&mono="+rs.getString(4)+"'>Edit</a> </br>" + "</td>");
out.println("</tr>");
}
out.println("<tr>");
out.println("<td> </td>");
out.println("<td> </td>");
out.println("<td>" + "<input type=\"submit\" value=\"Delete\" />" + "</td>");
out.println("<td> </td>");
out.println("<td> </td>");
out.println("</tr>");
}
catch (Exception e) {
e.getMessage();
System.out.println("Error" +e);
}
try {
rs.close();
}
catch (Exception e) {
e.getMessage();
System.out.println("Error" +e);
}
try {
st.close();
}
catch (Exception e) {
e.getMessage();
System.out.println("Error" +e);
}
out.println("</table>");
out.println("</form>");
out.println("</center>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class DataUpdateTable extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
PrintWriter pwinsert = res.getWriter();
// PrintWriter pwdelete = res.getWriter();
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
Statement st = null;
out.println("<html>");
out.println("<head>");
out.println("<title>User Data</title>");
out.println("</head>");
out.println("<body>");
out.println("<center><u><h1>User Data</h1></u>");
out.println("<form name='form' >");
int a = 2;
out.println("<table border="+a+ "> ");
out.println("<tr>");
out.println("<td> Name </td>");
out.println("<td> Roll No. </td>");
out.println("<td> Class </td>");
out.println("<td> Mobile Number </td>");
out.println("</tr>");
String nm = req.getParameter("name");
String roll = req.getParameter("roll");
String clas = req.getParameter("clas");
String mono = req.getParameter("mono");
req.setAttribute("NAME", nm);
req.setAttribute("ROLL", roll);
req.setAttribute("CLAS", clas);
req.setAttribute("MONO", mono);
req.setAttribute("EDIT", "Y");
req.getRequestDispatcher("/index.jsp").forward(req, res);
}
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
PrintWriter pwinsert = res.getWriter();
// PrintWriter pwdelete = res.getWriter();
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
Statement st = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException ex) {
System.out.println("driver not loaded");
System.exit(0);
}
String URL = "jdbc:oracle:thin:@192.168.106.87:1521:ORA11G";
String Username = "pratik";
String Password = "pratik";
try {
con = DriverManager.getConnection(URL,Username,Password);
String nm = req.getParameter("name");
String roll = req.getParameter("roll");
String clas = req.getParameter("clas");
String mono = req.getParameter("mono");
if(req.getParameter("choise")==null) {
ps = con.prepareStatement("update student set name=?, rollno=?, class=?, mobileno=? where rollno=?");
ps.setString(1,nm);
ps.setString(2,roll);
ps.setString(3,clas);
ps.setString(4,mono);
ps.setString(5,roll);
int i = ps.executeUpdate();
pwinsert.println(i);
if(i!=0) {
pwinsert.println("Your data has been stored in the database");
}
else {
pwinsert.println("Your data could not be stored in the database");
}
}
}
catch(Exception e) {
pwinsert.println(e.getMessage());
}
}
}
<servlet>
<servlet-name>DataInsertTable</servlet-name>
<servlet-class>DataInsertTable</servlet-class>
</servlet>
<servlet>
<servlet-name>DataUpdateTable</servlet-name>
<servlet-class>DataUpdateTable</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DataInsertTable</servlet-name>
<url-pattern>/DataInsertTable</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DataUpdateTable</servlet-name>
<url-pattern>/DataUpdateTable</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
import java.io.*;
导入java.sql.*;
导入javax.servlet.*;
导入javax.servlet.http.*;
公共类DataInsert扩展了HttpServlet{
公共无效数据集(HttpServletRequest-req、HttpServletResponse-res)
抛出IOException、ServletException{
res.setContentType(“文本/html”);
PrintWriter out=res.getWriter();
PrintWriter pwinsert=res.getWriter();
//PrintWriter pwdelete=res.getWriter();
连接con=null;
PreparedStatement ps=null;
结果集rs=null;
语句st=null;
out.println(“”);
out.println(“”);
out.println(“用户数据”);
out.println(“”);
out.println(“”);
out.println(“用户数据”);
out.println(“”);
INTA=2;
out.println(“”);
out.println(“”);
out.println(“选择”);
out.println(“名称”);
out.println(“卷号”);
out.println(“类”);
out.println(“手机号码”);
out.println(“编辑”);
out.println(“”);
字符串nm=req.getParameter(“名称”);
字符串滚动=请求获取参数(“滚动”);
字符串clas=req.getParameter(“clas”);
字符串mono=req.getParameter(“mono”);
试一试{
类forName(“oracle.jdbc.driver.OracleDriver”);
}
捕获(ClassNotFoundException ex){
System.out.println(“驱动程序未加载”);
系统出口(0);
}
String URL=“jdbc:oracle:thin:@192.168.106.87:1521:ORA11G”;
字符串Username=“pratik”;
字符串Password=“pratik”;
试一试{
con=DriverManager.getConnection(URL、用户名、密码);
if(req.getParameter(“choise”)==null){
ps=con.prepareStatement(“插入学生(姓名、学号、班级、手机号码)值(?,,?)”;
ps.setString(1,nm);
ps.固定管柱(2,卷);
ps.setString(3,clas);
ps.setString(4,单声道);
int i=ps.executeUpdate();
pwinsert.println(i);
如果(i!=0){
println(“您的数据已存储在数据库中”);
}
否则{
println(“您的数据无法存储在数据库中”);
}
}
}
捕获(例外e){
println(e.getMessage());
}
字符串idr=null;
如果(请求getParameter(“choise”)!=null){
nm=请求获取参数(“选择”);
idr=“从学生中删除,其中姓名=”+nm+”;
试一试{
st=con.createStatement();
rs=标准执行机构(idr);
}
捕获(例外e){
e、 getMessage();
系统输出打印项次(“错误”+e);
}
System.out.println(“数据删除…”);
}
//res.sendRedirect(“DataInsertTable.java”);
idr=“从学生中选择*”;
试一试{
st=con.createStatement();
rs=标准执行机构(idr);
}
捕获(例外e){
e、 getMessage();
系统输出打印项次(“错误”+e);
}
试试{
while(rs.next()){
out.println(“”);
out.println(“+”“+”);
out.println(“+rs.getString(1)++”\t“+rs.getInt(2)++”\t“+rs.getString(3)++”\t“+rs.getString(4));
out.println(“+”“+”);
out.println(
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>DataInsert</servlet-name>
<servlet-class>DataInsert</servlet-class>
</servlet>
<servlet>
<servlet-name>DataInsertTable</servlet-name>
<servlet-class>DataInsertTable</servlet-class>
</servlet>
<servlet>
<servlet-name>DataUpdateTable</servlet-name>
<servlet-class>DataUpdateTable</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DataInsertTable</servlet-name>
<url-pattern>/DataInsertTable</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DataUpdateTable</servlet-name>
<url-pattern>/DataUpdateTable</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>