CRM项目的技术架构:
视图层(View):展示数据,用户交互
html,css,js,jQuery,bootstrap(ext、easyUI),jsp
控制层(Controller):控制业务处理流程(接收请求,参数,封装参数,根据不同的请求调用业务层处理业务,根据处理结果返回响应信息)
(Servlet)SpringMVC
业务层(Service):处理业务逻辑(处理业务的步骤以及操作的原子性)
JavaSE(工作流:activiti、JBPM)
1.添加学生
2.记录操作日志
持久层(Dap/Mapper):操作数据库
(JDBC)Mybatis(hibernate,ibatis)
整合层:维护类资源,维护数据库资源
spring(IOC,AOP)(ejb,corba)
CRM项目核心业务
Customer Relationship Management 客户关系管理系统 企业级应用,传统应用,销售或者贸易公司使用。
增加新客户,留住老客户,把已有客户转化为忠诚客户
添加mybatis逆向工程插件
可以生成mapper和model文件
<!--myBatis逆向工程插件-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
把控制层中处理好的数据传递到视图层,使用作用域传递
pageContext:用来在同一个页面的不同标签之间传递数据
request:在同一个请求过程中间传递数据
session:在同一个浏览器窗口的不同请求之间传递数据
application:所有用户共享的数据,并且长久频繁使用的数据
登陆验证
过滤器:
1.创建一个类实现Filter接口
2.重写Filter接口中的doFilter方法
3.配置web.xml将过滤器接口实现类注册到Http服务器
拦截器:
1.实现HandlerInterceptor接口
2.配置springmvc.xml里面的拦截器
apache-poi:
把办公文档的所有元素封装成普通的Java类,程序员通过操作这些类来操作办公文档
文件:HSSFWorkbook
页:HSSFSheet
行:HSSFRow
列:HSSFCell
样式:HSSFCellStyle
添加poi依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.15</version>
</dependency>
测试文件
public class CreateExcel {
//使用poi生成excel文件
public static void main(String[] args) throws Exception {
//创建一个excel文件
HSSFWorkbook wb = new HSSFWorkbook();
//excel文件里创建一页
HSSFSheet st = wb.createSheet("第一页的名字");
//页里创建一行 rownum是行号 从0开始
HSSFRow row = st.createRow(0);
//行里创建一列 column是列号 从0开始
HSSFCell cell = row.createCell(0);
//列里给一个值
cell.setCellValue("学号");
cell = row.createCell(1);
cell.setCellValue("姓名");
cell = row.createCell(2);
cell.setCellValue("年龄");
//生成HSSFCellStyle对象
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HorizontalAlignment.CENTER);
//使用st对象创建10个row对象,对应创建10行
for (int i=1;i<=10;i++){
row = st.createRow(i);
cell = row.createCell(0);
cell.setCellValue(100+i);
cell = row.createCell(1);
cell.setCellValue("NAME"+i);
cell = row.createCell(2);
cell.setCellStyle(style);
cell.setCellValue(20+i);
}
//调用工具通过文件输出流生成excel文件 并写入数据
OutputStream os = new FileOutputStream("D:\\CRM\\test.xls");
wb.write(os);
//关闭资源
os.close();
wb.close();
}
}