3 我正在使用 Servlet 和 JSP 执行简单的 CRUD 操作。以下示例如下所示:

时间:2021-06-25 06:51:31

标签: java html jsp jdbc

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>"); 但是当我刷新页面时它恢复而不是从学生表中删除数据。

0 个答案:

没有答案
相关问题