java - SpringMVC如何有没有中间件之类的东西 ?
问题描述
@RequestMapping('/admin') public String index(ModelMap modelMap,HttpServletRequest req){String scheme = req.getScheme();String serverName = req.getServerName();int serverPort = req.getServerPort();String path = req.getContextPath();String basePath = scheme+'://'+serverName+':'+serverPort+path+'/';modelMap.put('basePath',basePath);modelMap.put('adminPath', basePath+'admin/');modelMap.put('staticPath', basePath+'static/admin/common');return 'admin/index'; } @RequestMapping('/admin/login') public String login(ModelMap modelMap,HttpServletRequest req){String scheme = req.getScheme();String serverName = req.getServerName();int serverPort = req.getServerPort();String path = req.getContextPath();String basePath = scheme+'://'+serverName+':'+serverPort+path+'/';modelMap.put('basePath',basePath);modelMap.put('adminPath', basePath+'admin/');modelMap.put('staticPath', basePath+'static/admin/common');return 'admin/login'; }
获取路径的代码写了两份 ,感觉好臃肿啊,怎么让只写一份,然后给共用?
问题解答
回答1:1.首先中间件概念你没弄清楚,不能乱用2.回到你的问题,就是一个方法抽取的场景,建议看一下<<代码重构>>这本书
回答2:写到filter当中,或者用动态代理
回答3:代码随便重构一下就好看多了
public String index(ModelMap modelMap,HttpServletRequest req){ String basePath = getBasePath(req); modelMap.put('basePath',basePath); modelMap.put('adminPath', basePath+'admin/'); modelMap.put('staticPath', basePath+'static/admin/common'); return 'admin/index';}private String getBasePath(HttpServletRequest req) { String scheme = req.getScheme(); String serverName = req.getServerName(); int serverPort = req.getServerPort(); String path = req.getContextPath(); String basePath = scheme+'://'+serverName+':'+serverPort+path+'/'; return basePath;}
相关文章:
1. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题2. java - instance method中 static后的<K>是什么意思?3. javascript - QWebEngineView 如何爬 angular 的动态数据?4. java - com.android.internal.R.attr.dialogTheme 这个dialogTheme的内容再哪里查看?5. java - 一段递归代码的问题6. python3.x - python连oanda的模拟交易api获取json问题第五问7. css3 - 图片等比例缩放8. java - 关于File的问题?9. html5 - 这个代码显示功能如何实现?10. 错误:java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。<init>(I)V
