文章目录
前言
CRM项目是寒假在家跟着视频做的一个项目,这个项目可以巩固之前Java基础以及javaweb的一些知识.途中也遇到了各种各样的问题,可以提高自己解决问题的能力.
提示:以下是本篇文章正文内容,下面案例可供参考
一、项目介绍
crm项目是一个基于JSP+servlet+MySQL等技术的一个小型项目,项目功能是通过市场活动获得线索信息,然后将线索中的信息转化为客户信息和联系人信息并且可以创建交易记录,难点在于线索信息的转化以及交易阶段图标的改变.虽然是跟着视频做的,但是也是收获满满,尤其感受到了JSP+原生servlet的繁琐之处.并且这个项目中还有好多不足.
二、样品实例
1.市场活动界面
2.线索界面
点击名称进入详细信息页
点击转化即可把线索转换为联系人客户交易页,可以添加一条线索
交易页点击名称进入详细信息页
点击图标可以更改可能性阶段以及图标样式颜色
三、代码
代码如下:
1.pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bjpowernode.crm</groupId>
<artifactId>crm</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1.3-b06</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.23</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>
2.web.xml文件
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>crm</display-name>
<!-- 欢迎页-->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list><filter>
<!-- 登录拦截器-->
<filter-name>LoginFilter</filter-name>
<filter-class>com.bjpowernode.crm.web.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<!-- 字符编码拦截器-->
<filter>
<filter-name>LanJiefilter</filter-name>
<filter-class>com.bjpowernode.crm.web.filter.LanJiefilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LanJiefilter</filter-name>
<url-pattern>*.do</url-pattern>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!-- 监听器-->
<listener>
<listener-class>com.bjpowernode.crm.web.listener.SysInitListener</listener-class>
</listener>
<servlet>
<servlet-name>UserController</servlet-name>
<servlet-class>com.bjpowernode.crm.settings.web.controller.UserController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserController</servlet-name>
<url-pattern>/settings/user/login.do</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ActivityController</servlet-name>
<servlet-class>com.bjpowernode.crm.workbench.web.controller.ActivityController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ActivityController</servlet-name>
<url-pattern>/workbench/Activity/getUserList.do</url-pattern>
<url-pattern>/workbench/Activity/save.do</url-pattern>
<url-pattern>/workbench/Activity/search.do</url-pattern>
<url-pattern>/workbench/Activity/delete.do</url-pattern>
<url-pattern>/workbench/Activity/edit.do</url-pattern>
<url-pattern>/workbench/Activity/update.do</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ClueController</servlet-name>
<servlet-class>com.bjpowernode.crm.workbench.web.controller.ClueController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ClueController</servlet-name>
<url-pattern>/workbench/Clue/getUserList.do</url-pattern>
<url-pattern>/workbench/Clue/save.do</url-pattern>
<url-pattern>/workbench/Clue/detail.do</url-pattern>
<url-pattern>/workbench/Clue/showActivityListByClueId.do</url-pattern>
<url-pattern>/workbench/Clue/unbund.do</url-pattern>
<url-pattern>/workbench/Clue/getActivityListByClueIdAndName.do</url-pattern>
<url-pattern>/workbench/Clue/setBundById.do</url-pattern>
<url-pattern>/workbench/Clue/getActivityListByName.do</url-pattern>
<url-pattern>/workbench/Clue/convert.do</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>TranController</servlet-name>
<servlet-class>com.bjpowernode.crm.workbench.web.controller.TranController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TranController</servlet-name>
<url-pattern>/workbench/transaction/search.do</url-pattern>
<url-pattern>/workbench/transaction/detail.do</url-pattern>
<url-pattern>/workbench/transaction/changeStage.do</url-pattern>
</servlet-mapping>
</web-app>
3.市场活动
1.Controller
package com.bjpowernode.crm.workbench.web.controller;
import com.bjpowernode.crm.settings.domain.User;
import com.bjpowernode.crm.settings.service.UserService;
import com.bjpowernode.crm.settings.service.impl.UserServiceImpl;
import com.bjpowernode.crm.utils.*;
import com.bjpowernode.crm.vo.PaginationVo;
import com.bjpowernode.crm.workbench.domain.Activity;
import com.bjpowernode.crm.workbench.service.ActivityService;
import com.bjpowernode.crm.workbench.service.impl.ActivityServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ActivityController extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("进入到市场活动");
String path = request.getServletPath();
if("/workbench/Activity/getUserList.do".equals(path)){
getUserList(request,response);
}else if("/workbench/Activity/save.do".equals(path)){
save(request,response);
}else if("/workbench/Activity/search.do".equals(path)){
pageList(request,response);
}else if("/workbench/Activity/delete.do".equals(path)){
delete(request,response);
}else if("/workbench/Activity/edit.do".equals(path)){
edit(request,response);
}else if("/workbench/Activity/update.do".equals(path)){
update(request,response);
}
}
private void update(HttpServletRequest r