前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Model2的基本结构「建议收藏」

Model2的基本结构「建议收藏」

作者头像
全栈程序员站长
发布2022-09-20 16:00:50
2140
发布2022-09-20 16:00:50
举报
文章被收录于专栏:全栈程序员必看

DBConnection.java

代码语言:javascript
复制
package com.dorra.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBConnection { private static final String DBDRIVER = "com.mysql.jdbc.Driver";//驱动类类名 private static final String DBURL = "jdbc:mysql://localhost:3306/bank?useUnicode=true&characterEncoding=UTF-8";//连接URL private static final String DBUSER = "root";//数据库用户名 private static final String DBPASSWORD = "admin";//数据库密码 public static Connection getConnection(){ Connection conn = null;//声明一个连接对象 try{ Class.forName(DBDRIVER);//注册驱动;获得连接对象 conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD); }catch(ClassNotFoundException e){ e.printStackTrace(); } catch(SQLException e){ e.printStackTrace(); } return conn; } public static void close(Connection conn){//接受一个参数conn,该参数为需要关闭的连接对象。该方法将关闭该连接对象 if(conn != null){ try{ conn.close();//关闭conn连接对象 }catch(SQLException e){ e.printStackTrace(); } } } public static void close(PreparedStatement pstmt){//接受一个参数pstmt,该参数为需要关闭预处理对象。该方法将关闭该预处理对象 if(pstmt != null){ try{ pstmt.close();//关闭pstmt预处理对象 }catch(SQLException e){ e.printStackTrace(); } } } public static void close(ResultSet rs){//接受一个参数rs,该参数为需要关闭结果集对象。该方法将关闭该结果集对象 if(rs != null){ try{ rs.close();//关闭rs结果集对象 }catch(SQLException e){ e.printStackTrace(); } } } }

User.java

代码语言:javascript
复制
package com.dorra.bean; public class User { private String userName;//储户姓名 private String userId;//储户身份证号码 private String sex;//储户性别 private String userArea;//储户地址 private String userTel;//储户电话 public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getUserArea() { return userArea; } public void setUserArea(String userArea) { this.userArea = userArea; } public String getUserTel() { return userTel; } public void setUserTel(String userTel) { this.userTel = userTel; } }

UserDAO.java

代码语言:javascript
复制
package com.dorra.dao; import java.util.List; import com.dorra.bean.User; public interface UserDAO { public boolean addUser(User user); //实现添加储户的方法 public boolean deleteUser(String userId); //实现删除储户的方法 public boolean updateUser(User user); //实现更新储户个人信息的方法 public List<User> findAllUser(); //实现查询所有储户的方法 public User findUserById(String userId); //实现按ID查询储户的方法 public User userLogin(String userName,String userId);//储户登录 }

UserDAOImpl.java

代码语言:javascript
复制
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* package com.dorra.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.dorra.bean.User; import com.dorra.util.DBConnection; import com.dorra.exception.IdHaveExist; import com.dorra.exception.NameHaveExist; import com.dorra.exception.NameNotFound; import com.dorra.exception.PasswordError; public class UserDAOImpl implements UserDAO { //实现添加储户的方法 public boolean addUser(User user) { Connection conn = DBConnection.getConnection(); //获得连接对象 boolean flag = false; String addSQL = "insert into user(userName,userId,sex,userArea,userTel) " + "values(?,?,?,?,?)"; PreparedStatement pstmt = null; //声明预处理对象 try { String sql1 = "select * from user where userName = '" + user.getUserName() + "'"; String sql2 = "select * from user where userId = '" + user.getUserId() + "'"; if(DB.selectMsg(sql1)){ throw new NameHaveExist("注册失败,储户名已存在!!"); }else if(DB.selectMsg(sql2)){ throw new IdHaveExist("注册失败,已用该身份证号注册过,请直接登录!!"); }else{ pstmt = conn.prepareStatement(addSQL); //获得预处理对象并赋值 pstmt.setString(1, user.getUserName()); //设置第一个参数 pstmt.setString(2, user.getUserId()); //设置第二个参数 pstmt.setString(3, user.getSex()); //设置第三个参数 pstmt.setString(4, user.getUserArea()); //设置第四个参数 pstmt.setString(5, user.getUserTel()); //设置第五个参数  int i = pstmt.executeUpdate(); //执行更新 if(i != 0){//添加成功 flag = true; } } } catch(IdHaveExist ihe){ throw ihe; } catch(NameHaveExist nhe){ throw nhe; } catch (SQLException e) { e.printStackTrace(); } finally{ DBConnection.close(pstmt); //关闭预处理对象 DBConnection.close(conn); //关闭连接对象  } return flag; } //实现删除储户的方法 public boolean deleteUser(String userId) { Connection conn = DBConnection.getConnection(); //获得连接对象 boolean flag = false; String deleteSQL = "delete from user where userId=?"; PreparedStatement pstmt = null; //声明预处理对象 try { pstmt = conn.prepareStatement(deleteSQL); //获得预处理对象并赋值 pstmt.setString(1, userId); //设置第一个个参数 int i = pstmt.executeUpdate(); //执行更新 if(i != 0){ flag = true; } } catch (SQLException e) { e.printStackTrace(); } finally{ DBConnection.close(pstmt); //关闭预处理对象 DBConnection.close(conn); //关闭连接对象  } return flag; } //实现更新储户个人信息的方法 public boolean updateUser(User user) { Connection conn = DBConnection.getConnection(); //获得连接对象 boolean flag = false; String updateSQL = "update user set userName=?," + "sex=?,userArea=?,userTel=? where userId=?"; PreparedStatement pstmt = null; //声明预处理对象 try { pstmt = conn.prepareStatement(updateSQL); //获得预处理对象并赋值 pstmt.setString(1, user.getUserName()); //设置第一个参数 pstmt.setString(2, user.getSex()); //设置第二个参数 pstmt.setString(3, user.getUserArea()); //设置第三个参数 pstmt.setString(4, user.getUserTel()); //设置第四个参数 pstmt.setString(5, user.getUserId()); //设置第五个参数 int i = pstmt.executeUpdate(); //执行更新 if(i != 0){ flag = true; } } catch (SQLException e) { e.printStackTrace(); } finally{ DBConnection.close(pstmt); //关闭预处理对象 DBConnection.close(conn); //关闭连接对象  } return flag; } //实现查询所有储户的方法 public List<User> findAllUser() { Connection conn = DBConnection.getConnection(); //获得连接对象 String sql = "select * from user"; PreparedStatement pstmt = null; //声明预处理对象 List<User> userList = new ArrayList<User>(); try { pstmt = conn.prepareStatement(sql); //获得预处理对象并赋值 ResultSet rs = pstmt.executeQuery(); //执行查询 while(rs.next()) { User user = new User(); //实例化 user.setUserName(rs.getString(1)); user.setUserId(rs.getString(2)); user.setSex(rs.getString(3)); user.setUserArea(rs.getString(4)); user.setUserTel(rs.getString(5)); userList.add(user); } } catch (SQLException e) { e.printStackTrace(); } finally{ DBConnection.close(pstmt); //关闭预处理对象 DBConnection.close(conn); //关闭连接对象  } return userList; //返回查询到的所有储户  } //实现按ID查询储户的方法 public User findUserById(String userId) { Connection conn = DBConnection.getConnection(); //获得连接对象 String sql = "select * from user where userId = ?"; PreparedStatement pstmt = null; //声明预处理对象 User user = new User(); try { pstmt = conn.prepareStatement(sql); //获得预处理对象并赋值 pstmt.setString(1, userId); //设置参数 ResultSet rs = pstmt.executeQuery(); //执行查询 if(rs.next()) { user.setUserName(rs.getString(1)); user.setUserId(rs.getString(2)); user.setSex(rs.getString(3)); user.setUserArea(rs.getString(4)); user.setUserTel(rs.getString(5)); } } catch (SQLException e) { e.printStackTrace(); } finally{ DBConnection.close(pstmt); //关闭预处理对象 DBConnection.close(conn); //关闭连接对象  } return user; } //储户登录 public User userLogin(String userName,String userId){ Connection conn = DBConnection.getConnection(); //获得连接对象 String sql = "select * from user where userName = ?"; PreparedStatement pstmt = null; //声明预处理对象 User user = new User(); try { pstmt = conn.prepareStatement(sql); //获得预处理对象并赋值 pstmt.setString(1, userName); //设置参数 ResultSet rs = pstmt.executeQuery(); //执行查询 if(rs.next()) { if(!userId.equals(rs.getString("userId"))){ throw new PasswordError("身份证不正确!!"); }else{//登录成功 user.setUserName(rs.getString(1)); user.setUserId(rs.getString(2)); user.setSex(rs.getString(3)); user.setUserArea(rs.getString(4)); user.setUserTel(rs.getString(5)); return user; } }else{ throw new NameNotFound("储户名不存在,请先注册再登录!!"); } } catch(NameNotFound nnf) { throw nnf; } catch (PasswordError pe) { throw pe; } catch (SQLException e) { e.printStackTrace(); } finally{ DBConnection.close(pstmt); //关闭预处理对象 DBConnection.close(conn); //关闭连接对象  } return user; } }
*/

PasswordError.java

代码语言:javascript
复制
package com.dorra.exception; public class PasswordError extends RuntimeException { public PasswordError(String message) { super(message); } }

UserLoginServlet.java

代码语言:javascript
复制
package com.dorra.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.dorra.bean.User; import com.dorra.dao.UserDAO; import com.dorra.dao.UserDAOImpl; import com.dorra.exception.NameNotFound; import com.dorra.exception.PasswordError; public class UserLoginServlet extends HttpServlet { /** * Constructor of the object. */ public UserLoginServlet() { super(); } /** * 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 { this.doPost(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 { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); HttpSession session=request.getSession(true); String userName = request.getParameter("userName"); String userId = request.getParameter("userId"); User user1 = new User(); user1.setUserName(userName); user1.setUserId(userId); try{ UserDAO ud = new UserDAOImpl(); User user = ud.userLogin(userName, userId); session.setAttribute("user", user); session.setAttribute("message", ""); request.getRequestDispatcher("userConter.jsp").forward(request, response); }catch(NameNotFound nnf) { request.setAttribute("message", nnf.getMessage()); request.getRequestDispatcher("userLogin.jsp").forward(request, response); } catch(PasswordError pe) { request.setAttribute("message", pe.getMessage()); request.getRequestDispatcher("userLogin.jsp").forward(request, response); } catch (Exception e) { e.printStackTrace(); } } }

userLogin.jsp

代码语言:javascript
复制
<%@ page language="java" import="java.util.*" 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"> --> <style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; overflow:hidden; } .STYLE3 {color: #528311; font-size: 12px; } .STYLE4 {color: #42870a; font-size: 12px; } --> </style> <script language="javascript" src="js/trim.js"></script> <script language="javascript"> function checkUserId(){ var flag = false; var userId = document.getElementById("userId"); var zzs=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/; if(userId.value.trim()==""){ document.all.fo.innerHTML = "<font color='red' size='2px'>身份证号码不能为空.</font>"; }else if(!zzs.test(userId.value)){ document.all.fo.innerHTML = "<font color='red' size='2px'>身份证号必须是18位且数字+字母.</font>"; }else{ flag = true; document.all.fo.innerHTML = "<font size='2px'>符合要求.</font>"; } return flag; } function checkUserName(){ var flag = false; var userName = document.getElementById("userName"); var zzs = /[@#\$%\^&\*]+/g; if(userName.value.trim()==""){ document.all.info.innerHTML = "<font color='red' size='2px'>储户名不能为空.</font>"; }else if(zzs.test(userName.value)){ document.all.info.innerHTML = "<font color='red' size='2px'>不能含有非法字符.</font>"; }else{ flag = true; document.all.info.innerHTML = "<font size='2px'>符合要求.</font>"; } return flag; } function checkSub(){ var flag1 = checkUserName(); var flag2 = checkUserId(); if(flag1&&flag2){ document.form.submit(); }else{alert("您输入的格式存在错误!!");} } </script> </head> <body style="margin:auto;text-align:center;background-image:url('images/bg.gif')"> <div style="width:439px;height:275px; margin-top:100px; margin-left:auto; margin-right:auto;"> <form action="UserLoginServlet" method="post" name="form" id="form"> <table style="width:439px;height:275px;font-size:12px;background-image:url('images/login.jpg');"> <tr> <td height="80" colspan="3"> <h1><font color="red">储户登录</font></h1> </td> </tr> <tr> <td height="10" colspan="3"> </td> </tr> <tr> <td align="right" id="info" width="180px"></td> <td width="70px">储户名:</td> <td width="130px"><input type="text" id="userName" name="userName" onblur="checkUserName()" style="height:16px; width:100px; border:solid 1px #cadcb2; font-size:12px; color:#81b432;"></td> </tr> <tr> <td align="right" id="fo" width="180px"></td> <td>身份证号:</td> <td><input type="text" id="userId" name="userId" onblur="checkUserId()" style="height:16px; width:100px; border:solid 1px #cadcb2; font-size:12px; color:#81b432;"></td> </tr> <tr> <td></td> <td></td> <td align="left"> <input type="submit" value="登录" onclick="checkSub()" />&nbsp; <input type="reset" value="重置" /> </td> </tr> <tr> <td><a href="userRegister.jsp">还未注册?注册点击这里注册.</a></td> </tr> <tr> <td colspan="3" style="color: red;align:right;">${message}</td> </tr> <tr> <td colspan="3" align="center"><a href="adminLogin.jsp">后台登录</a></td> </tr> </table> </form> </div> </body> </html>

web.xml

代码语言:javascript
复制
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserAddServlet</servlet-name> <servlet-class>com.dorra.servlet.UserAddServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>userLoginServlet</servlet-name> <servlet-class>com.dorra.servlet.userLoginServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserLoginServlet</servlet-name> <servlet-class>com.dorra.servlet.UserLoginServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserRegisterServlet</servlet-name> <servlet-class>com.dorra.servlet.UserRegisterServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AddAccountServlet</servlet-name> <servlet-class>com.dorra.servlet.AddAccountServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AllAccountServlet</servlet-name> <servlet-class>com.dorra.servlet.AllAccountServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>DeleteAccountServlet</servlet-name> <servlet-class>com.dorra.servlet.DeleteAccountServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AccountDetailServlet</servlet-name> <servlet-class>com.dorra.servlet.AccountDetailServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UpdateUserServlet</servlet-name> <servlet-class>com.dorra.servlet.UpdateUserServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AccountHandleServlet</servlet-name> <servlet-class>com.dorra.servlet.AccountHandleServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UpdateAccountPasswordServlet</servlet-name> <servlet-class>com.dorra.servlet.UpdateAccountPasswordServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>CheckPasswordServlet</servlet-name> <servlet-class>com.dorra.servlet.CheckPasswordServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>DepositMoneyServlet</servlet-name> <servlet-class>com.dorra.servlet.DepositMoneyServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>WithdrawMoneyServlet</servlet-name> <servlet-class>com.dorra.servlet.WithdrawMoneyServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>InquireMoneyServlet</servlet-name> <servlet-class>com.dorra.servlet.InquireMoneyServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>InquireAcchistoryServlet</servlet-name> <servlet-class>com.dorra.servlet.InquireAcchistoryServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>DeleteAcchistoryServlet</servlet-name> <servlet-class>com.dorra.servlet.DeleteAcchistoryServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AdminLoginServlet</servlet-name> <servlet-class>com.dorra.servlet.AdminLoginServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AllUserServlet</servlet-name> <servlet-class>com.dorra.servlet.AllUserServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>DeleteUserServlet</servlet-name> <servlet-class>com.dorra.servlet.DeleteUserServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UserAddServlet</servlet-name> <url-pattern>/UserAddServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>userLoginServlet</servlet-name> <url-pattern>/userLoginServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserLoginServlet</servlet-name> <url-pattern>/UserLoginServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserRegisterServlet</servlet-name> <url-pattern>/UserRegisterServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AddAccountServlet</servlet-name> <url-pattern>/AddAccountServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AllAccountServlet</servlet-name> <url-pattern>/AllAccountServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DeleteAccountServlet</servlet-name> <url-pattern>/DeleteAccountServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AccountDetailServlet</servlet-name> <url-pattern>/AccountDetailServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UpdateUserServlet</servlet-name> <url-pattern>/UpdateUserServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AccountHandleServlet</servlet-name> <url-pattern>/AccountHandleServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UpdateAccountPasswordServlet</servlet-name> <url-pattern>/UpdateAccountPasswordServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>CheckPasswordServlet</servlet-name> <url-pattern>/CheckPasswordServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DepositMoneyServlet</servlet-name> <url-pattern>/DepositMoneyServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>WithdrawMoneyServlet</servlet-name> <url-pattern>/WithdrawMoneyServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>InquireMoneyServlet</servlet-name> <url-pattern>/InquireMoneyServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>InquireAcchistoryServlet</servlet-name> <url-pattern>/InquireAcchistoryServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DeleteAcchistoryServlet</servlet-name> <url-pattern>/DeleteAcchistoryServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AdminLoginServlet</servlet-name> <url-pattern>/AdminLoginServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AllUserServlet</servlet-name> <url-pattern>/AllUserServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DeleteUserServlet</servlet-name> <url-pattern>/DeleteUserServlet</url-pattern> </servlet-mapping> </web-app>
*/

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167927.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档