Model层:

四个包:

com.maker.bean存放数据库里面的字段信息。

package com.maker.bean;

public class User 
{
    

    private String username;
    private String password;
    private int id;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

}
View Code

 

在编写get set方法可以编写完数据库字段之后生成。

com.maker.util包:

package com.maker.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class DBUtil
{
    public Connection getConnection() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException
    {
        String Url="jdbc:mysql://localhost/jsptest";
        String Driver="com.mysql.jdbc.Driver";
        String username="root";
        String password="w111206";
        Class.forName(Driver).newInstance();
         Connection conn = DriverManager.getConnection(Url,username,password);    
        return conn;
        
    }
    public void closeConnection(Connection conn)
    {
        try {
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
View Code

里面包含数据库连接打开,关闭代码

com.maker.dao包:

package com.maker.dao;
import java.sql.*;
import java.util.ArrayList;

import com.maker.bean.User;
import com.maker.util.DBUtil;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;

public class UserData
{
    public void Del(int Id)
    {
        String sql="delete from user where id="+Id;
        DBUtil util=new DBUtil();
        Connection conn=null;
        try {
             conn=util.getConnection();
            PreparedStatement pstmt=(PreparedStatement) conn.prepareStatement(sql);
            
            pstmt.executeUpdate();
            
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally{
            util.closeConnection(conn);
        }    
        
    }
    public void save(User us)
    {
        String sql="insert into User (username,password) values(?,?)";
        DBUtil util=new DBUtil();
        Connection conn = null;
        try {
            conn = util.getConnection();
            PreparedStatement pstmt=(PreparedStatement) conn.prepareStatement(sql);
            pstmt.setString(1, us.getUsername());
            pstmt.setString(2,us.getPassword());
            pstmt.executeUpdate();
        
        } catch (Exception e) {
        
            e.printStackTrace();
        }
        finally{
            util.closeConnection(conn);
        }    
    }
    public ArrayList List()
    {
        ArrayList list=new ArrayList();
    String sql="select * from user";
    DBUtil util=new DBUtil();
    Connection conn = null;
    try {
        conn = util.getConnection();
    java.sql.Statement stmt=conn.createStatement();
    java.sql.ResultSet rs=stmt.executeQuery(sql);
    while(rs.next())
    {
        int id=rs.getInt(1);
        String username=rs.getString(2);
        String password=rs.getString(3);
        User us=new User();
        us.setId(id);
        us.setPassword(password);
        us.setUsername(username);
        list.add(us);
    }
    
    
    } catch (Exception e) {
    
        e.printStackTrace();
    }
    finally{
        util.closeConnection(conn);
    }    
    return list;
    }

}
View Code

里面是数据库操作代码

Control控制层:

com.maker.Servlet包

package com.maker.Sevlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.maker.bean.User;
import com.maker.dao.UserData;

public class UpdateServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public UpdateServlet() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String action=request.getParameter("action");
        int Id=Integer.parseInt(action);
    
        UserData da=new UserData();
        da.Del(Id);
        ArrayList<User> list=da.List();
        request.setAttribute("UserList",list);   
       


        request.getRequestDispatcher("/index.jsp").forward(request, response);
    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String action=request.getParameter("action");
        int Id=Integer.parseInt(action);
    
        UserData da=new UserData();
        da.Del(Id);
        ArrayList<User> list=da.List();
        request.setAttribute("UserList",list);   
        request.setAttribute("Id",Id);


        request.getRequestDispatcher("/index.jsp").forward(request, response);
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        // Put your code here
    }

}
View Code

里面是Servlet,如果测试里面数据传值等是否正确,想输出一个数值,可采用

PrintWriter out=response.getWriter();
out.println("<script>alert('"+name+")<script>");
也可以向jsp页面传值,然后在jsp页面显示。
View显示层:
<%@page import="com.maker.bean.User"%>
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
  <table>
<%
@SuppressWarnings("unchecked")
ArrayList<User> arr=(ArrayList<User>)request.getAttribute("UserList");
for(User us:arr)
{
out.println("<tr>");
out.println("<td>"+us.getUsername()+"</td>");
out.println("<td>"+us.getPassword()+"</td>");
out.println("<td><a href='servlet/UpdateServlet?action="+us.getId()+"'>编辑</a></td>");
out.println("</tr>");
}
     %>
     <br/>
     <br/>
     </table>
    <table>
    <c:forEach var="fuwa" items="${UserList}" >  
    <tr>
    <td>
        <c:out value="${fuwa.id}" />
    </td>
    <td><td><a href="servlet/UpdateServlet?action=${fuwa.id}">编辑</a></td>
    </tr>
    </c:forEach>
    </table>
  </body>
</html>