用MVC模式进行CRUD接调存转(配置文件+CRUD)

准备工作

一. 导入自己的项目

二. 配置MVC需要的项目、配置文件…

1.把webapp的 login.xml()文件改成jsp的
1.1.怎么改?

先复制以前的HTML文件里的内容,在新建jsp文件,再把除了jsp文件的第一行(设置编码的)剩下的全部替换掉

在这里插入图片描述

2.新建一个文件夹user
3.在user文件夹下建Service(模型层)项目和Servlet(控制层)项目

这里是文件夹名加模型层和控制层

三.配置XML文件(配置文件)

1.步骤:webapp–WEB-INF–>web.xml
(1).设置login.jsp为首页
(2).设置为首页的标签

    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>

四.正式开始:

1.一个会议室管理系统的用户管理模块(user),也对应着user文件在这里插入图片描述2.
2.1
user(UserService(模型类)、UserServlet(控制器))
2.2
前端也有个user文件里面分别是list(列表页)、add(添加页)、edit(修改页)
2.3
这五个文件就组成了一套CRUD操作的页面环境(控制,模型,页面)
在这里插入图片描述

一.从web.xml文件开始进行CRUD

第一步去配置web.xml文件
图中角标1.类全路径*(有波浪线不要怕,先放着,等Servlet继承了HttpServlet并且覆盖servlce方法后自然就好了)
图中角标2.给Servlet起名字
图中角标3.也是起名字
图中角标4.对于这个控制器如何请求的url
在这里插入图片描述

第二步

2.1 去UserServlt继承HttpServlet
2.2 覆盖service方法(ctrl+o)
2.3 设置参数一个是请求参数(request),一个是响应参数(response)
2.4 简单的测试(打印测试)

1.先把要测试页面(index.jsp)的前端页面变成jsp的
1.1好处:跳转页面可以写绝对路径了,比相对路径来的更好
2.怎么看是不是绝对路径?
2.1.看路径前面有没有/如果有那么就是绝对路径
1.1绝对路径是从项目的根路径开始找
1.2.相对路径:相对他所在的那个页面

3.把静态页面的内容变成动态的,在删除静态的(上面有讲怎么删)
4.去index去找框架页(图1)改menu.htm为menu.jsp
5.去menu.jsp里找查询功能并把herf(图2)改成绝对路径(图3)
5.1绝对路径(<%=request.getContextPath()%>)/…开始请求相应的控制器
6.六合一的写法
控制器里面必须传入一个固定的参数,参数是method如果是查询那么=query,这一样就可以共用一个控制器了

图1.在这里插入图片描述
图2.在这里插入图片描述图3.在这里插入图片描述第三步
1.重新启动项目
2.点击查询角色信息(因为增删改的最后都是查,所以先看查)
在这里插入图片描述3.看控制台,之前打印的看看现在在控制台里显没显示出来

在这里插入图片描述3.1 点击角色查询,控制台里打印出上图想打印的文字 我们的第一步,控制器如何配置就算完成了
在这里插入图片描述

第四步:怎么在Select里写控制器的代码
一.环境

  1. 在入口处需要让他走多个分支 接传过来的method(在menu里)
  2. 走多个分支用if语句
  3. 是query生成的方法体
  4. 内部转向到list页(通转)
    {
    list页面里的内容是usermanage里的,在删脚本,
    }
    5.可以显示出页面了
    在这里插入图片描述
    6.删脚本(script标签),自己写

7.把假数据(页面上的)存在数据库中

二.接调存转
1.接:

2.调(调模型):
2.1.在控制器的声明模型的实例
在这里插入图片描述
2.2调用自己实现的一个方法(暂时还没有)
2.2.1. 是个查询方法,所以叫query,因为查的是user里的数据,所以后面加上user
就变成了queryUsers(因为查多条数据,所以多了个s)
2.2.2,自己写类型,因为我们想要创建方法的时候自动带着这个类型
在这里插入图片描述

2.2.3 . 会在模型层生成一个方法,等存完去实现这个方法
在这里插入图片描述

3.存(存作用域):
把lsit存在request作用域里在这里插入图片描述4.转:(在上边的第四步的4.)

5.try catch
其他的抛出,这个try catch
在这里插入图片描述
5.设置绝对路径
在这里插入图片描述

6.${list}
在这里插入图片描述

三.测试
运行tomcat,看空白区域是否出值
在这里插入图片描述
四.把值迭代输出在表格里
1.找到列表页(list页)的table
2.表头
在这里插入图片描述

3.留下第二个<tr,其他删掉(迭代不需要那么多)
在这里插入图片描述
4.用JSTL
4.1.找到JSTL jar包(分别使jstl.jar,standard.jar,xalan.jar)放在lib下
在这里插入图片描述
5.在页面引入标签库
在这里插入图片描述
6.找到需要迭代的tr ,开始进行输出

<c:forEach items="测试的list">

标签库的引入
1.加入jar包
2.在页面引入标签库
3.在页面引用

6.1输出完成
在这里插入图片描述
6.2测试页面表格的数据是不是数据库里的,迭没代迭代出来
能查出来但是不是中文
在这里插入图片描述
7.改中文
7.1数据准备有问题所以去改查询(sql)
7.2 去模型层去改sql语句(在myslq里试完了粘贴到控制层的sql语句,变成变量)
在这里插入图片描述

7.3 去list页去把数字改成名称的
以前是sex_id 改成sex_name
在这里插入图片描述
7.4测试是否是中文男女
在这里插入图片描述

增删改查

步骤
1.进入添加页
2.添加保存
3.并且在控制器里,这两家件事是两个方法,分两件事去控制
开始:
1.打开添加页面
在这里插入图片描述
2.查看请求是不是走的控制器(这个是走的不是控制页,走的静态页)
在这里插入图片描述

3.找到menu.jsp 增加用户信息
在这里插入图片描述

4.把添加页的href属性改成绝对路径(用绝对路径让他请求的是控制器,也是跳转添加页)
在这里插入图片描述
5.在method做一个打印输出(servlet页)
在这里插入图片描述


进到控制器的下一步
1.增加分支并生成方法
红色分支,蓝色的是需要生成的方法
在这里插入图片描述
2.方法里的接 调 存 转
在这里插入图片描述

2.1先完成转向(添加方法转向到add.list)
2.2在add.list的body标签里随便添加内容测试
在这里插入图片描述
2.3把usermanage里的adduserinfor.html变成jsp的
方法:把adduserinfor.html里面的内容复制下来并粘贴到user/add.jsp
2.4整理 变成jsp的adduserinfor.html页面
方法:
(1.)先把没用的删了(跟查询的一样)
(2.)把样式用到路径改成绝对路径<%=request.getContexPath()%>
在这里插入图片描述
(3.)删脚本带script标签的
(4).空格大的话删除空格标签(查询里有)

2.5 看添加页面需不需要准备数据,需要准备?怎么准备
1.因为添加数据页面有下拉列表,得用动态的方法去处理,动态的数据哪来?得调dao去数据库去取
方法
(1).在控制器里调用Service
(2).并且生成方法到Service页面
在这里插入图片描述
(3).在新生成的方法里(在模型层) 写Sql语句,查数据库里的值并返回
在这里插入图片描述
(4).遇到异常就抛出去

1.存作用域
在这里插入图片描述
2.测试
去user_add页的body田间${list_sex}
在这里插入图片描述
2.6改造添加页的性别的下拉列表
性别
1.把标签库引入当前页面
在这里插入图片描述
2.用JSTL标签来遍历值
在这里插入图片描述
部门(和性别类似)
1.去控制器调用模型,在模型里生成方法
在这里插入图片描述
2.生成的方法,有异常抛出
在这里插入图片描述
3.存作用域
在这里插入图片描述
4.JSTL
在这里插入图片描述
角色:
在这里插入图片描述

1.改标签的格式,这样多出来的单选才能好看的出来
在这里插入图片描述
2.调,存,和上面一样,就名字不同

3.留一行foreach
在这里插入图片描述

重点内容

内容准备好了,点击提交,但是不能提交空值,那么怎么样才能不让提交空值呢?
星号=必填号
校验:
写标签,直接转的话是默认,不能校验,如果没校验不能执行
1.先把提交按钮改为普通按钮(button)
在这里插入图片描述
2.实现普通按钮的提交事件
2.1 οnclick="add()"方法
在这里插入图片描述
2.2 实现add()方法
在这里插入图片描述2.3Script里怎么写
2.3.1根据id找到form表单
在这里插入图片描述
2.3.2
在这里插入图片描述
几种校验方法:
1.账号的非空校验

            //1.抓取账号的文本框
               
            //2.判断内容==null

            //3.空的提示

            //4.非空直接走

1.1设置账号文本框的id,
在这里插入图片描述

1.2根据id来抓取
在这里插入图片描述
1.3写语句判断是否为空,是空提示
在这里插入图片描述
2.长度校验
1.去密码设置id
2.在这里插入图片描述
3.格式校验
3.1去email设置id
3.2在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜宵吃不

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值