小项目总结笔记

1.Maven环境搭建

servlet小项目总结笔记,一篇小白都看得懂的笔记
servlet小项目总结笔记,一篇小白都看得懂的笔记
将servlet,mysql,junit,tomcat等jar包导入pom.xml文件中。

2.使用MVC设计模式

2.1:先在src下面的java包里面建包(com.csi.domain)存放实体类实体类注意要实现序列化接口

2.2:继续在src下面的java包里面建包dao。Dao里面存放的接口都是各个实体类对于数据库实现的增删改查等一系列方法,定义完接口后接着去写类实现接口

servlet小项目总结笔记,一篇小白都看得懂的笔记
servlet小项目总结笔记,一篇小白都看得懂的笔记
查询所有的方法举例如上
servlet小项目总结笔记,一篇小白都看得懂的笔记
修改方法如上:

2.3:继续在src下面的java包里面建包service,service里面放的接口都是在controller调用的接口,service中的接口与dao里面的接口方法差不多,因为都是对数据库进行增删改查,而service不是直接对数据库进行操作,相当于间接的对数据库进行操作。同样,定义完接口需要去写类去实现接口。

2.4:继续在src下面的java包里面建包 utils,utils里面放的都是各种工具类包,例如对数据库进行操作的封装包。

servlet小项目总结笔记,一篇小白都看得懂的笔记

2.5:继续在src下面的java包里面建包 controller。ctotroller里面放的都是继承了Httpservlet类的类,这些类就是servvlet。建完类之后,去web.xml文件中配置servlet信息,以及servlet映射信息。

servlet小项目总结笔记,一篇小白都看得懂的笔记
servlet小项目总结笔记,一篇小白都看得懂的笔记

servlet-class里面写的是类相对于这个项目的相对路径。前端jsp页面先会找到url-pattern的路径,通过这个路径找到servlet-name,通过这个name再找到servlet里面配置的servlet-name,然后再通过这个name找servlet-class,最后找到 这个继承了Httpservlet的类,执行里面的doXXX方法。至于具体是do什么方法,看自己表单提交的方式来决定。

servlet小项目总结笔记,一篇小白都看得懂的笔记

3. 前端页面的编写

3.1:先写前端登录页面

一般要在前端页面显示出来的jsp文件,都会在webapp包下面去建一个backend包,然后把这些要在前端显示出来的jsp文件都放在这个包里面。
servlet小项目总结笔记,一篇小白都看得懂的笔记
比如我们运行tomcat服务器后,进入到localhost:8080/login.jsp中,在里面的输入框中输入信息后,在controller控制层中建立一个LoginController的类,这个类名可以随便起,但要具有标识性。之后这个类要继承Httpservlet这个类 ,然后里面重写doXXX方法。具体是什么方法要看前端login.jsp页面中表单的提交方式是什么。
servlet小项目总结笔记,一篇小白都看得懂的笔记
方法中:先设置编码格式,然后通过req.getParameter(“前端标签的name”)获取到标签的value的属性值,然后调用service层里面的登陆方法,来进行验证,如果 用户名或者密码有问题,那么让他转发到一个登陆失败的页面,如果登录成功,先通过req.getSession()获取到session对象,因为在这个方法里,没有内置对象。获取到session对象后,将数据设置在session范围内,然后利用req转向到一个登录成功的页面。
servlet小项目总结笔记,一篇小白都看得懂的笔记
页面显示如上

servlet小项目总结笔记,一篇小白都看得懂的笔记
这两个列表为a标签,通过点击这两个a标签,让他俩跳到不同的页面。拿手机查询举例,当点击手机查询的时候,跳转到当前项目目录下的FinaAllCellphone那个servlet类中。
servlet小项目总结笔记,一篇小白都看得懂的笔记
跳转过去后,它先设置编码格式,然后调用service层的selectAll方法,结果返回一个list集合,里面装着手机对象,然后将这个list集合设置在request范围内,然后利用转发,将它显示一个新的前端页面上。此时在 backend包下面 建一个 cellphone包,专门存放这个手机增删改查的页面。
servlet小项目总结笔记,一篇小白都看得懂的笔记
servlet小项目总结笔记,一篇小白都看得懂的笔记
servlet小项目总结笔记,一篇小白都看得懂的笔记

3.2:查询所有手机信息

这里利用bootstrap框架,为前端页面添加一个长度为3的div(总长度为12),先通过request.getAttribute()获取到存储手机信息的这个list集合,注意图片的路径这里用到了对list集合循环,看数据库里面有几条数据,然后图片的名字都设置为一样的格式,格式统一为:mi-数字.png的格式。以此来达到循环添加的目的。然后通过循环去创建div容器放内容,每个div占3个宽度,当宽度为12的时候,此时占了4个div,12个宽度已满,此时自动跳到下一行继续添加。每个图片都放在一个a标签内,a标签的href地址为点击这个手机图片跳转到这个手机的详情信息。

3.3:根据id查询单个手机的详细信息

拿这个举例,它的a标签里面要跳转到当前项目下的FindById4Cellphone这个servlet类中。
servlet小项目总结笔记,一篇小白都看得懂的笔记
同样这个类中,先设置编码格式,然后根据页面中获取id。但是现在有一个问题,图片和a标签都没有name属性,那么我们如何根据req.getParameter()来获取到图片的id呢
servlet小项目总结笔记,一篇小白都看得懂的笔记
利用?拼接id的值,来进行传参获取到id的name属性值,类似于get方法提交后,在url地址栏上面显示出来的用户名以及它的属性值,密码以及它的属性值等等。然后调用service层的根据id查询手机信息的方法selectById()方法,返回一个手机对象,将手机对象设置在request范围内,然后根据转发,让网页跳转到要显示这个手机详细信息的页面。
servlet小项目总结笔记,一篇小白都看得懂的笔记
servlet小项目总结笔记,一篇小白都看得懂的笔记
先根据request.getAttribute()获取到这个手机对象,然后在前端页面的标签的value属性的属性值利用jsp表达式将手机的id,名字,描述等等信息显示在前端页面上。例如:
servlet小项目总结笔记,一篇小白都看得懂的笔记

3.4:更新手机的数据信息

注意这个下面有个提交按钮,这个按钮是更新数据的作用,当点击这个按钮之后,跳转到
servlet小项目总结笔记,一篇小白都看得懂的笔记
这个servlet类中。
servlet小项目总结笔记,一篇小白都看得懂的笔记
同样,这个servlet类中也是先设置编码格式。之后根据前端页面的name属性获取到手机的各个属性值,例如id,name,描述,价格等,获取到之后呢,封装成一个手机对象,new一个手机对象,之后调用这个对象的set方法将这个对象实例化。之后调用service层的update方法,将这个对象传入,进行对数据库的更新操作。由于update方法没有返回值,那么调用了这个方法 后,我们应该利用resp.sendRedirect方法,让页面重定向到显示全部手机信息的servlet类里面。
servlet小项目总结笔记,一篇小白都看得懂的笔记

3.5:删除手机的数据信息

让我们返回到显示全部手机信息的页面里面:
servlet小项目总结笔记,一篇小白都看得懂的笔记
这里有一个a标签,为这个a标签添加一个点击事件,方法里面传入参数,利用jsp表达式将图片的id传入。
servlet小项目总结笔记,一篇小白都看得懂的笔记
在这里利用confirm提示信息,进行判断,如果要删除,那么跳转到controller层的DeleteCellphone这个servlet类里面。由于同样无法获取这个图片以及包含这个图片的a标签的name属性值,所以我们只能同样采用?拼接的方式进行传参。将这个图片在数据库中的id传入这个servlet类中
servlet小项目总结笔记,一篇小白都看得懂的笔记
同样,先设置编码格式,然后通过req.getParameter(“id”)来获取到前端页面上图片的id,此时需要将String类型的id转换为int类型的,获取到之后,调用service层的delete方法,将id传入,进行对数据库的删除操作,由于同样没有返回值,进行完操作后,需要重定向到显示所有手机信息的页面上。

3.6:添加手机的数据信息

在显示全部手机信息的页面上,有一个添加手机的a标签。
servlet小项目总结笔记,一篇小白都看得懂的笔记
这个a标签跳转到了一个前端页面的jsp中,
servlet小项目总结笔记,一篇小白都看得懂的笔记
之后在这个页面上 开始写入添加的信息,然后点击下面的添加按钮,进行 表单的提交,
servlet小项目总结笔记,一篇小白都看得懂的笔记
表单提交的方式为post,并且提交到了controller控制层中AddCellphone这个servlet类中。
servlet小项目总结笔记,一篇小白都看得懂的笔记
由于这个表单的提交方式为post,那么这个AddCellphone这个servlet类中要重写的是doPost方法,同样先设置编码格式,然后通过req.getParameter()方法获取到前端页面上写入的内容,获取到之后开始封装手机对象,new一个手机对象,然后通过set方法实例化这个对象,之后调用serrvice层的add方法将这个对象添加进行,来达到对数据库的增加操作,由于这个添加的方法同样没有返回值,那么我们执行完增加方法后,同样利用resp.sendRedirect()方法,重定向到显示所有手机信息的页面上。至此 一个简易的对于手机 信息的增删改查的后端系统就做好了。

相关文章:

  • 2021-11-24
  • 2021-12-24
  • 2022-12-23
  • 2021-06-30
  • 2021-11-02
  • 2021-10-09
  • 2021-06-28
  • 2021-11-07
猜你喜欢
  • 2021-04-13
  • 2021-09-13
  • 2021-05-10
  • 2021-12-12
  • 2022-01-13
  • 2021-10-12
  • 2021-09-17
相关资源
相似解决方案