ssm项目——CRM客户管理系统开发准备

这个项目是学习完spring,springmvc,mybatis后为了加强知识所做的ssm项目,为CRM客户管理系统 


一、CRM项目外观

ssm项目——CRM客户管理系统开发准备_第1张图片

二、数据库准备

ssm项目——CRM客户管理系统开发准备_第2张图片数据库sql文件可以从下方链接中下载。

三、工程搭建

工程使用spring,springmvc,mybatis,jsp

3.1创建JavaWeb项目,我取名为SSM_CRM

ssm项目——CRM客户管理系统开发准备_第3张图片

3.2加入jar包

ssm项目——CRM客户管理系统开发准备_第4张图片

3.3创建配置文件

  3.3.1 SqlMapConfig.xml

只需要设置别名即可





	
	
		
	

  3.3.2 applicationContext-dao.xml

设置properties配置文件,配置数据库相关信息,配置数据源,配置SqlSessionFactory工厂,配置Mapper扫描器




	
	

	
	
		
		
		
		
	

	
	
		
		
		
		
	

	
	
		
		
	

  3.3.3 jdbc.properties

配置数据库信息

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/crm?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

  3.3.4 applicationContext-sevice.xml

扫描cn.zhao.crm.service包下的类




	
	

  3.3.5 springmvc.xml

配置静态资源,解析器,适配器,注解驱动,controller类扫描



	
	

	
	

	
	
	
	
	
	
		
		
		
		
	

  3.3.6 web.xml

配置前端控制器,防止乱码的过滤器,监听器监听spring



  
  
	
		contextConfigLocation
		classpath:spring/applicationContext-*.xml
	

	
	
		org.springframework.web.context.ContextLoaderListener
	

	
	
		encoding	
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			UTF-8
		
	
	
		encoding
		/*
	

	
	
		boot-crm
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			classpath:spring/springmvc.xml
		
		
		
		
		1
	
	
		boot-crm
		
		/
	
  
  
  SSM_CRM
  
    index.html
  

最后根据配置文件,项目结构如下

ssm项目——CRM客户管理系统开发准备_第5张图片utils包是3.5自定义标签库中的utils类,后面加入

3.4加入静态资源

ssm项目——CRM客户管理系统开发准备_第6张图片在下方下载链接的压缩文件中都有放入

3.5添加自定义标签库

这个自定义标签库主要是用来为分页做准备的

在WEB-INF下创建tld文件夹,创建commons.tld文件




	2.0
	1.2
	common
	http://itcast.cn/common/
	Common Tag
	Common Tag library

	
		page
		cn.zhao.crm.utils.NavigationTag
		JSP
		create navigation for paging
		
			bean
			true
		
		
			number
			true
		
		
			url
			true
			true
		
	

在cn.zhao.crm包下创建utils包,创建NavigationTag.javaPage.java

NavigationTag.java:

package cn.zhao.crm.utils;

import java.io.IOException;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * 显示格式 上一页 1 2 3 4 5 下一页
 */
public class NavigationTag extends TagSupport {
    static final long serialVersionUID = 2372405317744358833L;
    
    /**
     * request 中用于保存Page 对象的变量名,默认为“page”
     */
    private String bean = "page";
    
    /**
     * 分页跳转的url地址,此属性必须
     */
    private String url = null;
    
    /**
     * 显示页码数量
     */
    private int number = 5;
    
    @Override
    public int doStartTag() throws JspException {
        JspWriter writer = pageContext.getOut();
        HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
        Page page = (Page)request.getAttribute(bean); 
        if (page == null) 
            return SKIP_BODY;
        url = resolveUrl(url, pageContext);
        try {
        	//计算总页数
        	int pageCount = page.getTotal() / page.getSize();
        	if (page.getTotal() % page.getSize() > 0) {
        		pageCount++;
        	}
        	writer.print("");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return SKIP_BODY;
    }
    
    private String append(String url, String key, int value) {

        return append(url, key, String.valueOf(value));
    }
    
    /**
     * 为url 参加参数对儿
     * 
     * @param url
     * @param key
     * @param value
     * @return
     */
    private String append(String url, String key, String value) {
        if (url == null || url.trim().length() == 0) {
            return "";
        }

        if (url.indexOf("?") == -1) {
            url = url + "?" + key + "=" + value;
        } else {
            if(url.endsWith("?")) {
                url = url + key + "=" + value;
            } else {
                url = url + "&" + key + "=" + value;
            }
        }
        
        return url;
    }
    
    /**
     * 为url 添加翻页请求参数
     * 
     * @param url
     * @param pageContext
     * @return
     * @throws javax.servlet.jsp.JspException
     */
    private String resolveUrl(String url, javax.servlet.jsp.PageContext pageContext) throws JspException{
    	//UrlSupport.resolveUrl(url, context, pageContext)
    	Map params = pageContext.getRequest().getParameterMap();
    	for (Object key:params.keySet()) {
    		if ("page".equals(key) || "rows".equals(key)) continue;
    		Object value = params.get(key);
    		if (value == null) continue;
    		if (value.getClass().isArray()) {
    			url = append(url, key.toString(), ((String[])value)[0]);
    		} else if (value instanceof String) {
    			url = append(url, key.toString(), value.toString());
    		}
    	}
        return url;
    }
    
    

    /**
     * @return the bean
     */
    public String getBean() {
        return bean;
    }

    /**
     * @param bean the bean to set
     */
    public void setBean(String bean) {
        this.bean = bean;
    }

    /**
     * @return the url
     */
    public String getUrl() {
        return url;
    }

    /**
     * @param url the url to set
     */
    public void setUrl(String url) {
        this.url = url;
    }

    public void setNumber(int number) {
        this.number = number;
    }
    
}

Page.java:

package cn.zhao.crm.utils;

import java.util.List;

public class Page {
    
	private int total;
	private int page;
	private int size;
    private List rows;
	public int getTotal() {
		return total;
	}
	public void setTotal(int total) {
		this.total = total;
	}
	public int getPage() {
		return page;
	}
	public void setPage(int page) {
		this.page = page;
	}
	public int getSize() {
		return size;
	}
	public void setSize(int size) {
		this.size = size;
	}
	public List getRows() {
		return rows;
	}
	public void setRows(List rows) {
		this.rows = rows;
	}
    
	
    
}

至此,准备工作就完成了,接下来就是功能的实现了

其功能有:

实现页面展示

实现查询条件初始化

实现客户列表分页展示

实现修改客户信息

实现删除客户信息

一些准备工作所需要的资源(jar包,静态页面等):https://download.csdn.net/download/pacee1/10763485

 

你可能感兴趣的:(Java,SSM)