一,用户模块
1.用户表设计
2.创建数据库
CREATE TABLE lmonkey_use(
USER_ID VARCHAR(30) NOT NULL,
USER_NAME VARCHAR(20) NOT NULL,
USER_PASSWORD VARCHAR(20) NOT NULL,
USER_SEX VARCHAR(1) NOT NULL,
USER_BIRTHDARY DATETIME DEFAULT NULL,
USER_IDENITY_CODE VARCHAR(60) DEFAULT NULL,
USER_EMAIL VARCHAR(60) DEFAULT NULL,
USER_MODBILE VARCHAR(11) DEFAULT NULL,
USER_ADDRESS VARCHAR(200) NOT NULL,
USER_STATUS DECIMAL(6.0) NOT NULL,
PRIMARY KEY(USER_ID)
) ENGINE=INNODB DEFAULT CHARSET=UTF8;
3.设计用户实体
package com.lmonkey.entity;
public class LMONKEY_USER {
private String USER_ID;
private String USER_NAME;
private String USER_PASSWORD;
private String USER_SEX;
private String USER_BIRTHDARY;
private String USER_IDENITY_CODE;
private String USER_EMAIL;
private String USER_MODBILE;
private String USER_ADDRESS ;
private String USER_STATUS ;
5.由于后台页面都有重复的菜单页面,为了能统一管理,在manage目录下建一个admin_menu.jsp页面专门用来存放重复的部分
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8"/>
<title>简单通用文章系统后台管理模板</title>
<link rel="stylesheet" type="text/css" href="css/common.css"/>
<link rel="stylesheet" type="text/css" href="css/main.css"/>
</head>
<body>
<div class="topbar-wrap white">
<div class="topbar-inner clearfix">
<div class="topbar-logo-wrap clearfix">
<h1 class="topbar-logo none"><a href="index.html" class="navbar-brand">后台管理</a></h1>
<ul class="navbar-list clearfix">
<li><a class="on" href="index.html">首页</a></li>
<li><a href="#" target="_blank">网站首页</a></li>
</ul>
</div>
<div class="top-info-wrap">
<ul class="top-info-list clearfix">
<li><a href="#">管理员</a></li>
<li><a href="#">修改密码</a></li>
<li><a href="#">退出</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="sidebar-wrap">
<div class="sidebar-title">
<h1>菜单</h1>
</div>
<div class="sidebar-content">
<ul class="sidebar-list">
<li>
<a href="#"><i class="icon-font"></i>常用操作</a>
<ul class="sub-menu">
<li><a href="design.html"><i class="icon-font"></i>作品管理</a></li>
<li><a href="design.html"><i class="icon-font"></i>博文管理</a></li>
<li><a href="design.html"><i class="icon-font"></i>分类管理</a></li>
<li><a href="design.html"><i class="icon-font"></i>留言管理</a></li>
<li><a href="design.html"><i class="icon-font"></i>评论管理</a></li>
<li><a href="design.html"><i class="icon-font"></i>友情链接</a></li>
<li><a href="design.html"><i class="icon-font"></i>广告管理</a></li>
</ul>
</li>
<li>
<a href="#"><i class="icon-font"></i>系统管理</a>
<ul class="sub-menu">
<li><a href="system.html"><i class="icon-font"></i>系统设置</a></li>
<li><a href="system.html"><i class="icon-font"></i>清理缓存</a></li>
<li><a href="system.html"><i class="icon-font"></i>数据备份</a></li>
<li><a href="system.html"><i class="icon-font"></i>数据还原</a></li>
</ul>
</li>
</ul>
</div>
</div>
然后将各个页面的重复的部分删掉,通过
<%@ include file="admin_menu.jsp" %>
调用重复的菜单
示例图
然后将菜单部分改一下
<li><a href="admin_user.jsp"><i class="icon-font"></i>用户管理</a></li>
<li><a href="admin_cate.jsp"><i class="icon-font"></i>分类管理</a></li>
<li><a href="admin_product.jsp"><i class="icon-font"></i>图书管理</a></li>
<li><a href="admin_order.jsp"><i class="icon-font"></i>订单管理</a></li>
<li><a href="admin_message.jsp"><i class="icon-font"></i>留言管理</a></li>
<li><a href="admin_news.jsp"><i class="icon-font"></i>新闻管理</a></li>
将用户管理页面中的“新增作品”改为“新增用户”,同时链接地址不要忘记了、
<a href="admin_useradd.jsp"><i class="icon-font"></i>新增用户</a>
然后将表单内的内容改为“数据库设计的字段”
<tbody><tr>
<tr>
<th><i class="require-red">*</i>用户名:</th>
<td>
<input class="common-text required" id="title" name="username" size="50" value="" type="text">
</td>
</tr>
<tr>
<th><i class="require-red">*</i>用户姓名:</th>
<td>
<input class="common-text required" id="title" name="name" size="50" value="" type="text">
</td>
</tr>
<tr>
<th><i class="require-red">*</i>密码:</th>
<td>
<input type="password" class="common-text required" id="title" name="passWord" size="50" value="" type="text">
</td>
</tr>
<tr>
<th><i class="require-red">*</i>确认密码:</th>
<td>
<input type="password" class="common-text required" id="title" name="repassWord" size="50" value="" type="text">
</td>
</tr>
<tr>
<th>性别:</th>
<td>
<input type="radio" name="sex" checked="checked">男
<input type="radio" name="sex" >女
</td>
</tr>
<tr>
<th><i class="require-red">*</i>出生日期:</th>
<td>
<input type="password" class="common-text required" id="title" name="birthday" size="50" value="" type="text">
</td>
</tr>
<tr>
<th><i class="require-red">*</i>邮箱:</th>
<td>
<input type="password" class="common-text required" id="title" name="email" size="50" value="" type="text">
</td>
</tr>
<tr>
<th><i class="require-red">*</i>手机号:</th>
<td>
<input type="password" class="common-text required" id="title" name="mobile" size="50" value="" type="text">
</td>
</tr>
<tr>
<th><i class="require-red">*</i>地址:</th>
<td>
<input type="password" class="common-text required" id="title" name="address" size="50" value="" type="text">
</td>
</tr>
<th></th>
<td>
<input class="btn btn-primary btn6 mr10" value="提交" type="submit">
<input class="btn btn6" onClick="history.go(-1)" value="返回" type="button">
</td>
</tr>
</tbody></table>
然后在src中建立一个存放处理user的servlet程序包com.lmonkey.servlet.user
简述一下用户从前台页面输入数据存放到数据库中的过程
1.用户将信息输入提交表单
2.通过表单将数据传递到后台的servlet
3.后台通过servlet获取到表单提交的信息
4.通过实例化实体类对象,就可以将从servlet获取到的信息赋值给实体类
5.实体类同jdbc传入到数据库中,就完成了数据的存储
需要注意的地方
1.使用此注解@WebServlet("/admin_useadd")可以不用在取配置web.xml文件
2.设置请求字符集的类型
3.设置响应类型
4.通过servlet获取表单数据
5.通过用户实体的构造方法将前端传过来的表单数据存复制给用户实体
//使用此注解@WebServlet("/admin_douseadd")可以不用在取配置web.xml文件
@WebServlet("/manage/admin_douseradd")
public class DoUserAdd extends HttpServlet {
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置请求字符集的类型
request.setCharacterEncoding("UTF-8");
// 设置响应类型
response.setContentType("text/html;charset=UTF-8");
// 通过servlet获取表单数据
String username = request.getParameter("username");
String name = request.getParameter("name");
String pwd = request.getParameter("passwrod");
String sex = request.getParameter("sex");
String year = request.getParameter("birthday");
String email = request.getParameter("email");
String mobile = request.getParameter("mobile");
String address = request.getParameter("address");
// 通过用户实体的构造方法将前端传过来的表单数据存复制给用户实体
// “1”表示普通用户
LMONKEY_USER u = new LMONKEY_USER(username,name,pwd,sex,year,null,email,mobile,address,1);
// 添加到数据库
System.out.println(u);
// 是否添加成功
if(true){
// 如果添加成功,重定向到用户添加页面
response.sendRedirect("admin_user.jsp");
}else{
// 如果失败,通过打印流的方式输出,通过JavaScript语句提示同时重定向到用户添加页面
PrintWriter out = response.getWriter();
out.write("<srcipt>");
out.write("alert('添加失败')");
out.write("location.href='manage/admin_useradd.jsp'");
out.write("</srcipt>");
}
}
}
表单提交的路径
<!-- 1.enctype="multipart/form-data"不能使用 此段代码,否则后台接收不到参数,如果是文件上传形式的话就是用此代码-->
<!-- 2.servlet提交地址设置为 admin_douseradd-->
<form action="/MonkeyShop/manage/admin_douseradd" method="post" id="myform" name="myform" >