菜鸡关于javaweb开发的学习总结(3)

这次总结从后端包结构里面的几个层的基础出发,在讲数据库的时候就已经将Mapper接口及其同名的.xml文件的注意总结了,剩下就是控制层、业务层接口及其实现类,这里面就跟spring与springmvc的运用有关,具体运行逻辑我这种水平也难讲清,简便的总结一下表面的东西

Service
在Service层中,要定义一个Service接口以及它所对应的实现方法类ServiceImpl(impl)

接口

public interface XXXService {

    void xxx(XXX xxx);
//接口名一般都是自定义的功能模块+Service
//方法名根据实际需求自己填写,最好意义鲜明,适合理解
//接收的数据类型及其数据名根据实际需求自定义,并放置在单独实体类包内
}

实现类

@Service
public class XXXServiceImpl implements XXXService {
    @Autowired
    private XXXMapper XXXMapper;
    @Override
    public void xxx(XXX xxx) {
        //此处写方法内容
    }
}
//对实现类需要记得注释Service以及调用Dao层Mapper方法的自动注入注释Autowired

Controller
在控制层,是与前端页面进行数据传递和处理工作的重要位置

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/register.do")
    @ResponseBody
    public String register(User user ,String code ,HttpServletRequest request){
        String vcode = (String)request.getSession().getAttribute("vcode");
        ObjectMapper mapper = new ObjectMapper();
        String str = "";
        Map<String , Object> map = new HashMap<>();
        //判断验证码是否正确
       try{
           if(!vcode.equalsIgnoreCase(code)){
               map.put("status", "error");
               map.put("msg", "验证码错误");
               //如果不正确 发送false
               str = mapper.writeValueAsString(map);
               return  str;
           }
           //检查用户名是否存在 不存在就是false  存在就是为true
           boolean flag = userService.checkUsernameExist(user.getUsername());
           if(flag){
              // request.getSession().setAttribute("msg", "账号已经存在");
               map.put("status", "error");
               map.put("msg", "账号已经存在");
               str = mapper.writeValueAsString(map);
               return str;

           }
           //信息都正确了之后 添加数据
           userService.saveUser(user);
           //添加成功 修改状态为success
           map.put("status", "success");
		   str = mapper.writeValueAsString(map);
       }catch (Exception e){
           e.printStackTrace();
       }
       return str;
    }
}

用一个例子来解释,注释是必须符合规范地写在指定位置,注释内的值要符合你在springmvc的设置,@RequestMapping是用于前端绑定请求地址,String是固定格式,@ResponseBody注释下,返回值要经过转化成json格式才能传回,如果使用的是json格式的情况下,传递信息使用的java类可以自己定义,能有效达到目的就行

有错误欢迎指正,学习路还好长啊
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值