从零开发一款APP 二、Java Web后端注册接口的实现

这篇博客详细介绍了如何实现Java Web后端的注册接口。通过覆盖HttpServlet的service()方法并使用fastjson进行JSON解析,减少了重复代码。文章讨论了Service类的逻辑处理,包括检查用户名和昵称的唯一性,以及DAO类用于数据库交互,确保了业务逻辑与数据访问的分离。
摘要由CSDN通过智能技术生成

今天我们要完成上一篇博客中接口的设计,链接为  从零开发一款APP 一、Java Web后端注册接口的设计  。上一篇的大致设计为,客户端传入用户名、密码、昵称,然后服务端进行验证,根据不同的情况返回不同的结果。

首先,根据上一节写的请求接口的请求示例,我们服务器端需要从请求中读取到请求的结果,请求的示例为 {s:{"uname"=xxx,"upwd"=xxx,"nkname"=xxx}} ,但是如果我们每次接受到请求时,都需要先得到s对应的JsonObject,然后在去一个一个的解析,这样实在是太痛苦了,而且这样做重复代码太多。所以,我们可以把json解析放到父类中。

我们知道,java web中每次请求都会映射到对应的HttpServlet 类对象中的service()方法中,在HttpServlet 的service()方法源码中,会根据请求的类型,调用自身不同的方法来处理,比如如果得到请求类型为get,则调用自己的doGet()方法,如果请求类型为post,则调用自己的doPost()方法。所以,我们可以覆盖HttpServlet 的service()方法,在里面做出json解析。我们json解析使用的是阿里巴巴开源的fastjson。

下面为BaseServlet的源码:

/**
 * 所有HttpServlet的基类,会把请求中的加密字符串取出来并进行解密 (当前还尚未解密)
 * @author liuheng
 *
 */
public class BaseServlet extends HttpServlet {
	
	
	//请求的Json
	protected JSONObject requestJson;
	
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		String securityString = req.getParameter("s");
		System.out.println("获取的加密String为" + securityString);
		
		requestJson = JSON.parseObject(URLDecoder.decode(securityString, "UTF8"));
		
		super.service(req, resp);
	}
}
可以看出,我们直接将s对应的字符串解析成JSONObject,这样子类就可以使用了。需要注意的是,我们所有的请求都使用post方式,所以,子类只需要复写doPost()方法即可。

获取到请求参数后,就应该去做相应的逻辑处理,比如判断是否有重复用户名,是否有重复昵称,当判断都没有时,进行写入,这时候如果写入失败,还需要返回失败的标志位。我们统称这种逻辑处理类为Service类。

仅仅一个Service类是不够的,我们还需要进行数据库访问的DAO类,DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开,即,我们使用DAO类来将访问数据库的代码进行封装

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值