springMVC 怎么实现跨域请求?

springMVC 怎么实现跨域请求?我的版本是4.2的,
官网说明的不是很明确,配置了下没成功,改如何配置呢?



2个回答

直接使用 httpClient组件, 发送http请求就可以啦, 为什么要借助于 springMVC呢??

而且跨域这个概念是针对浏览器而言的, 不是针对后台java程序的。

cike8899
别过经年 是用springMVC 的cors可以配置的!
接近 4 年之前 回复
cike8899
别过经年 回复pppprograming: 试了,不行!
接近 4 年之前 回复
ggyy_pro
pppprograming 你看看这篇帖子。。是不是你要的答案
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java 跨域请求 第一次session总会失效

最近项目用到了跨域请求 用的是jQuery的jsonp方式的跨域 但是第一次发送请求时的jessionId保存不到服务端 具体如下![这是第一次的请求](https://img-ask.csdn.net/upload/201710/12/1507793886_369457.png) ![这是第二次的请求](https://img-ask.csdn.net/upload/201710/12/1507793903_570892.png) 从上面可以看到 第一次请求的request携带了一个jessionId 但是服务端返回的信息中 也携带了一个不同的jessionId 第二次发请求时 请求头又携带了另一个jessionId 这次的jessionId就是可用的 以后每次跨域 这个jessionId都是可用的 这是前台ajax ![图片说明](https://img-ask.csdn.net/upload/201710/12/1507794129_886073.png) 求大神看看是什么问题啊 实在找不出来了

前后端分离shiro拦截跨域options请求

先后段分离的项目,前端设置好跨域用ajax发送一个请求,后台是springboot,使用shiro验证权限, 可是由于是跨域访问,再发送请求之前先发了一个options试探请求,结果走到shiro过滤器,shiro认为是没有登录的请求,直接将页面跳转到了配置的登录页面。请 问大神,这种情况应该如何处理。。。

Java中SSM框架跨域请求

异步请求后台方法,查询所有新房源信息 ![图片说明](https://img-ask.csdn.net/upload/202004/01/1585740569_155337.jpg) 报错:has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. ![图片说明](https://img-ask.csdn.net/upload/202004/01/1585740723_534279.jpg) 后台查询所有新房源方法 ![图片说明](https://img-ask.csdn.net/upload/202004/01/1585740816_369087.jpg) 网上说的加上@CrossOrigin,SpringMVC配置文件配置跨域请求,谷歌浏览器快捷放式,目标后面加上空格 --allow-file-access-from-files都没用,这个问题怎么解决,产生的原因是什么?????? <mvc:cors> <!-- allowed-methods="*" --> <!-- 表示所有请求都有效 --> <mvc:mapping path="/**" allowed-origins="*" allowed-methods="POST, GET, OPTIONS, DELETE, PUT" allowed-headers="Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With" allow-credentials="true" /> </mvc:cors>

javaweb项目跨域存放session和获取session信息

项目是前后端分离,我在controller登陆信息判断需要存放session吗?,springmvc拦截器如何获取前端的session。

spring mvc controller重定向一个外网页面

如题spring mvc controller 怎么指向一个外网页面,并且是POST请求,还带了一些参数及值到那个页面。

springmvc的controller可不可以实现跳转页面的同时传json数据到前台js?

我知道modelAndView这些方法,就是想问问可不可以实现跳转页面并让前台跳转的页面接受json数据![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/22.gif)![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/22.gif)

axios请求post变成get同时多一个别的地址的options请求

配置请求头和请求拦截后,试验获取token值,但是post请求会变成get请求,同时多了一个http://www.139site.com/?e=dns&t=api.mars.net/router/token.htm的请求,config中跨域请求也配置好了,就是请求不出来,试过别的地址请求可以做到,就是想不通了 ``` import Qs from "qs"; import _vue from "@/main.js"; import axios from "axios"; import store from "@/store/index"; axios.defaults.headers["Content-Type"] = "application/x-www-form-urlencoded"; axios.defaults.headers["X-Requested-With"] = "XMLHttpRequest"; axios.defaults.withCredentials = true; axios.defaults.crossDomain = true; /** * 请求拦截器 */ axios.interceptors.request.use( config => { let token = window.sessionStorage.getItem("x_token"); config.data.x_token = token; config.data = Qs.stringify(config.data); return config; }, err => { return Promise.reject(err); } ); ``` ``` let baseUrls = baseUrl + "/token.htm"; // 获取 token const getToken = () => { // 清空 token window.sessionStorage.setItem("x_token", ""); axios .post(baseUrls, {}) .then(res => { if (res.success) { store.commit({ type: "getToken", x_token: res.data.x_token }); } else { getToken(); } }) .catch(res => { console.log(res); }); }; ``` 报错: Access to XMLHttpRequest at 'http://www.139site.com/?e=dns&t=api.mars.net/router/token.htm' (redirected from 'http://console.mars.net:81/baseUrl/token.htm') from origin 'http://console.mars.net:81' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

SpringMVC: 前端用ajax方式可以获取session中的数据 直接访问控制器无法正确获取session中的数据?

# 一、直接访问控制器 ``` @RequestMapping("login") public String login(User user, HttpSession session){ User loginedUser = userServiceImpl.login(user); System.out.println(loginedUser); if(loginedUser != null){ session.setAttribute("user", user); return "redirect:/main.jsp"; } else { session.setAttribute("error", "用户名或密码错误"); return "redirect:/index.jsp"; } } ``` 直接访问控制器时,控制台输出loginedUser对象正常![图片说明](https://img-ask.csdn.net/upload/201909/15/1568517985_991574.png) 之后存入session中,在前端取出时数据异常 ![图片说明](https://img-ask.csdn.net/upload/201909/15/1568518202_676558.png) # 二、使用ajax获取 ``` @RequestMapping("showUser") @ResponseBody public User showUser(HttpSession session){ User user = new User(); user.setUname("张三"); user.setPwd("123"); User loginUser = userServiceImpl.login(user); session.setAttribute("user", loginUser); return loginUser; } ``` JS代码: ``` $(function () { $.post({ url: 'showUser', dataType: 'json', success: function (data) { alert("data.id:" + data.id + "\n" + "data.uname:" + data.uname + "\n" + "data.pwd:" + data.pwd + "\n" + "data.rid:" + data.rid + "\n" + "data.menus:" + data.menus); } }); }); ``` 结果: ![图片说明](https://img-ask.csdn.net/upload/201909/15/1568518705_713208.png) 并且通过ajax方式存入的session缓存中的数据也是正确的: ![图片说明](https://img-ask.csdn.net/upload/201909/15/1568518835_96134.png) ## 疑惑 两种方式都是调用的同一个service对象的同一个方法,返回的对象也是一样的,为什么直接访问控制器存入session中,在前端获取数据时就会发生异常呢?应该怎么解决?

前端VUE后端SpringBoot,无法获取登录信息,所有的请求都被判定为未登陆

求大神帮忙,三张图分别是前端main.js,后端登录代码,前端登录代码 ![前端main.js](https://img-ask.csdn.net/upload/202002/26/1582706380_462541.png) ![后端登录代码](https://img-ask.csdn.net/upload/202002/26/1582706507_654132.png) ![前端登录代码](https://img-ask.csdn.net/upload/202002/26/1582706555_710936.png)

art.dialog.open 请求URL地址失败问题

artdialog使用的版本是4 引用的js有: > /source/artDialog.js > /source/artDialog.plugins.js > /source/jquery.artDialog.js > /plugins/iframeTools.js > /plugins/iframeTools.source.js 上边不会少js吧? 下面是我在js中写得代码: ``` art.dialog.open(rootPath + '/xxx/yyyy.shtml', { title : "新增", width : "600px", height : "80%" } ,true); ``` 用的框架是Springmvc、 当调用这个js的时候在页面一直出现‘loading..’没有加载到内容,也没有请求Controller的方法。

SpringMvc返回JSON只要加上 @ResponseBody就报错

为了排除错误,没有通过页面进入这个方法。目前是直接通过项目名+rootBank 访问的这个方法。 代码: @ResponseBody @RequestMapping("rootBank") public String rootBank(HttpServletResponse response){ List<LinkedHashMap<String, String>> rootBank = bank.getRootBank(); GsonResponse gson=new GsonResponse(rootBank); String s=gson.toGson(); System.out.println(s); return s; } 错误信息: java.lang.IllegalStateException: getWriter() has already been called for this response at net.bull.javamelody.FilterServletResponseWrapper.getOutputStream(FilterServletResponseWrapper.java:105) at org.springframework.http.server.ServletServerHttpResponse.getBody(ServletServerHttpResponse.java:84) at org.springframework.http.converter.StringHttpMessageConverter.writeInternal(StringHttpMessageConverter.java:106) at org.springframework.http.converter.StringHttpMessageConverter.writeInternal(StringHttpMessageConverter.java:40) at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:207) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:148) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:90) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:193) at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:71) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:122) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

接口被大量访问后,数据库请求没反应的问题

最近网站被黑客攻击,一个获取验证码的接口被大量的请求(大概1天有几十万次的请求), 这个获取验证码的接口做的事情是生成一个随机数放到session里, 服务器运行了大概1个月左右,所有涉及到访问数据库的请求都没有反应了(访问超时), 但其他没有访问数据库的请求(比如页面跳转)之类的请求都可以访问. 重启服务器后回复正常. 请问这个是什么原因导致的呢?难道是session把内存占满了,所以才无法访问数据库呢? ps 服务器用的是tomcat7.0 ,项目架构用的是springmvc

spring boot设置了Access-Control-Allow-Origin还是有跨域问题

最近使用spring cloud框架进行前后端分离开发,因为我们是通过网关去访问后台接口,ip 、端口都相同,所以没有出现过跨域问题,但是前端的同事把项目用webstrom打开以后(端口和ip就成了webstrom分配的)就有了跨域问题无法请求到后台,浏览器报"CORS 头缺少 'Access-Control-Allow-Origin'",但是我们已经在网关里设置了Access-Control-Allow-Origin为*,代码如下: ``` @Service public class AuthFilter extends ZuulFilter { /** * 日志对象 */ private static final Logger logger = LoggerFactory.getLogger(AuthFilter.class); @Autowired private FilterConfig filterConfig; /** * redis缓存 */ @Autowired private RedisService redisService; @Override public boolean shouldFilter() { return true; } @Override public Object run() { RequestContext ctx = RequestContext.getCurrentContext(); HttpServletRequest request = ctx.getRequest(); HttpServletResponse response = ctx.getResponse(); //解决浏览器跨域问题 response.addHeader("Access-Control-Allow-Origin", "*"); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); // response.addHeader("Access-Control-Allow-Credentials", "true"); // response.addHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH"); // response.addHeader("Access-Control-Max-Age", "3600"); // response.addHeader("Vary", "Origin"); response.addHeader("Access-Control-Allow-Headers", "token,accesstoken,Content-type"); //请求接口URL时登录token有效性校验 return null; } @Override public String filterType() { return "pre"; } @Override public int filterOrder() { return 0; } } ``` 对此我在本地随便写了个小项目还原了当时的情景,我把代码以及报错贴出来麻烦各位看一下哪里有不对的; 前端代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-1.9.1.min.js"></script> </head> <script> function t1(){ $.ajax({ url:'http://localhost:9001/xzw/say', type:'post', contentType : 'application/json;charset=utf-8', dataType:'json', data : JSON.stringify({ batch_id : 'ncveirugheasolvgil' }), success : function(data){ alert('成功跨域'); alert(data); }, error : function(){ alert('error'); } }) } </script> <body> <input type="button" value="测试跨域是否能获取数据" onclick="t1()"/> </body> </html> ``` 后台代码: ``` @RestController @RequestMapping("/xzw") public class PageDemoController { @RequestMapping("/say") public String say(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="batch_id")String batch_id){ response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.addHeader("Access-Control-Allow-Headers", "*"); System.out.println("batch_id="+batch_id); return "hello world"; } } ``` 浏览器报错 > 已拦截跨源请求:同源策略禁止读取位于 http://localhost:9001/xzw/say 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。[详细了解] > > 已拦截跨源请求:同源策略禁止读取位于 http://localhost:9001/xzw/say 的远程资源。(原因:CORS 请求未能成功)。[详细了解] 我们项目里的拦截器原本除了设置Access-Control-Allow-Origin还有验证token的代码,前端如果先进行登陆然后在ajax请求的时候把token拿到放在header里就不会有跨域问题,我把token验证的代码去掉了就出现了跨域问题,但是我看验证token的逻辑判断对跨域没有什么特殊的处理,一下为拦截器原代码: ``` public Object run() { RequestContext ctx = RequestContext.getCurrentContext(); HttpServletRequest request = ctx.getRequest(); HttpServletResponse response = ctx.getResponse(); //解决浏览器跨域问题 response.addHeader("Access-Control-Allow-Origin", "*"); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); // response.addHeader("Access-Control-Allow-Credentials", "true"); // response.addHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH"); // response.addHeader("Access-Control-Max-Age", "3600"); // response.addHeader("Vary", "Origin"); response.addHeader("Access-Control-Allow-Headers", "token,accesstoken,Content-type"); //请求接口URL时登录token有效性校验 Object token = request.getHeader("token"); if(token==null||token.equals("")) { token = null; } boolean flag = false;//请求路径是否在过滤范围标识 if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { ctx.setSendZuulResponse(false); return null; } String ignores = filterConfig.getIgnores(); if(!StringUtilHelper.isEmpty(ignores)) { String[] ignores_arr = ignores.split(","); for(String ignore:ignores_arr) { if(request.getRequestURI().toString().contains(ignore)) { //无需token校验 flag = true; break; } } } logger.info("网关日志:method={}, uri={},result={},token={}",request.getMethod(), request.getRequestURI(), (true==flag?"无需token校验":"需要token校验"),token); if(!flag) { //需要校验token有效性 if(token==null) { ctx.setSendZuulResponse(false); ctx.setResponseStatusCode(HttpServletResponse.SC_UNAUTHORIZED); ctx.setResponseBody("token为空,未认证用户"); return null; } else { //redis校验 if(redisService.check(token.toString())!=ServiceConstants.STATE_1) { ctx.setSendZuulResponse(false); ctx.setResponseStatusCode(HttpServletResponse.SC_UNAUTHORIZED); ctx.setResponseBody("token超时,请重新登录"); return null; } } } return null; } ```

springSecurity如何在配置文件中配置需要放行的

1.虽然注册页面我配置了放行,但是注册页面上的请求全部被springsecurity安全框架拦截了,请问如何在配置文件中配置放行指定的get/post请求吗?以下是配置文件 ``` <!--放行不需要拦截的资源页面--> <security:http pattern="/login.jsp" security="none"></security:http> <security:http pattern="/failer.jsp" security="none"></security:http> <security:http pattern="/403.jsp" security="none"></security:http> <security:http pattern="/register.jsp" security="none"></security:http> <security:http pattern="/sampling.jsp" security="none"></security:http> <!--<security:http pattern="/index.jsp" security="none"></security:http>--> <security:http pattern="/css/**" security="none"></security:http> <security:http pattern="/img/**" security="none"></security:http> <security:http pattern="/pages/**" security="none"></security:http> <security:http pattern="/plugins/**" security="none"></security:http> <!--配置拦截的规则和放行的条件 auto-config 支持默认的配置 use-expression 使用表达式 为false 关闭表达式 intercept-url 拦截的资源规则 access 允许访问的角色条件 --> <security:http auto-config="true" use-expressions="false"> <!--多个角色之间是或者的关系 任意角色即可登录--> <security:intercept-url pattern="/**" access="ROLE_USER,ROLE_TEST"></security:intercept-url> <!-- login-page 自定义登录页面 login-processing-url 登录页面form表单请求的url地址 default-target-url 登录成功目标页面 authentication-failure-url 登录失败的页面 --> <security:form-login login-page="/login.jsp" login-processing-url="/login" default-target-url="/index.jsp" authentication-failure-url="/failer.jsp"></security:form-login> <!--配置登录成功权限不足的处理--> <security:access-denied-handler error-page="/403.jsp"></security:access-denied-handler> <!--关闭跨域请求的拦截--> <security:csrf disabled="true"></security:csrf> <!--配置退出的过滤器 invalidate-session="true" session过期 logout-success-url 退出成功的跳转页 logout-url 页面发起退出请求的路径 --> <security:logout invalidate-session="true" logout-success-url="/login.jsp" logout-url="/logout"></security:logout> </security:http> <!--配置拦截访问的验证--> <security:authentication-manager> <security:authentication-provider user-service-ref="userService"> <!--验证过的业务实现类使用框架的UserDetailService--> <!--初始化固定的账号用于测试 {noop}表示密码验证方式为明文验证 原始密码 123456 密文验证 加密密码 fd34falfacdffa34rfafadfa <security:user name="user" password="{noop}user" authorities="ROLE_USER"></security:user> <security:user name="admin" password="{noop}admin" authorities="ROLE_ADMIN"></security:user> --> <!--选择系统默认的加密方式--> <security:password-encoder hash="bcrypt"></security:password-encoder> </security:authentication-provider> </security:authentication-manager> <!--配置加密工具类的bean对象--> <bean id="pwdEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"></bean> </beans> ```

$.ajax post报403错误

通过freemarker跳转到springmvc某个controller,如果是get方式则没什么问题。如果是post,这里表单制定的是post方式,controller制定的也是post,但是跳转不过去。并且报403错误

页面向控制器传值是不是不刷新或者跳转页面就不会传值(除了AJAX)

最近写程序发现了许多问题,希望有大神能帮忙解答: 1.假设有一个注册页面,有用户名密码和验证码,验证码是后台程序生成的,那个值传到页面上怎么传我用的是SSH框架。同时还要判断验证码正确与否。 2.如果验证码是手机验证码请求,向页面传验证码,又要把验证码通过AJAX把值请求道聚合数据,这样一来就有两个AJAX,我不知道怎么处理。当然聚合数据短信验证不支持跨域访问,但是如果可以,怎么做。 3.一个submit按钮,我想让她控制多个form,按钮也有单独的一个form怎么办。 2.如果验证码是手机验证码请求,向页面传验证码,又要把验证码通过AJAX把值请求道聚合数据,这样一来就有两个AJAX,我不知道怎么处理。当然聚合数据短信验证不支持跨域访问,但是如果可以,怎么做。 3.一个submit按钮,我想让她控制多个form,按钮也有单独的一个form怎么办。

如今还有必要使用Webservice么?

不知道算不是一个过时的问题。 这里指的是狭义的Webservice,那种使用soap的,即用xml传输数据的。相比较,诸如springMVC提供的controller这种http接口服务。同样都是通过一个url+请求数据来访问的后台服务。 我知道这两者在基础原理上是不同的,比如协议的层面等等,但就使用场景而言,有什么是ws能做而get/post做不到,或者ws做的更好的呢?毕竟开发效率上来说明显普通http服务更喜闻乐见。 如今网上搜到的介绍ws的信息所阐述的优点也是比较过时。比如ws解决了前后端跨语言跨平台,请求跨域等等,这些问题还处在把后端代码写在页面上的年代。还有XML能表达更复杂的结构,如今用json也能达到一样的效果。 至于安全性啊、编码啊、性能啊更没关系了吧,都是通过http协议来传输的,A能做的事情B也都能做

响应的set-cookie头 ,无法写入cookie

大家好,有个问题想请教下,项目为html+ajax构建 tomcat会将JSESSIONID放在响应头的Set-cookie属性里,然后浏览器将这个回话cookie写入cookie,但是我在测试的时候并没有把这个cookie写到浏览器里,第二次的请求不会把这个cookie带给服务端,导致服务端取不到session 我尝试过在服务端用response.addCookie写入cookie, 当次的响应set-cookie头里能看那到,但是浏览器cookie里没有 ![图片说明](https://img-ask.csdn.net/upload/201508/12/1439392240_300939.jpg) 可以看到响应头里是有的 ![图片说明](https://img-ask.csdn.net/upload/201508/12/1439392282_442064.jpg) response cookie里也能看到 ![图片说明](https://img-ask.csdn.net/upload/201508/12/1439392314_940360.jpg) 但是浏览器cookie里没有,不知道是什么原因。 浏览器应该没有禁用cookie,因为访问别的例如百度cookie是OK的

Cache-Control设置不起效

现在我需要做浏览器缓存:请求一个url时,如果有缓存,就不访问后台 ``` @RequestMapping("pic.html") public String pic(ModelMap map, HttpServletResponse response) { response.setHeader("Cache-Control", "public,max-age=310"); long expires = new Date().getTime() + 10 * 60 * 1000; response.setDateHeader("Expires", expires); response.setHeader("Etag", "12345"); map.put("test", "testPic"); return "json"; } ``` ![图片说明](https://img-ask.csdn.net/upload/201801/03/1514965660_634574.png) 像这样,我设置Cache-Control,但是浏览器中出现这样的情况。 设置的参数并没有覆盖,然后缓存也不起效果;请求仍然访问后台

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

C++11:一些微小的变化(新的数据类型、template表达式内的空格、nullptr、std::nullptr_t)

本文介绍一些C++的两个新特性,它们虽然微小,但对你的编程十分重要 一、Template表达式内的空格 C++11标准之前建议在“在两个template表达式的闭符之间放一个空格”的要求已经过时了 例如: vector&lt;list&lt;int&gt; &gt;; //C++11之前 vector&lt;list&lt;int&gt;&gt;; //C++11 二、nullptr ...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

【阿里P6面经】二本,curd两年,疯狂复习,拿下阿里offer

二本的读者,在老东家不断学习,最后逆袭

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!...

作者 | 伍杏玲出品 | CSDN(ID:CSDNnews)格子衬衫、常掉发、双肩包、修电脑、加班多……这些似乎成了大众给程序员的固定标签。近几年流行的“跨界风”开始刷新人们对程序员的...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

立即提问
相关内容推荐