管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-10-08 e7b3a5e891287b1291d2ac38f7c83d5d73bc7906
˵Ã÷.txt
@@ -1,5 +1,167 @@
http://localhost:12316/
1.修改菜单、数据目录、单位的xls数据,编写递归查询SQL
2.登录时验证使用MD5+Salt密码
3.修改用户密码时使用MD5+Salt密码
4.解决Swagger-UI无法传递Cookie信息
5.登录时的用户名和密码使用RSA加密、解密
6.密码复杂度验证(8-20位包含字母、数字和特殊字符)
7.后台服务访问添加登录验证拦截器
8.开发切面日志功能
9.数据库监控(Druid Monitor)+自动登录
10.WebSocket服务
11.资源实时监控(CPU信息+内存信息+在线用户+资源状态)
12.下载文件并设置MIME类型
13.上传文件(commons-fileupload) *
1.前端集成登录接口
2.菜单接口添加用户权限
3.开发菜单权限、用户权限、资源权限接口
----------------------------------------------------------------------------------------------------
http://127.0.0.1:12316/dict/selectCount?tab=sys_user
http://127.0.0.1:12316/Dict/selectByPage?tab=sys_user&pageSize=10&pageIndex=0
http://127.0.0.1:12316/Style/selectCount?name=edp
http://127.0.0.1:12316/Style/selectByPage?name=edp&pageSize=10&pageIndex=0
http://127.0.0.1/lf/sg/login.html
http://127.0.0.1:12316/swagger-ui.html
http://192.168.20.106:12316/swagger-ui.html
http://localhost:12316/sign/toIndex
http://localhost:12316/sign/toLogin
http://localhost:12316/sign/getName?loginName=admin
http://localhost:12316/sign/login?username=admin&password=admin&rememberMe=0&service=http://www.baidu.com
http://127.0.0.1:12316/sign/toLogin?service=http://www.sina.com.cn
----------------------------------------------------------------------------------------------------
String path = System.getProperty("user.dir");
String uid = RsaHelper.decrypt(user.getUid());
String pwd = RsaHelper.decrypt(user.getPwd());
String p1="Admin@123";
String p2= RsaHelper.encrypt(p1);
String p3= RsaHelper.decrypt(p2);
http://192.168.20.39:8088/cas/login,admin/Admin@123,postgres
String pwd = "Admin@123";
String md5 = "b37f70636f1164e86cc8796201737933f65af63918d8442b";
boolean f1 = Md5Helper.validatePassword(pwd, md5);
String md5Pwd = Md5Helper.reverse(Md5Helper.generate(pwd));
boolean f2 = Md5Helper.validatePassword(pwd, md5Pwd);
new String(Base64.getDecoder().decode(username));
----------------------------------------------------------------------------------------------------
一、开发运行环境
JDK版本:1.8
maven版本:3.5
文件编码:UTF-8
二、技术框架说明
    æ€»ä½“采用了前后端分离的技术方案,后台提供REST服务,前端使用MVVM框架做用户交互。
    å‰åŽç«¯å¯å¹¶è¡Œç‹¬ç«‹å¼€å‘。
----------------------------------------------------------------------------------------------------
服务端:
  æ ¸å¿ƒæ¡†æž¶ï¼šSpringBoot
  æŒä¹…层框架:Mybatis
  å®‰å…¨æ¡†æž¶ï¼šShiro
  ç¼“存:redis
前端:
  JS框架:vue.js
  ä¸»é¡µæ¡†æž¶ï¼šadminLTE(基于Bootstrap)
  è¡¨æ ¼æ’件:jqGrid
  æ ‘形表格:tree-table
  æ ‘形插件:ztree
  å¼¹çª—组件:layer
  è¡¨å•校验:validator
private static final String SQLSERVER_URL = "jdbc:sqlserver://192.168.0.77\\ZKZS;databaseName=xian";
----------------------------------------------------------------------------------------------------
{
  "id": 2,
  "pwd": "000000",
  "salt": "Admin@123"
}
// èŽ·å–è¯·æ±‚æ–¹å¼: GET
String getMethod()
// èŽ·å–è™šæ‹Ÿç›®å½•(上下文目录):虚拟路径通过在application配置当中可以配置
// é…ç½®ï¼šserver.servlet.context-path=/aaa
String getContextPath()
// èŽ·å–Servlet路径:就是获取的controller当中配置的路径
String getServletPath()
/// èŽ·å–è¯·æ±‚å‚æ•°ï¼š id=3
// http://localhost:8080/aaa/test?id=3
String getQueryString()
// èŽ·å–è¯·æ±‚URI:/servletDemo/demo1
// ä¸Šä¸‹æ–‡è·¯å¾„+controller当中配置的路径
String getRequestURI()
// èŽ·å–å®Œæ•´è¯·æ±‚è·¯å¾„ï¼šhttp://localhost:8080/aaa/test
String getRequestURL()
// èŽ·å–åè®®åŠç‰ˆæœ¬ï¼šHTTP/1.1
String getProtocol()
// èŽ·å–å®¢æˆ·æœºçš„IP地址:192.168.0.0
String getRemoteAddr()
// èŽ·å–è¯·æ±‚å¤´æ•°æ®,通过请求头名称获取值
String getHeader(String name)
// èŽ·å–æ‰€æœ‰è¯·æ±‚å¤´ä¿¡æ¯
Enumeration<String> getHeaderNames()
// èŽ·å–æµå¯¹è±¡-获取字符输入流,只能操作字符数据
BufferedReader getReader()
// èŽ·å–æµå¯¹è±¡-获取字节输入流,既能操作字节也能操作字符
ServletInputStream getInputStream()
// èŽ·å–è¯·æ±‚å‚æ•°é€šç”¨æ–¹å¼(根据参数名称获取参数值) username=zhangsan
String getParameter(String name)
// èŽ·å–è¯·æ±‚å‚æ•°åç§°èŽ·å–å‚æ•°å€¼çš„æ•°ç»„ hobby=xx&hobby=game
String[] getParameters(String name)
// èŽ·å–è¯·æ±‚å‚æ•°åç§°(与获取请求头方法类似)
Enumeration<String> getParameterNames()
// èŽ·å–æ‰€æœ‰å‚æ•°çš„Map集合
Map<String,String> getParameterMap()
request.setCharacterEncoding("UTF-8");
// é€šè¿‡request对象获取请求转发服务器:
RequestDispatcher getRequestDispatcher(String path);
// ä½¿ç”¨==RequestDispatcher对象来进行转发
forward(ServlertRequest request,ServletResponse response);
//设置状态码
response.setStatus(304);
// è®¾ç½®æŒ‡å®šåç§°å“åº”头的值,下面是导出的时候我们经常要设置的响应头,响应头当中还有文件的名称,也就是通过流下载文件的时候那个文件名称
response.setHeader("Content-Disposition", "attachment;filename=" + zipName);
// 1.字符输出流
PrintWriter getWriter()
// 2.字节输出流(一般导出就是将文件写到字节流,然后响应response)
ServletOutputStream getOutputStream()
// æ³¨æ„ï¼šåœ¨åŒä¸€ä¸ªServlet,二种输出流不能同时使用,产生互斥
// response提供了专门负责重定向的方法
response.sendRedirect("/项目地址/资源地址");
// æŒ‡å®šæœåŠ¡å™¨å“åº”ä¸­æ–‡çš„ç¼–ç æ–¹å¼
response.setCharacterEncoding("GBK");
// ç»Ÿä¸€æœåŠ¡å™¨å’Œå®¢æˆ·ç«¯çš„ç¼–ç æ–¹å¼
response.setContentType("text/html;charset=utf-8");
// å¯¼å‡ºçš„æ—¶å€™å¦‚果需要直接通过response流导出Excel,需要和前端设置上下文类型,如下:
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
----------------------------------------------------------------------------------------------------