栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习日记21(练习spring集成web的增删查改)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习日记21(练习spring集成web的增删查改)

目录

 

一,搭建项目环境

1,首先创建一个maven的webapp,把web-INF的处理XML文件的都删除

2,再导入demo到webapp下

3,启动tomcat插件

4,向数据库导入数据

5,pom.xml,中添加必要依赖

6,创建web层,dao层,实体层,业务层和工具层的包结构

7,配置spring的监听器,springMVC的前端控制器和日志文件

8, 在web.xml配置spring的监听器和springMVC的前端控制器

9,配置springmvc文件

10,配置springmvc 的数据源和jdbc模板对象

二,角色列表的展示

1,点击角色管理菜单发送请求到服务器

2,创建RoleController和List()方法

3,创建RoleService和List()方法

4,创建RoleDao和findAll()方法

5,在spring配置dao和service对象,并注入对应属性

6,springmvc开启注解扫描

7,转发到role-list.jsp页面中进行展示

8,测试

三,角色的添加操作

1,找到添加页面和代码部分

2,编写web层

3,编写service层,获取Role对象

4,编写dao层

5,在web.xml中添加过滤器类解决中文乱码的问题

6,测试

四,用户界面展示

1,在用户实体中添加roleList

2,点击用户管理跳转到web层

3,编写web层

4,编写service层

5,编写Dao层

6,完成对应注入

8,测试

五,用户保存界面的展示

1,先绑定新建跳转到web层

2,编写web层

3,编写user-add角色信息的动态展示

4,测试

六,用户界面保存业务的实现

1,绑定保存按钮到web层的映射中去

2,编写web层

3,编写sevice层

4,编写Dao层

5,测试

七,用户界面删除用户的实现

1,删除按钮绑定web层

2,编写web层

3,编写service层

4,编写dao层

5,测试

八,添加用户拦截功能

1,编写实现拦截器接口

2,在springmvc配置拦截器

九,添加用户登录功能

1,配置web映射

2,编写web层

3,编写service层

4,编写dao层

5,测试


一,搭建项目环境

1,首先创建一个maven的webapp,把web-INF的处理XML文件的都删除

 

2,再导入demo到webapp下

 

3,启动tomcat插件

这是tomcat原生的功能帮我们渲染页面,没有用到springMVC框架

看这个demo的效果,完善里面的增删查改功能

4,向数据库导入数据

角色表

用户表

角色和用户的关联表

角色和用户是多对多的关系

5,pom.xml,中添加必要依赖

6,创建web层,dao层,实体层,业务层和工具层的包结构

7,配置spring的监听器,springMVC的前端控制器和日志文件

导入日志文件

导入jdbc信息

 

Springmvc和spring的配置文件

先创建好需要时再配置

8, 在web.xml配置spring的监听器和springMVC的前端控制器

9,配置springmvc文件

10,配置springmvc 的数据源和jdbc模板对象

二,角色列表的展示

1,点击角色管理菜单发送请求到服务器

修改角色管理菜单的url地址

2,创建RoleController和List()方法

3,创建RoleService和List()方法

4,创建RoleDao和findAll()方法

5,在spring配置dao和service对象,并注入对应属性

6,springmvc开启注解扫描

Web层使用注解上传bean对象,dao层和service层使用配置文件上传bean对象。

两个容器互通。

7,转发到role-list.jsp页面中进行展示

添加c标签,这样就能使用for循环

获取ModelAndView对象上传到request域的List集合

8,测试

 

能在页面中展示数据

三,角色的添加操作

1,找到添加页面和代码部分

使这个表单通过映射跳转的我们写的web层方法中去。

2,编写web层

表单传的值通过role这个实体参数封装起来。传入service层,再通过重定向访问/role/list这个映射,再加载一次列表,如果方法某个具体的jsp页面机会没有数据。重定向和转发写出来就不缝合前后缀,会去找项目的具体jsp或映射,所有要开静态资源访问权限。

3,编写service层,获取Role对象

把对象传给dao层来实现数据库添加操作

4,编写dao层

5,在web.xml中添加过滤器类解决中文乱码的问题

 

6,测试

点击保存

看数据库

四,用户界面展示

1,在用户实体中添加roleList

2,点击用户管理跳转到web层

 

3,编写web层

将user集合给ModelAndView跳转到user-list页面中

4,编写service层

5,编写Dao层

和RoleDao中的这个方法

这里使用的拼接查询,也可以用子查询,

子查询:select * from sys_role where id in(select roleId from sys_user_role where userId=?);

6,完成对应注入

7,编写user-list页面

添加c标签用来循环

循环部分

8,测试

能正常显示

五,用户保存界面的展示

1,先绑定新建跳转到web层

2,编写web层

复用之前写的查role的方法

3,编写user-add角色信息的动态展示

添加c标签

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

4,测试

动态生成的数据

六,用户界面保存业务的实现

1,绑定保存按钮到web层的映射中去

2,编写web层

将表单获取的数据封装到User实体和数组中,在重定向到user/list的映射中执行查询操作。

3,编写sevice层

因为要操作两个表,所有执行两个方法,user对象存user表,数组存角色和用户的关系表中。

这里save方法的返回值是自动生成的userId,需要在dao层用比较麻烦的方法获取,之后学框架的简单点,

4,编写Dao层

Save()方法

saveUserRoleRel()方法

5,测试

 

网页正常跳转并显示数据

查看数据库的两个表

 

七,用户界面删除用户的实现

完成用户的删除操作,需要删除两张表user表和用户角色关系表

1,删除按钮绑定web层

另一种有弹出提示的绑定方法

 

2,编写web层

3,编写service层

先删关系表,在删用户表,因为有外键约束

4,编写dao层

5,测试

删除测试数据

 

数据库的两张表

用户表

 

关系表

 

删除成功

八,添加用户拦截功能

让没有登录的用户跳转到登录页面,对登录页面不进行拦截。

1,编写实现拦截器接口

2,在springmvc配置拦截器

拦截只对走springmvc的映射拦截,直接访问jsp页面不会拦截

九,添加用户登录功能

1,配置web映射

2,编写web层

若查询结果不为空就把user对象放入session中,供拦截器接受,为空就跳转到登录页面这里需要抛数据库查询为空的异常

3,编写service层

Service层去解决这个异常。

ModleAndView中传值只能前后缀拼接,走redirect传不了值,只能跳转页面

4,编写dao层

Try,catch一个查询数据为空异常。

5,测试

在没有登录的情况下访问主页面会直接跳转到登录页面,只有登录成功才能正常访问页面

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号