Spring mvc 如何启动 socket

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring mvc 如何启动 socket相关的知识,希望对你有一定的参考价值。

O(∩_∩)O哈哈~,解决了,我把socket写成一个工具类,然后调用方法。

这个解决了,又遇见个新问题-----java如何获得手机端ip?????

参考技术A public static String getIpAddr(HttpServletRequest request)
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
ip = request.getHeader("Proxy-Client-IP");

if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
ip = request.getHeader("WL-Proxy-Client-IP");

if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
ip = request.getRemoteAddr();

if (ip.equals("0:0:0:0:0:0:0:1"))
ip = "本地";

if (ip.split(",").length > 1)
ip = ip.split(",")[0];

return getIpInfo(ip);
追问

这个是获得电脑端ip的

本回答被提问者采纳

Spring:MVC启动时的WebApplicationContext的关系

在整合了SpringMVC的应用中,其实存在两个上下文容器,即两个WebApplicationContext,这两个容器是什么关系呢?且看分析。

1、Servlet启动顺序是先调用listener的监听方法,再调用servlet的init()方法。
2、Spring中存在一个ContextLoaderListener,这个Listener监听web项目的启动,项目启动时,会先调用ContextLoaderListener中初始化方法,初始化一个rootWebApplicationContext并放到ServletContext中。
3、然后Servlet初始化的时候会调用DispatcherServlet的init()方法(该方法在父类的父类HttpServletBean中),这时会先从ServletContext中拿到之前初始化的根容器,作为当前容器的父容器,然后初始化当前容器。
4、父子容器的效果是子容器可以读到父容器中的bean,而父容器不能读到子容器的bean。一般父容器中存储Service、Dao等bean,而子容器中存储Controller、ViewResolver等bean,这种分层的行为不仅使得bean很好管理,而且实现MVC模块的解耦,做到了MVC可插拔的效果,非常值得我们学习。

后续补充:这种是以前SpringMVC时的顺序,现在SpringBoot貌似没有分父子容器,都是一个容器,后续研究完Springboot怎么干的再在本文章下补充。不过这种源码的编程思想还是很值得我们学习的。

以上是关于Spring mvc 如何启动 socket的主要内容,如果未能解决你的问题,请参考以下文章

请教在Spring MVC中,如何实现启动时从数据库读取信息

如何让spring mvc web应用启动时就执行特定处理

如何让spring mvc web应用启动时就执行特定处理

如何让spring mvc web应用启动时就执行特定处理

如何让spring mvc web应用启动时就执行特定处理

spring mvc初次启动没啥问题,可启动并且使用,但重启服务后,扫描hbm文件卡住的现象项目就启动不了