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; } }
在编写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(); } } }
里面包含数据库连接打开,关闭代码
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; } }
里面是数据库操作代码
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 } }
里面是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>
浙公网安备 33010602011771号