基于JSP+servlet+MYSQL的Javaweb项目

本文介绍了一个基于JSP、Servlet和MySQL的CRM项目,通过市场活动获取线索并转化为客户信息和交易记录。文章详细阐述了项目功能、遇到的问题及解决方案,包括市场活动和线索界面的展示,以及代码实现,如Controller、Service和DAO层的细节。项目难点在于线索转化和交易阶段图标的管理,反映出使用原生Servlet的繁琐。
摘要由CSDN通过智能技术生成


前言

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
Javaweb是一种使用Java语言编写的Web开发技术,结合JSPJavaServer Pages)和ServletJava Servlet)可以实现动态Web页面的开发。MySQL是一种开源的关系型数据库管理系统,可以使用SQL语言对其进行操作。 一个典型的Javaweb JSP Servlet MySQL案例源码可以如下: 1. 首先,我们可以创建一个简单的数据库表格,例如一个学生信息表格,包含学生ID、姓名和年龄等字段。 2. 创建一个数据库连接类,用于连接MySQL数据库。在这个类中,我们需要配置数据库连接参数,如数据库URL、用户名和密码等。 3. 创建一个Servlet类,用于处理前端页面请求。在这个类中,我们可以编写处理逻辑,例如查询学生信息、插入新的学生记录等操作。可以使用JDBC(Java Database Connectivity)来实现数据库的增删改查操作。 4. 创建一个JSP页面,用于展示数据。在这个页面中,可以使用JSP的标签和表达式语言来获取Servlet返回的数据,并在页面中进行展示。 5. 在web.xml文件中配置ServletJSP的映射关系,以及其他必要的配置。 通过以上步骤,我们可以实现一个简单的Javaweb JSP Servlet MySQL案例。用户可以通过前端页面输入查询条件,后端Servlet会将查询结果从数据库中获取并返回给JSP页面进行展示。同时,用户还可以通过前端页面提交数据,后端Servlet会将数据插入到数据库中。 这个案例可以用于教学或者实际项目开发中,通过理解和学习这个案例,可以了解Javaweb开发的基本流程,以及如何使用JSPServletMySQL进行Web开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值