1 概述
本应用是石材展展商后台管理系统的设计与实现,主办方可便捷管理不同的石材展展商的基本信息及产品信息等。对于展商可以更方便快捷的在网上更新展会相关信息。对于主办方可以通过本应用管理参展展商的基本信息和产品信息,管理参展人员维护、发票信息、电子邀请邮件发送、个性化banner、联系人、重要通知及修改密码等,减少管理展商过程中不必要的麻烦。
根据前几个阶段的分析和设计,本系统在设计方面采用B/S模式,同时使用JSP技术进行基本页面的设计与功能实现,后台数据库选用MYSQL数据库。本系统的设计实施为石材展展商后台管理系统的运行做基础,为石材展展商后台管理系统提供良好的条件。
2 数据库表
E-R图实体描述如下:
管理员:说明、ID、用户名、密码;
参展人:说明、ID、公司ID、名称、地址、电话、邮箱、职务、是否删除;
公司信息:说明、ID、名称、英文名称、电话、传真、邮件、网址、地址、邮编、主要产品、产品类型、是否删除、用户名、密码;
发票信息:说明、ID、公司ID、抬头、展位号、地税号、是否删除;
公告信息:说明、ID、标题、内容、时间;
产品信息:说明、ID、公司ID、名称、产地、单位、规格、备注、是否删除、图片;
联系人信息:说明、ID、公司ID、姓名、性别、年龄、电话、地址、职位、是否删除。
3 关键代码
package com.action;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dao.DB;
import com.orm.lianxr;
import com.service.liuService;
public class lianxr_servlet extends HttpServlet
{
public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException
{
String type=req.getParameter("type");
if(type.endsWith("lianxrAdd"))
{
lianxrAdd(req, res);
}
if(type.endsWith("edit"))
{
edit(req, res);
}
if(type.endsWith("lianxrEditSave"))
{
lianxrEditSave(req, res);
}
if(type.endsWith("lianxrMana"))
{
lianxrMana(req, res);
}
if(type.endsWith("lianxrDel"))
{
lianxrDel(req, res);
}
if(type.endsWith("lianxrAddMy"))
{
lianxrAddMy(req, res);
}
if(type.endsWith("editMy"))
{
editMy(req, res);
}
if(type.endsWith("lianxrEditSaveMy"))
{
lianxrEditSaveMy(req, res);
}
if(type.endsWith("lianxrManaMy"))
{
lianxrManaMy(req, res);
}
if(type.endsWith("lianxrDelMy"))
{
lianxrDelMy(req, res);
}
}
public void lianxrAdd(HttpServletRequest req,HttpServletResponse res)
{
int company_id=Integer.parseInt(req.getParameter("company_id"));
String name=req.getParameter("name");
String sex=req.getParameter("sex");
String age=req.getParameter("age");
String tel=req.getParameter("tel");
String address=req.getParameter("address");
String zhiwei=req.getParameter("zhiwei");
String sql="insert into t_lianxr (`company_id`,`name`, `sex`, `age`, `tel`, `address`, `zhiwei`, `del`) values(?,?,?,?,?,?,?,?)";
Object[] params={company_id,name,sex,age,tel,address,zhiwei,"no"};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "lianxr?type=lianxrMana");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
//编辑
public void edit(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
//System.out.println(req.getParameter("userId")+"**");
List lianxrList=new ArrayList();
String sql="select * from t_lianxr where id="+Integer.parseInt(req.getParameter("id"));
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
lianxr lianxr=new lianxr();
lianxr.setId(rs.getInt("id"));
lianxr.setName(rs.getString("name"));
lianxr.setSex(rs.getString("sex"));
lianxr.setAge(rs.getString("age"));
lianxr.setTel(rs.getString("tel"));
lianxr.setAddress(rs.getString("address"));
lianxr.setZhiwei(rs.getString("zhiwei"));
lianxr.setCompany_id(rs.getInt("company_id"));
lianxr.setCompany_name(liuService.getCompanyName(rs.getInt("company_id")));
lianxrList.add(lianxr);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("lianxrList", lianxrList);
req.getRequestDispatcher("admin/lianxr/lianxrEditPre.jsp").forward(req, res);
}
public void lianxrEditSave(HttpServletRequest req,HttpServletResponse res)
{
String name=req.getParameter("name");
String sex=req.getParameter("sex");
String age=req.getParameter("age");
String tel=req.getParameter("tel");
String address=req.getParameter("address");
String zhiwei=req.getParameter("zhiwei");
int company_id=Integer.parseInt(req.getParameter("company_id"));
String sql="update t_lianxr set company_id="+company_id+", name='"+name+"',sex='"+sex+"',age='"+age+"',tel='"+tel+"',address='"+address+"',zhiwei='"+zhiwei+"' where id="+Integer.parseInt(req.getParameter("id"));
Object[] params={};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "lianxr?type=lianxrMana");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void lianxrDel(HttpServletRequest req,HttpServletResponse res)
{
int id=Integer.parseInt(req.getParameter("id"));
String sql="update t_lianxr set del=? where id=?";
Object[] params={"yes",id};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "lianxr?type=lianxrMana");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void lianxrMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
String page1=req.getParameter("page");
if(page1==null){
page1="1";
}
//分页设置
int EVERYPAGENUM=10;//每页条数
int page=Integer.parseInt(page1); //传递过来的当前页
int cou = 1;//得到信息总数
int pagecount=1; //总页数
String sql1="select count(*) as cou from t_lianxr where del='no'";
Object[] params1={};
DB mydb1=new DB();
try
{
mydb1.doPstm(sql1, params1);
ResultSet rs=mydb1.getRs();
while(rs.next())
{
cou= rs.getInt("cou");
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb1.closed();
if (cou % EVERYPAGENUM == 0) {
pagecount= cou / EVERYPAGENUM;
} else {
pagecount=cou / EVERYPAGENUM + 1;
}
req.setAttribute("EVERYPAGENUM", EVERYPAGENUM);
req.setAttribute("page", page);
req.setAttribute("cou", cou);
req.setAttribute("pagecount", pagecount);
List lianxrList=new ArrayList();
String sql="select * from t_lianxr where del='no'";
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
rs.next();
}
for (int t = 0; t < EVERYPAGENUM; t++) {
if (rs.next()) {
lianxr lianxr=new lianxr();
lianxr.setId(rs.getInt("id"));
lianxr.setName(rs.getString("name"));
lianxr.setSex(rs.getString("sex"));
lianxr.setAge(rs.getString("age"));
lianxr.setTel(rs.getString("tel"));
lianxr.setAddress(rs.getString("address"));
lianxr.setZhiwei(rs.getString("zhiwei"));
lianxr.setCompany_id(rs.getInt("company_id"));
lianxr.setCompany_name(liuService.getCompanyName(rs.getInt("company_id")));
lianxrList.add(lianxr);
} else {
break; //减少空循环的时间
}
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("lianxrList", lianxrList);
req.getRequestDispatcher("admin/lianxr/lianxrMana.jsp").forward(req, res);
}
//以下是展商功能
public void lianxrAddMy(HttpServletRequest req,HttpServletResponse res)
{
int company_id=Integer.parseInt(req.getParameter("company_id"));
String name=req.getParameter("name");
String sex=req.getParameter("sex");
String age=req.getParameter("age");
String tel=req.getParameter("tel");
String address=req.getParameter("address");
String zhiwei=req.getParameter("zhiwei");
String sql="insert into t_lianxr (`company_id`,`name`, `sex`, `age`, `tel`, `address`, `zhiwei`, `del`) values(?,?,?,?,?,?,?,?)";
Object[] params={company_id,name,sex,age,tel,address,zhiwei,"no"};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "lianxr?type=lianxrManaMy&company_id="+company_id);
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
//编辑
public void editMy(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
//System.out.println(req.getParameter("userId")+"**");
List lianxrList=new ArrayList();
String sql="select * from t_lianxr where id="+Integer.parseInt(req.getParameter("id"));
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
lianxr lianxr=new lianxr();
lianxr.setId(rs.getInt("id"));
lianxr.setName(rs.getString("name"));
lianxr.setSex(rs.getString("sex"));
lianxr.setAge(rs.getString("age"));
lianxr.setTel(rs.getString("tel"));
lianxr.setAddress(rs.getString("address"));
lianxr.setZhiwei(rs.getString("zhiwei"));
lianxr.setCompany_id(rs.getInt("company_id"));
lianxr.setCompany_name(liuService.getCompanyName(rs.getInt("company_id")));
lianxrList.add(lianxr);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("lianxrList", lianxrList);
req.getRequestDispatcher("admin/lianxr/lianxrEditPreMy.jsp").forward(req, res);
}
public void lianxrEditSaveMy(HttpServletRequest req,HttpServletResponse res)
{
String name=req.getParameter("name");
String sex=req.getParameter("sex");
String age=req.getParameter("age");
String tel=req.getParameter("tel");
String address=req.getParameter("address");
String zhiwei=req.getParameter("zhiwei");
int company_id=Integer.parseInt(req.getParameter("company_id"));
String sql="update t_lianxr set company_id="+company_id+", name='"+name+"',sex='"+sex+"',age='"+age+"',tel='"+tel+"',address='"+address+"',zhiwei='"+zhiwei+"' where id="+Integer.parseInt(req.getParameter("id"));
Object[] params={};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "lianxr?type=lianxrManaMy&company_id="+company_id);
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void lianxrDelMy(HttpServletRequest req,HttpServletResponse res)
{
int id=Integer.parseInt(req.getParameter("id"));
int company_id=Integer.parseInt(req.getParameter("company_id"));
String sql="update t_lianxr set del=? where id=?";
Object[] params={"yes",id};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "lianxr?type=lianxrManaMy&company_id="+company_id);
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void lianxrManaMy(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
String page1=req.getParameter("page");
String company_id=req.getParameter("company_id");
if(page1==null){
page1="1";
}
//分页设置
int EVERYPAGENUM=10;//每页条数
int page=Integer.parseInt(page1); //传递过来的当前页
int cou = 1;//得到信息总数
int pagecount=1; //总页数
String sql1="select count(*) as cou from t_lianxr where del='no' and company_id='"+company_id+"' ";
Object[] params1={};
DB mydb1=new DB();
try
{
mydb1.doPstm(sql1, params1);
ResultSet rs=mydb1.getRs();
while(rs.next())
{
cou= rs.getInt("cou");
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb1.closed();
if (cou % EVERYPAGENUM == 0) {
pagecount= cou / EVERYPAGENUM;
} else {
pagecount=cou / EVERYPAGENUM + 1;
}
req.setAttribute("EVERYPAGENUM", EVERYPAGENUM);
req.setAttribute("page", page);
req.setAttribute("cou", cou);
req.setAttribute("pagecount", pagecount);
List lianxrList=new ArrayList();
String sql="select * from t_lianxr where del='no' and company_id='"+company_id+"' ";
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
rs.next();
}
for (int t = 0; t < EVERYPAGENUM; t++) {
if (rs.next()) {
lianxr lianxr=new lianxr();
lianxr.setId(rs.getInt("id"));
lianxr.setName(rs.getString("name"));
lianxr.setSex(rs.getString("sex"));
lianxr.setAge(rs.getString("age"));
lianxr.setTel(rs.getString("tel"));
lianxr.setAddress(rs.getString("address"));
lianxr.setZhiwei(rs.getString("zhiwei"));
lianxr.setCompany_id(rs.getInt("company_id"));
lianxr.setCompany_name(liuService.getCompanyName(rs.getInt("company_id")));
lianxrList.add(lianxr);
} else {
break; //减少空循环的时间
}
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("lianxrList", lianxrList);
req.getRequestDispatcher("admin/lianxr/lianxrManaMy.jsp").forward(req, res);
}
public void dispatch(String targetURI,HttpServletRequest request,HttpServletResponse response)
{
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);
try
{
dispatch.forward(request, response);
return;
}
catch (ServletException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void destroy()
{
}
}
4 效果演示
idea或eclipse开发,mysql数据库