首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SSM强化学习:从零到部署

SSM强化学习:从零到部署

本次是一次对SSM高级整合的练手,主要加强基本使用SSM做增删改查操作。项目内容是对员工数据的增删改查,其中删除有批量删除和单个删除。

在项目开始之前先建两张表分别为员工表Employee和部门表dept:

一、基础环境的搭建

1、创建一个maven工程

2、引入项目依赖的jar包

二、引入bootstrap前端框架

为了快速搭建前端页面,使用了bootstrap框架。在WEB-INF下新建一个static文件夹存放bootstrap和js。

三、编写SSM整合的关键配置文件

1、首先是web.xml

需要注意的是使用rest风格uri时需要添加一个拦截PUT的拦截器,具体实现看HttpPutFormContentFilter这个类。

2、spring核心配置文件

该文件需放在resource下

主要是对事务和mybatis整合的配置,其中:

只是用来批量生成数据的sqlseesion。在整合完成且逆向生成文件后,测试其实现方式如下:

3、配置mybatis文件

文件位置与spring配置文件位置一致

4、SpringMVC文件的配置

该文件放在WEB_IN目录下

以上就是对SSM的一个初步整合,要对员工数据进行增删改查还得需要使用mybatis的逆向工程生成对应的bean以 及mapper。

四、mybatis的逆向工程

可去mybatis官网看下相关文档,根据需要配置。

运行配置文件,官方提供了java文件运行和maven运行两种方式,这里采用java方式,在test包下新建一个类,点开Running MyBatis Generator选项,选择java运行模版如下:

右键运行就会生成对于javabean和xml等文件。

五、用传统的方式做一个简单的查询

具体实现过程:

1、访问index.jsp页面

项目运行进入首页

2、index.jsp页面发送出查询员工列表请求

在inde.jsp页面做一个跳转:

3、EmployeeController来接受请求,查出员工数据

简单写一个控制器:

因为要做分页处理,还得引入PageHelper相关依赖,并进行配置。依赖

并在mybatis配置文件做一个配置。(已配置)

4、来到list.jsp页面进行展示

在WEB_INF下新建一个views文件再里面建一个list.jsp文件:

5、pageHelper分页插件完成分页查询功能

六、利用ajax来请求数据渲染前端页面

前面使用传统的渲染页面,不但效率差,还对服务器性能有影响,并且这种方式只能在浏览器实现,终端耦合高,而使用ajax来请求数据的话就相对来说没有以上的缺点或者影响更小。主要实现过程如下(以查询员工为例):

•1、index.jsp页面直接发送ajax请求进行员工分页数据的查询

2、服务器将查出的数据,以json字符串的形式返回给浏览器

要服务器能json的方式返回数据,还要引入json包

java实现:

3、浏览器收到js字符串。可以使用js对json进行解析,使用js通过 dom增删改改变页面。

进而实现了实现客户端的无关性。

七、数据校验

在添加员工和修改员工时为了更好的交互体验和防止数据臃肿,必须对提交数据进行校验。

1、前端校验

利用正则表达式对提交数据校验,方法如下:

2、后端校验

当有人改了前端判断依据时,前端校验规则就会失效,此时就需要后端对数据重复校验。引入校验依赖

并在SpringMVC配置文件做好相关配置。在Employee.java对相关需要校验的字段进行注解校验:

在控制器中写一个校验接口:

其对应的service实现类中的方法:

如果在数据库对数据再加一层校验的话就更加完整了。比如非null判断和字符串个数及字符串格式的判断

八、生成war包部署Tomcat

完成项目后,就是部署项目项目。操作如下:

成功后就会看到war包:

复杂粘贴到tomcat的webapp目录下启动,就会生成对应的目录。

打开目录会发现maven已经把所有需要的依赖都打包好了。

然后也可以访问到该服务器,此时已经不是镜像服务器了,而是实际服务器了。

九、总结

本次学习过程让我觉得对Spring实现原理的理解非常重要,SSM最让新手畏惧就是其繁琐的配置,在本次学习过程出现错误最多都是跟配置文件配置有关,且如果对SSM它的实现过程没有一个比较清晰的理解的话,即使出现错误也不能找出原因。做数据处理的时候也经常出错,这个原因是因为对jquery还不够熟悉,因此接下来对juquery和javascript的学习也是尤为重要。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180914A02E2700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券