音悦台技术要点总结

音悦台技术要点总结

音悦台项目是我的第一个Java后台项目,是前面两个月知识的总结。技术方面相对比较基础,最大的意义在与了解明白分层框架的组成。

分层开发框架总结

我的理解是,之所以要分层,是为了简化每个文件的内容,使文件功能更加的模块化,更独立也就是解耦合。
本项目目录结构如下:
在这里插入图片描述
总共分为5层,分别为dao,domain,service,servlet,util
dao: 数据访问对象(Data Access Object),顾名思义,dao层是专注于与数据打交道的一层,全心全意完成数据库操作,不干其他任何事。
service: 业务层,处于servlet和dao层之间,用于处理逻辑业务,接受Servlet的调用,然后自身调用dao层中的函数,进行一些逻辑上的判断,完成Servlet的业务。主要意义在于解耦和便于扩展(即便于增加功能,因为调用对象单一,在进行功能扩展时,就算不知道内部实现,也可以通过简单的调用实现功能)
Servlet(Server Applet): 实现动态页面的数据调动等
domain:用于数据传输,层中是一个个与数据库中表和列一一对应的JavaBeanS

基路径

之所以要学习基路径是因为在后台开发总发现,原本写好了的css和js代码无法在页面中呈现。
究其问题所在是因为在加入后台后,通过一个页面转发到另一个时,是从Servlet层跳转的,所处的位置发生了变化 (也就是说当前HTML或jsp页面的位置变成了进行跳转的Servlet的位置),所以原先在HTML静态页面中引入的相对路径找不到相对应的文件。为了解决这个问题,引入基路径概念。格式如下
在JSP的HTML的head标签中加入标签

<base href="<%=basePath %>">

而basePath是什么呢,这是利用request获取的值,如下

String basePath= request.getScheme()+"://" + request.getServerName() 
+ ":" + request.getServerPort() + request.getContextPath() + "/";
即:basePath = 协议名 + “:\\” + 主机名 + ":" + 端口号 + Web路径 + "\";

如图:
在这里插入图片描述
加入基路径后相当于当前文件就在此路径下,这样就可以实现不管Servlet怎么变化,html页面都可以正常访问到对应的外部文件。需要注意的是,加入基路径后,这个页面的所有路径都会受到影响,特别是在调用Servlet时。

Servlet中功能的划分

在一般情况下,一个Servlet类会负责处理多个的功能的实现,如在UserServlet中,其需要实现用户的增删改查等功能,那么UserServlet如何实现根据需求来实现不同的功能呢?
这就需要静态页面在调用Servlet时传递参数加以区分,如下:
在这里插入图片描述
在这里插入图片描述
然后在Servlet中对传递多来的参数进行接收判断以区分,然后实现功能,如下:
在这里插入图片描述
但是, 此方法只对Post方式有用,因为get请求方式会自动忽略?后传递的参数,所以需要另辟蹊径:
在这里插入图片描述
使用input的hidden类型,即隐藏域,这样就可以实现参数的传递

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值