jdbc,数据库案例:客户信息管理系统:业务层接口和实现,数据控制servlet
2014-06-29 00:00
1016 查看
业务层接口和实现:
public interface BussinessService {
/**
* 查询所有客户信息
* @return
*/
@Deprecated
List<Customer> findAll();
/**
* 增加客户信息
* @param c
*/
void addCustomer(Customer c);
/**
* 根据主键删除客户信息
* @param customerId
*/
void delCustomer(String customerId);
/**
* 分居主键查询客户信息
* @param customerId
* @return null
*/
Customer findCustomerById(String customerId);
/**
* 更新客户信息
* @param c
* @throws CustomerIdCannotBeEmpty
*/
void updateCustomer(Customer c) throws CustomerIdCannotBeEmpty;
/**
* 输入页码,
* @param pageNum
* @return 返回pange对象
*/
Page findPage(String num);
}
public class BussinessServletImpl implements BussinessService {
private CustomerDao dao=new CustomerDaoImpl();
@Deprecated
public List<Customer> findAll() {
return dao.findAll();
}
public void addCustomer(Customer c) {
c.setId(UUID.randomUUID().toString());
dao.add(c);
}
public void delCustomer(String customerId) {
dao.delete(customerId);
}
public Customer findCustomerById(String customerId) {
return dao.findById(customerId);
}
public void updateCustomer(Customer c) throws CustomerIdCannotBeEmpty {
if(c.getId()==null){
throw new CustomerIdCannotBeEmpty("参数有误,请输入正确的客户信息");
}
dao.update(c);
}
public Page findPage(String num) {
int pageNum=1;//默认值为1
if(num!=null){
pageNum=Integer.parseInt(num);
}
int totalRecords=dao.getTotalRecordsNum();
Page page=new Page(pageNum, totalRecords);
List<Customer> records=dao.findPageCustomers(page.getStartIndex(), page.getPageSize());
page.setRecords(records);
return page;
}
}
数据控制servlet:
public class Controller extends HttpServlet {
private BussinessService bs=new BussinessServletImpl();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String op=request.getParameter("op");
if("showAllCustomers".equals(op)){
showAllCustomers(request,response);
}else if("addCustomer".equals(op)){
addCustomer(request,response);
}else if("editCustomerUI".equals(op)){
editCustomerUI(request,response);
}else if("editCustomer".equals(op)){
editCustomer(request,response);
}else if("delOneCustomer".equals(op)){
delOneCustomer(request,response);
}else if("delMulti".equals(op)){
delMulti(request,response);
}
}
private void delMulti(HttpServletRequest request,
HttpServletResponse response) throws IOException {
String ids[]=request.getParameterValues("ids");
if(ids!=null&&ids.length>0){
for(int i=0;i<ids.length;i++){
bs.delCustomer(ids[i]);
}
}
response.sendRedirect(request.getContextPath());
}
private void delOneCustomer(HttpServletRequest request,
HttpServletResponse response) throws IOException {
String customerId=request.getParameter("customerId");
bs.delCustomer(customerId);
response.sendRedirect(request.getContextPath());
}
private void editCustomer(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
//将信息封装到formBean
CustomerFormBean formBean=WebUtil.fillBean(request, CustomerFormBean.class);
//信息不正确,数据回显
if(!formBean.validate()){
request.setAttribute("formBean", formBean);
request.getRequestDispatcher("/addCustomer.jsp").forward(request, response);
}
//填充模型,注意类型转化
ConvertUtils.register(new DateLocaleConverter(),Date.class);
Customer c=new Customer();
try {
BeanUtils.copyProperties(c, formBean);
} catch (Exception e) {
throw new RuntimeException("填充模型时出现异常");
}
//单独处理爱好选项
String preference[]=request.getParameterValues("preference");
if(preference!=null&&preference.length>0){
StringBuffer sb=new StringBuffer();
for(int i=0;i<preference.length;i++){
if(i>0){
sb.append(",");
}
sb.append(preference[i]);
}
c.setPreference(sb.toString());
}
//保存数据
try {
bs.updateCustomer(c);
} catch (CustomerIdCannotBeEmpty e) {
e.printStackTrace();
}
//用重对象将页面跳转到默认主页,防止重复提交
response.sendRedirect(request.getContextPath());
}
private void editCustomerUI(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String customerId=request.getParameter("customerId");
Customer c=bs.findCustomerById(customerId);
request.setAttribute("c", c);
request.getRequestDispatcher("/editCustomer.jsp").forward(request, response);
}
private void addCustomer(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
//将信息封装到formBean
CustomerFormBean formBean=WebUtil.fillBean(request, CustomerFormBean.class);
//信息不正确,数据回显
if(!formBean.validate()){
request.setAttribute("formBean", formBean);
request.getRequestDispatcher("/addCustomer.jsp").forward(request, response);
}
//填充模型,注意类型转化
ConvertUtils.register(new DateLocaleConverter(),Date.class);
Customer c=new Customer();
try {
BeanUtils.copyProperties(c, formBean);
} catch (Exception e) {
throw new RuntimeException("填充模型时出现异常");
}
//单独处理爱好选项
String preference[]=request.getParameterValues("preferences");
if(preference!=null&&preference.length>0){
StringBuffer sb=new StringBuffer();
for(int i=0;i<preference.length;i++){
if(i>0){
sb.append(",");
}
sb.append(preference[i]);
}
c.setPreference(sb.toString());
}
//保存数据
bs.addCustomer(c);
//用重对象将页面跳转到默认主页,防止重复提交
response.sendRedirect(request.getContextPath());
}
private void showAllCustomers(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
List<Customer> cs=bs.findAll();
request.setAttribute("cs", cs);
String num=request.getParameter("num");
Page page=bs.findPage(num);
page.setServletUrl("/servlet/Controller?op=showAllCustomers");
request.setAttribute("page", page);
request.getRequestDispatcher("/listCustomers.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
public interface BussinessService {
/**
* 查询所有客户信息
* @return
*/
@Deprecated
List<Customer> findAll();
/**
* 增加客户信息
* @param c
*/
void addCustomer(Customer c);
/**
* 根据主键删除客户信息
* @param customerId
*/
void delCustomer(String customerId);
/**
* 分居主键查询客户信息
* @param customerId
* @return null
*/
Customer findCustomerById(String customerId);
/**
* 更新客户信息
* @param c
* @throws CustomerIdCannotBeEmpty
*/
void updateCustomer(Customer c) throws CustomerIdCannotBeEmpty;
/**
* 输入页码,
* @param pageNum
* @return 返回pange对象
*/
Page findPage(String num);
}
public class BussinessServletImpl implements BussinessService {
private CustomerDao dao=new CustomerDaoImpl();
@Deprecated
public List<Customer> findAll() {
return dao.findAll();
}
public void addCustomer(Customer c) {
c.setId(UUID.randomUUID().toString());
dao.add(c);
}
public void delCustomer(String customerId) {
dao.delete(customerId);
}
public Customer findCustomerById(String customerId) {
return dao.findById(customerId);
}
public void updateCustomer(Customer c) throws CustomerIdCannotBeEmpty {
if(c.getId()==null){
throw new CustomerIdCannotBeEmpty("参数有误,请输入正确的客户信息");
}
dao.update(c);
}
public Page findPage(String num) {
int pageNum=1;//默认值为1
if(num!=null){
pageNum=Integer.parseInt(num);
}
int totalRecords=dao.getTotalRecordsNum();
Page page=new Page(pageNum, totalRecords);
List<Customer> records=dao.findPageCustomers(page.getStartIndex(), page.getPageSize());
page.setRecords(records);
return page;
}
}
数据控制servlet:
public class Controller extends HttpServlet {
private BussinessService bs=new BussinessServletImpl();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String op=request.getParameter("op");
if("showAllCustomers".equals(op)){
showAllCustomers(request,response);
}else if("addCustomer".equals(op)){
addCustomer(request,response);
}else if("editCustomerUI".equals(op)){
editCustomerUI(request,response);
}else if("editCustomer".equals(op)){
editCustomer(request,response);
}else if("delOneCustomer".equals(op)){
delOneCustomer(request,response);
}else if("delMulti".equals(op)){
delMulti(request,response);
}
}
private void delMulti(HttpServletRequest request,
HttpServletResponse response) throws IOException {
String ids[]=request.getParameterValues("ids");
if(ids!=null&&ids.length>0){
for(int i=0;i<ids.length;i++){
bs.delCustomer(ids[i]);
}
}
response.sendRedirect(request.getContextPath());
}
private void delOneCustomer(HttpServletRequest request,
HttpServletResponse response) throws IOException {
String customerId=request.getParameter("customerId");
bs.delCustomer(customerId);
response.sendRedirect(request.getContextPath());
}
private void editCustomer(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
//将信息封装到formBean
CustomerFormBean formBean=WebUtil.fillBean(request, CustomerFormBean.class);
//信息不正确,数据回显
if(!formBean.validate()){
request.setAttribute("formBean", formBean);
request.getRequestDispatcher("/addCustomer.jsp").forward(request, response);
}
//填充模型,注意类型转化
ConvertUtils.register(new DateLocaleConverter(),Date.class);
Customer c=new Customer();
try {
BeanUtils.copyProperties(c, formBean);
} catch (Exception e) {
throw new RuntimeException("填充模型时出现异常");
}
//单独处理爱好选项
String preference[]=request.getParameterValues("preference");
if(preference!=null&&preference.length>0){
StringBuffer sb=new StringBuffer();
for(int i=0;i<preference.length;i++){
if(i>0){
sb.append(",");
}
sb.append(preference[i]);
}
c.setPreference(sb.toString());
}
//保存数据
try {
bs.updateCustomer(c);
} catch (CustomerIdCannotBeEmpty e) {
e.printStackTrace();
}
//用重对象将页面跳转到默认主页,防止重复提交
response.sendRedirect(request.getContextPath());
}
private void editCustomerUI(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String customerId=request.getParameter("customerId");
Customer c=bs.findCustomerById(customerId);
request.setAttribute("c", c);
request.getRequestDispatcher("/editCustomer.jsp").forward(request, response);
}
private void addCustomer(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
//将信息封装到formBean
CustomerFormBean formBean=WebUtil.fillBean(request, CustomerFormBean.class);
//信息不正确,数据回显
if(!formBean.validate()){
request.setAttribute("formBean", formBean);
request.getRequestDispatcher("/addCustomer.jsp").forward(request, response);
}
//填充模型,注意类型转化
ConvertUtils.register(new DateLocaleConverter(),Date.class);
Customer c=new Customer();
try {
BeanUtils.copyProperties(c, formBean);
} catch (Exception e) {
throw new RuntimeException("填充模型时出现异常");
}
//单独处理爱好选项
String preference[]=request.getParameterValues("preferences");
if(preference!=null&&preference.length>0){
StringBuffer sb=new StringBuffer();
for(int i=0;i<preference.length;i++){
if(i>0){
sb.append(",");
}
sb.append(preference[i]);
}
c.setPreference(sb.toString());
}
//保存数据
bs.addCustomer(c);
//用重对象将页面跳转到默认主页,防止重复提交
response.sendRedirect(request.getContextPath());
}
private void showAllCustomers(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
List<Customer> cs=bs.findAll();
request.setAttribute("cs", cs);
String num=request.getParameter("num");
Page page=bs.findPage(num);
page.setServletUrl("/servlet/Controller?op=showAllCustomers");
request.setAttribute("page", page);
request.getRequestDispatcher("/listCustomers.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
相关文章推荐
- jdbc,数据库案例:客户信息管理系统:jsp部分,数据库数据封装类,dao接口和实现
- 在家看孩子,10分钟生成一个业务管理系统【能支持多数据库,大数据,流程审批,权限控制,即时提醒】,视频讲解详细实现步骤
- jdbc:客户信息管理案例:页面数据封装和公用页面处理类
- jdbc:客户信息管理系统:工具类,异常类,测试类,数据库配置文件
- JDBC实战案例--利用jdbc实现的宠物信息管理系统
- 通用权限管理系统多语言开发接口 ,多业务子系统集成实现过程
- 大公司业务流程审批组件【部门的员工—部门经理—部门副总—人力经理—人力副总】实现参考,强大的基础数据管理工具-C#.NET通用权限管理系统组件
- Servlet与Jsp的结合使用实现信息管理系统一
- JDBC应用、控制台连MySQL接数据库实现学生管理系统的登录注册、增删改查
- JSP实现客户信息管理系统
- 修改用户信息的时候,使用Servlet对新的数据和数据库的数据进行对比,修改成功实现页面的弹窗和页面的跳转
- java web学生信息管理系统的实现及源码(jsp servlet)
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现集团-分公司-分店-部门-员工的实体,连锁店业务系统的基础数据管理
- VC++课程设计:动漫新番信息管理系统(MFC+数据库ODBC接口)+外加两个副作品
- 基于MVC,实现简单的书籍信息管理,其中,模型 (M) 采用一般的JavaBean、视图 (V)采用JSP、控制 (C) 采用Servlet实现。另外,对于视图部分的JSP中,需要提供两种版本,即一般
- 06-php雇员管理系统-实现显示雇员信息列表分页改进(可以处理大数据100000条)
- (一个代码学会c语言操作数据库)linux上通过c语言操作数据库实现基本的学生信息管理系统(增、删、查、改‘显示)
- servlet交互案例分析及终极实现 使用jdbc连接数据库实现
- 学生信息管理系统(二)——数据库分析与实现
- Servlet与Jsp的结合使用实现信息管理系统二