MVC模式的增删改查(以注册为例)

来源:互联网 发布:linux重启网卡失败 编辑:程序博客网 时间:2024/06/06 18:59

1:JSP(视图)

<%@ page language="java" import="java.util.*,vo.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>银行注册界面</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">--> </script></head><body><form action="registerAction?method=insert" method="post" name="form1"><table border="1"><tr><td>姓名</td><td>密码</td><td>操作</td></tr>用户名:<input name="username" type="text"></input>密码:<input name="password" type="password"></input><input type="submit" value="submit" /><a href="registerAction?method=select">查询</a><%ArrayList array = (ArrayList) request.getAttribute("arraylist");if (array != null) {for (int i = 0; i < array.size(); i++) {JavaBean javaBean = (JavaBean) array.get(i);%><tr><td><input type="text" name="username"value="<%=javaBean.getUsername()%>" readonly /></td><td><input type="text" value="<%=javaBean.getPassword()%>" readonly/></td><td><ahref="registerAction?method=delete&username=<%=javaBean.getUsername()%>">删除</a><a href="registerAction?method=update&username=<%=javaBean.getUsername()%>">修改</a></td></tr><%}}%></table></form></body></html>



2:form表单提交后到servlet控制器(通过web.XML加载)

package servlet;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 vo.JavaBean;import dao.RegistDao;public class registerAction extends HttpServlet {/*** Constructor of the object.*/public registerAction() {super();}/*** Destruction of the servlet. <br>*/public void destroy() {System.out.println("disi");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 {System.out.println("dier");// System.out.println("Hello");doPost(request, response);// response.setContentType("text/html");/** PrintWriter out = response.getWriter(); out.println(* "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");* out.println("<HTML>");* out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");* out.println("  <BODY>"); out.print("    This is ");* out.print(this.getClass()); out.println(", using the GET method");* out.println("  </BODY>"); out.println("</HTML>"); out.flush();* out.close();*/}/*** 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 {response.setCharacterEncoding("utf8");request.setCharacterEncoding("utf8");RegistDao rdao = new RegistDao();JavaBean jn = new JavaBean();String method = request.getParameter("method");if (method.equals("select")) {ArrayList arr = rdao.doQuery();request.setAttribute("arraylist", arr);getServletContext().getRequestDispatcher("/regest.jsp").forward(request, response);} else if (method.equals("delete")) {if (rdao.deleteData(request.getParameter("username"))) {ArrayList arr = rdao.doQuery();request.setAttribute("arraylist", arr);getServletContext().getRequestDispatcher("/regest.jsp").forward(request, response);} else {response.sendRedirect("index.jsp");}} else if (method.equals("insert")) {System.out.println("disan");System.out.println(request.getParameter("username"));jn.setUsername(request.getParameter("username"));jn.setPassword(request.getParameter("password"));if (rdao.doInsert(jn)) {ArrayList arr = rdao.doQuery();request.setAttribute("arraylist", arr);getServletContext().getRequestDispatcher("/regest.jsp").forward(request, response);} else {response.sendRedirect("index.jsp");}} else if (method.equals("update")) {response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");out.println("<HTML>");out.println("  <HEAD><TITLE>修改数据</TITLE></HEAD>");out.println("  <BODY>");out.println("  <form action='registerAction?method=update2' method='post'>");out.println("  <table border='1'>");out.println("  <tr><td>姓名</td>");out.println("  <td>密码</td><td>操作</td></tr>");ArrayList arr = rdao.doQueryBy(request.getParameter("username"));if (arr != null) {for (int i = 0; i < arr.size(); i++) {JavaBean javab = (JavaBean) arr.get(i);out.println("<tr><td><input type='text' name='username' value=" + javab.getUsername() + "></input></td>");out.println("<td><input name='pass'type='text' value='"+ javab.getPassword() + "'></input></td>"+ "<td><input type='submit' value='修改'></td>"+ "</tr>");}}out.println("  </table>");out.println("  </form>");out.println("  </BODY>");out.println("</HTML>");out.flush();out.close();} else if (method.equals("update2")) {String username = request.getParameter("username");String password=request.getParameter("pass");if(rdao.updateData(username, password)){ArrayList arr = rdao.doQueryBy(request.getParameter("username"));request.setAttribute("arraylist", arr);getServletContext().getRequestDispatcher("/regest.jsp").forward(request, response);}else{ArrayList arr = rdao.doQuery();request.setAttribute("arraylist", arr);getServletContext().getRequestDispatcher("/regest.jsp").forward(request, response);}}}/*** Initialization of the servlet. <br>* * @throws ServletException*             if an error occurs*/public void init() throws ServletException {System.out.println("diyi");// Put your code here}}


3:模型(JavaBean,set,get方法)

package vo;public class JavaBean {private String username;private String password;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;}}


4:数据库的操作

package dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import vo.JavaBean;public class RegistDao {private Connection conn;/* 链接mysql数据库 */public void getConnection() {try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}/* 关闭链接mysql数据库 */public void closes() {if (conn != null) {try {conn.close();conn = null;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}/* 插入数据 */public boolean doInsert(JavaBean jv) {getConnection();boolean flag = false;try {// System.out.println("1");Statement stmt = conn.createStatement();String sql = "insert into user (username,password) values('"+ jv.getUsername() + "','" + jv.getPassword() + "')";if (!stmt.execute(sql)) {flag = true;}} catch (SQLException e) {// System.out.println("2");// TODO Auto-generated catch blocke.printStackTrace();} finally {// System.out.println("3");closes();}// System.out.println("4" + flag);return flag;}/* 查询数据 */public ArrayList doQuery() {getConnection();ArrayList arrayList = new ArrayList();try {String sql = "select * from user";Statement stmt = conn.createStatement();ResultSet result = stmt.executeQuery(sql);while (result.next()) {JavaBean jv = new JavaBean();jv.setUsername(result.getString("username"));jv.setPassword(result.getString("password"));arrayList.add(jv);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {closes();}return arrayList;}/* 条件查询数据 */public ArrayList doQueryBy(String username) {getConnection();ArrayList arrayList = new ArrayList();try {String sql = "select * from user where username='" + username + "'";Statement stmt = conn.createStatement();ResultSet result = stmt.executeQuery(sql);while (result.next()) {JavaBean jv = new JavaBean();jv.setUsername(result.getString("username"));jv.setPassword(result.getString("password"));arrayList.add(jv);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {closes();}return arrayList;}/* 删除数据 */public boolean deleteData(String username) {getConnection();boolean flag = false;try {String sql = "delete from user where username='" + username + "'";Statement stmt = conn.createStatement();if (!stmt.execute(sql)) {flag = true;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {closes();}return flag;}public boolean updateData(String username,String pass) {getConnection();boolean flag=false;try {String sql="update user set password='"+pass+"' where username='"+username+"'";Statement  stmt=conn.createStatement();if(stmt.executeUpdate(sql)>0){flag=true;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{closes();}return flag;}}



0 0
原创粉丝点击