第六次作业——MVC

文章介绍了MVC模式的基本概念,模型负责数据处理,视图展示内容,控制器协调二者。通过一个实际案例,展示了项目构建、导入、运行过程,以及遇到的404错误排查。最后,作者修改代码实现控制台输出数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、MVC介绍

这里先简单的介绍一下我对MVC的理解。

M——model(模型)

V——view(视图)

C——controller(控制器)

视图很好理解,它就是我们JSP页面,用来显示页面内容的,因此称为视图;模型指的就是一些bean和dao,主要是用来存储数据和对数据的一些业务处理;controller则指的就是我们的servlet,它的作用是在模型和视图中间起到一个调度的作用,也就是它决定我们需要将哪些数据显示在哪个页面上。

这里借用一下这张图,表达一下它们之间的关系。

二、运行案例

这里通过一个how2j上的案例,简单理解一下这个过程。

 解压之后我无法将整个项目直接导入到eclipse中,因此我是直接新建的目录结构,然后将文件复制粘贴过来的。如果有会导入的,也不必向我这样。

在src中新建包的时候,我发现在右键src,点击new->package时,新建的包总是不能之间在src的包的下面,跑到其他的位置(我确保我的路径是正确的),就像下图所示。

 可以看到,hero就不是直接在src下面的。

这里,我提供一个解决办法:

不要在src处右键新建包了,将目录结构全部都合上,直接在java resources上右键新建package,这样建出来的包就是正确的显示在src下面,如下所示。

 这样就是正确的了。

导入jar包,我们只需要导入其中提供给我们的三个jar包就可以了。

jstl.jar和standard.jar包的作用是因为我们后续需要用到EL表达式和JSTL表达式,因此需要导入。而mysql-connector-java-5.1.6.jar都不陌生了,这是我们连接数据库时需要用到的。而servlet-api-3.0.jar是因为我们在当初下载tomcat,其lib中就已经提供了这个jar包,不信可以自己去看一下。

项目导入完成之后的目录结构来看一下

 我们现在可以运行一下项目了

 跳转的时候遭遇了404错误,让我来排查一下。

回到代码仔细观察一下,发现在我们的目录中并不存在这样一个updateHero的servlet,因此会报404的路径错误,不仅如此,你会发现它给的另外一个页面listHero.jsp在跳转的时候也没有那样一个可以接收处理的servlet,因此同样会报错。

代码成功运行:

注意:此处运行是直接运行的HeroListServlet。

一开始,因为我的hero表是在test数据库中,而我在看代码的时候只注意到了用户名和密码是正确的,而没有检查数据库的名称,因此在运行的时候虽然能成功跳转到listHero这个页面,但是不会显示相应的数据。

且在控制台中会提示相应的错误

Unkown database 'how2java'是因为我的数据库中没有这个数据库,我的数据库的命名是'how2jjava',之间相差一个字母但是我的hero表是存储在test数据库中的。 

 

三、模仿实现

我在上面的代码上进行了修改,实现的是在控制台中输出打印。

第一处修改:将HeroDAO中的list()方法修改了

 第二处修改:

遍历返回的hero列表数据,用for循环取出其中的值,起始在控制台中的输出打印。当然也可以不在控制台中输出打印,用转发或者是重定向定位到jsp页面实现在页面的输出打印也可。

 运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值