index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<style>
body
{
form-align:center;
}
</style>
<body>
<form action="studentDB" method="post">
<table border="1">
<th><h2>Student Information</h2></th>
<tr>
<td><b>StudentID:</b><input type="text" name="sid" placeholder="Enter your ID"></td>
</tr>
<tr>
<td><b>Student Name:</b><input type="text" name="name" placeholder="Enter your Name"></td>
</tr>
<tr>
<td><b>Student Address:</b><input type="text" name="address" placeholder="Enter your Address"></td>
</tr>
<tr>
<td><input type="submit" value="Login"></td>
</tr>
</table>
<p><a href="viewdata">View Student Data</a></p>
</form>
</body>
</html>
这是HTML
DbConnection.java
package pack;
import java.sql.*;
public class DbConnection
{
private static Connection con;
static
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","kera_@123");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static Connection getConnection()
{
return con;
}
}
在 DbConnection.java 中,我创建了一个在其他 servlet 中访问的静态连接
StudentDB.java
package pack;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/studentDB")
public class studentDB extends HttpServlet {
private static final long serialVersionUID = 1L;
public studentDB()
{
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try
{
PrintWriter out=response.getWriter();
response.setContentType("text/html");
Connection con=DbConnection.getConnection();
String SID=request.getParameter("sid");
String Name=request.getParameter("name");
String Address=request.getParameter("address");
if(SID=="")
{
RequestDispatcher rd=request.getRequestDispatcher("index.html");
rd.include(request, response);
out.println("<font color=red><h2>Insert Your ID Please</h2></font>");
}
else
{
PreparedStatement ps=con.prepareStatement("insert into student values(?,?,?)");
ps.setString(1, SID);
ps.setString(2,Name);
ps.setString(3, Address);
int row=ps.executeUpdate();
RequestDispatcher rd=request.getRequestDispatcher("index.html");
rd.include(request, response);
out.println("<font color=green><b>Record Updated Successfully.</b></font>");
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}
在 StudentDB.java 中,我已将我的数据插入到表名中:student
viewdata.java
package pack;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class viewdata
*/
@WebServlet("/viewdata")
public class viewdata extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public viewdata() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try
{
PrintWriter out=response.getWriter();
response.setContentType("text/html");
Connection con=DbConnection.getConnection();
PreparedStatement ps=con.prepareStatement("select * from student");
ResultSet rs=ps.executeQuery();
out.println("<table border=1>");
out.println("<tr>");
out.println("<td><b>StudentID</td></b>");
out.println("<td><b>StudentName</b></td>");
out.println("<td><b>StudentAddress</b></td>");
out.println("<td><b>Edit</b></td>");
out.println("<td><b>Delete</b></td>");
while(rs.next())
{
out.println("<tr>");
out.println("<td>"+rs.getString("studentid")+"</td>");
out.println("<td>"+rs.getString("studentname")+"</td>");
out.println("<td>"+rs.getString("studentaddress")+"</td>");
out.println("<td>"+"<a href=edit?studentid="+rs.getString("studentid")+">Edit</a>" + "</td>");
out.println("<td>"+"<a href=delete?studentid="+rs.getString("studentid")+">Delete</a>" + "</td>");
out.println("</tr>");
}
out.println("</table");
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
从这个 viewdata.java 我可以查看我插入到我的表中的所有数据
edit.java
package pack;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class edit
*/
@WebServlet("/edit")
public class edit extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public edit() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try
{
PrintWriter out=response.getWriter();
response.setContentType("text/html");
Connection con=DbConnection.getConnection();
String SID=request.getParameter("sid");
PreparedStatement ps=con.prepareStatement("select * from student where studentid=?");
ps.setString(1, SID);
ResultSet rs=ps.executeQuery();
System.out.println("Contents of the first record: ");
while(rs.next())
{
out.println("<h2>Update Employee</h2>");
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
** 在 edit.java 中,我无法编辑我的数据,即“out.println("<h2>Update Employee</h2>");
在这里不起作用,但在服务器中运行时显示在控制台中。System.out.println("Contents of the first record: ");
**
delete.java
package pack;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class delete
*/
@WebServlet("/delete")
public class delete extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public delete() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try
{
PrintWriter out=response.getWriter();
response.setContentType("text/html");
Connection con=DbConnection.getConnection();
String SID=request.getParameter("sid");
PreparedStatement ps=con.prepareStatement("delete from student where StudentID=?");
ps.setString(1, SID);
int i=ps.executeUpdate();
System.out.println("Record is deleted");
out.println("<font color=green><b>Successfully Deleted!!!</b></font>");
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
}
}
*从 delete.java 我无法删除记录,但在控制台中它显示消息 System.out.println("Record is deleted");
,当我将它部署到服务器时,它显示消息 out.println("<font color=green><b>Successfully Deleted!!!</b></font>");
但是当我刷新页面时它恢复而不是从学生表中删除数据。