java web开发常见规范

1.包名规范

Package 名 说明
1 Entity 存放实体类,与数据库表一一对应
2 config 存放配置类,如存放redis配置存放系统常量类
3 constans 存放系统常量类,封装常用的参数
4 bean 此处只存放ResponseBean,封装后台响应
5 Controller 控制器类,控制层,接受http请求,返回json数据
6 Mapper Dao类,存放数据库单标操作
7 Service 服务类,包含service接口和具体实现类
8 Enums 存放系统枚举类
9 Vo 存放vo类,面向前端响应

如下图所示:
java web开发常见规范_第1张图片

2.controller层跳转规范

如果你在本地启动springboot,发现controller层代码跳转页面都正常,但是以jar包在dos窗口或者在云服务器运行,跳转页面一直打不开,请检查跳转代码是否多加了“/”。引用模板文件的时候不用”/”打头就可以了

规范跳转代码:

	 //默认登录页面
    @GetMapping("/")
    public String index() {
        return "index";   //此处打开http://localhost:8080即可跳转到index.html
        //return "/index";         <--------------错误的跳转方式
    }

3.静态资源使用规范

如果你使用bootstrap,layui之类的第三方静态资源,并且使用thymeleaf模板引擎加载技术,请按下方的方式引入静态资源,防止打包至云服务器上无法使用

3.1文件路径规范

必须是在resources/static目录下,因为thymeleaf会自动去resources/static文件夹下面寻找静态资源文件,如果不在容易报500模板引擎服务器错误

java web开发常见规范_第2张图片

3.2html里面对css/js引用规范

以下分别展示了thymeleaf模板下,自己写的css文件(headerpart.css/main.css)和layui的css/js文件,在html中的引用规范,请结合上一张图片的文件路径来理解下方代码。

    
    
    

	

4.后端返回json规范

我的理解:在项目开始前,一定要讨论好返回json字符串的格式,比如返回下面这种类似的格式,那不然后期再调整,害的都是前端(学过json的都应该知道data里面是什么,我这里就不重复赘述了)。

{
	"code": 200,
	"msg": "success",
	"data": null
}

方法:
bean层:

/**
 * 封装向客户端发回的响应数据
 */
@Data
public class ResponseBean {
    Integer code;         //响应码
    private String msg;    //响应消息
    private Object data;       //具体前端数据

    //返回成功的消息
    public static ResponseBean success(Object data) {
        return new ResponseBean(ResultCode.SUCCESS, data);
    }
    public static ResponseBean success() {
        return new ResponseBean(ResultCode.SUCCESS,null);
    }

    //返回失败的消息
    public static ResponseBean fail() {
        return new ResponseBean(ResultCode.ERROR, null);
    }

    //返回失败的消息
    public static ResponseBean notFound() {
        return new ResponseBean(ResultCode.NOT_FOUND, null);
    }

    //返回参数异常、内部错误等其他情况,根据resultCode构造响应结果
    public static  ResponseBean setStatus(ResultCode resultCode){
        return new ResponseBean(resultCode, null);
    }
    //构造函数
    private ResponseBean(ResultCode resultCode, Object data) {
        this.code = resultCode.getCode();
        this.msg = resultCode.getMsg();
        this.data = data;
    }
}

controller层:

@RestController
public class RestApiTestController {
    //返回成功的消息
    @GetMapping("fail")
    public ResponseBean test() {
        return ResponseBean.fail();
    }

    //返回操作失败的消息
    @GetMapping("success")
    public ResponseBean success() {
        return ResponseBean.success();
    }

    //返回未授权消息
    @GetMapping("unauthorized")
    public ResponseBean authorize() {
        return ResponseBean.setStatus(ResultCode.UNAUTHORIZED);
    }

    @GetMapping("/test/book")
    public ResponseBean book() {
        Book book = new Book("Java EE开发技术", 20.0f);
        return ResponseBean.success(book);
    }
}

至此就可以去浏览器中测试返回的json了

其他更详细的开发规范,还请参考阿里巴巴java开发手册

才疏学浅,尚未更新完毕,如果有更好的意见,请在评论区指出。
最后还请大佬指正我的错误。

你可能感兴趣的:(SpringBoot,java,html)