crm项目课堂笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
crm项目
Crm客户关系管理系统,字面意思就是企业用CRM来管理与客户之间的关系,在不同场合下,CRM可能是一个管理术语.
JavaEE、是由web层,业务逻辑层,数据持久层
Struts2是一个MVC、
Spring、是业务逻辑层
Hibernate3数据持久层
1.1crm的需求分析
用户模块:
注册:AJAX异步校验,使用JQuery来实现
后台数据的校验
密码使用md5加密
登录:
后台数据校验
登录的功能
人力资源:
部门管理:
CRUD的操作
员工管理:
CRUD的操作,与部门有关联
抽取一个通用的Dao
教学管理:
课程类别:
班级管理:
学工部:
在校学生管理
咨询部:
入学编班
1.2 搭建开发环境
步骤一:导入jar包
步骤二:引入配置文件
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener </listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- Struts2的核心过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAn dExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
struts.xml
applicationContext.xml
* 基本配置;
<!-- 引入外部属性文件 -->
<context:property-placeholder
location="classpath:jdbc.properties"/>
<!-- 配置C3P0连接池 -->
<bean id="dataSource" class="boPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${ername}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 配置hibernate属性 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<props>
<prop
key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<!-- 事务管理; -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/> </bean>
<!-- 注解事务 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
log4j.properties
Jdbc.properties
步骤三:创建数据库:
命名为crm(如果更改,jdbc.properties也要更改)
步骤四:创建包结构
cn.qf.crm.action 控制层
cn.qf.crm.service 业务逻辑层
cn.qf.crm.dao 数据持久层
cn.qf.crm.vo 实体类及映射文件
cn.qf.crm.utils 工具类
步骤五:引入页面
将html改为jsp页面,引入login.jsp页面,头不能删除
1.3编码实现
创建实体类和映射文件
Department.java
Private Integer did;
Private String dname;
Private String dinfo;
private Set<Employee> employees = new HashSet<Employee>(); 生成get,set方法.
Employee.java
Private Integer eid;
Private String eno;
Private String ename;
Private String logonName;
Private String logonPwd;
private String sex;
private Date birthday;
private Date joinDate;
private Department department;
生成Get/set方法
创建映射文件
1.4 实现首页跳转到注册页面。
在struts.xml中配置
register.jsp中.
在applicationContext中引入action的配置
启动项目,点击”注册”按钮,发现地址栏为: http://localhost:8080/crm/emp_registUI.action
1.5完成注册
首先改造register.jsp页面中标签为s标签,
struts.xml中添加
<constant name="struts.ui.theme"value="simple"/> 可以在struts2核心包中查看到
在register.jsp中引入s标签的库包
下的
中
如果校验没有问题时,则去找Action
public String regist(){
/**
* 1.接收参数,使用模型驱动(已经完成),2.调用service,3.页面跳转
*/
returnnull;
}
EmployeeDao.java
创建实现类EmployeeDaoImpl.java
要继承HibernateDaoSupport
在spring配置文件中配置Dao
》开始写action层:
注入员工的service
private EmployeeService employeeService;
生成set方法。
调用service层
employeeService.regist(employee);
》在员工service也要注入Dao
private EmployeeDao employeeDao;
生成set方法。
publicvoid regist(Employee employee) {
employeeDao.save(employee);
}
》dao层
publicvoid save(Employee employee) {
//使用模版直接调用save方法
this.getHibernateTemplate().save(employee);
<s:fielderror/>
启动项目,分别验证正确和错误数据。
部门管理
分析
查询部门:
* 点击左边的left.jsp中的”部门管理”链接:查询所有部门.
* 提交到一个Action中:传递一个当前页数:
* Action----->Service------->Dao:(带分页查询:)
添加部门:
* 跳转到添加页面:
* 执行Action:
* 在添加页面中输入数据,进行保存:
* 执行Action---Service---Dao.
删除部门:
* 从列表页面传递一个did参数.
* 提交到Action:
* 先查询再删除.
* 页面跳转.
修改部门:
* 从列表页面传递一个did参数.
* 提交Action:
* 先查询数据:
* 显示到编辑页面上:
* 在编辑页面上点击修改按钮:
* 提交Action保存数据:
* 页面跳转:
实现部门添加
修改添加按钮路径
<a href="${ pageContext.request.contextPath }/dept_saveUI.action"><img src="$ {pageContext.request.contextPath}/images/button/tianjia.gif"/></a>
在Action中创建saveUI方法
public String saveUI(){
return"saveUI";
}
Struts.xml
<result name="saveUI">/jsp/dept/add.jsp</result>
复制dep/addDept.html中的内容到add.jsp
修改页面
<%@taglib prefix="s"uri="/struts-tags"%>
<td>部门名称:</td>
(在service实现类上添加事物@Transactional)如果出现异常没有事物会继续往下执行。