java http地址,发送post请求,eclipse运行没问题,打包成jar运行报错

java.io.IOException: Server returned HTTP response code: 400 for URL: http://113.204.53.18:8091/innosill/esb/schedule/receivingcarrierplan
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at com.hezhi.kylwsp.ui.stationCoordination.LinePlanManageUi.doPost(LinePlanManageUi.java:615)
at com.hezhi.kylwsp.ui.stationCoordination.LinePlanManageUi.commitBtnMedth(LinePlanManageUi.java:566)
at com.hezhi.kylwsp.ui.stationCoordination.LinePlanManageUi.BtnComMit(LinePlanManageUi.java:475)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.hezhi.ui.composite.button.HZbutton$1.widgetSelected(HZbutton.java:68)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at com.hezhi.kylwsp.ui.main.Main.open(Main.java:136)
at com.hezhi.kylwsp.ui.main.LoginDialog$4.keyPressed(LoginDialog.java:326)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:161)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
at org.eclipse.swt.custom.CCombo.textEvent(CCombo.java:1693)
at org.eclipse.swt.custom.CCombo$1.handleEvent(CCombo.java:111)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1103)
at org.eclipse.swt.widgets.Text.sendKeyEvent(Text.java:1427)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1099)
at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1508)
at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4268)
at org.eclipse.swt.widgets.Text.WM_CHAR(Text.java:2175)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4160)
at org.eclipse.swt.widgets.Text.windowProc(Text.java:2170)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655)
at com.hezhi.kylwsp.ui.main.LoginDialog.open(LoginDialog.java:83)
at com.hezhi.kylwsp.ui.main.Login.main(Login.java:308)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.exe4j.runtime.WinLauncher.main(Unknown Source)

封装的方法:
public static String doPost(String parm,String url) {
    String result = "";
    PrintWriter out = null;
    BufferedReader in = null;
    try {

        URL realUrl = new URL(url);
        // 打开和URL之间的连接
        URLConnection conn = realUrl.openConnection();
        // 设置通用的请求属性
        //conn.setRequestMethod("POST");  
        conn.setRequestProperty("accept", "*/*");
        conn.setRequestProperty("connection", "Keep-Alive");
        conn.setRequestProperty("Content-Type", "application/json"); 
        conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
        // 发送POST请求必须设置如下两行
        conn.setDoOutput(true);
        conn.setDoInput(true);
        // 获取URLConnection对象对应的输出流
        out = new PrintWriter(conn.getOutputStream());
        // 发送请求参数
        out.print(parm);
        // flush输出流的缓冲
        out.flush();
        // 定义BufferedReader输入流来读取URL的响应
        in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));

// in = new OutputStreamWriter(con.getOutputStream());
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
System.out.println(result);
return result;
}

5个回答

要打包成war包。不能是jar包。

web项目是打包成war,不是jar。

问题应该与jar包不jar包无关, 应该是你的访问参数不对, 返回400是因为请求不符合服务器约定, 找接口开发人员要文档吧

400是参数不对,你用日志记录一下,在eclipse和jar包运行的时候发送的参数是不是不一样

根据你项目的打包类型来进行打包

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java项目报错404,但是地址没问题

![图片说明](https://img-ask.csdn.net/upload/201703/05/1488699888_266524.png) ![图片说明](https://img-ask.csdn.net/upload/201703/05/1488699900_418542.png) 如图,反复核对了好久,但是点击后还是报错404

java 接口调用 空指针问题

![这是不是表明我的接口可以调用!](https://img-ask.csdn.net/upload/201602/17/1455694864_478265.png) 但是当我为当中任何一个传参时,都会报空指针!以下是我认为有问题的部分,求大神指点!![图片说明](https://img-ask.csdn.net/upload/201602/17/1455695143_137358.png)![图片说明](https://img-ask.csdn.net/upload/201602/17/1455695227_175211.png) 这是我的配置文件! 【 web。xml】 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- 加载Spring容器配置 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 设置Spring容器加载配置文件路径 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <!-- springMVC配置 --> <!-- <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> --> <!-- 配置webservice的cxf --> <servlet> <servlet-name>CXFService</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CXFService</servlet-name> <url-pattern>/cxf/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

ajax使用post回写数据到jsp页面,为什么页面取不到数据

param属性是什么 ![param属性是什么 ] (https://img-ask.csdn.net/upload/201801/07/1515257571_460565.png) 我用的是阿里巴巴的一个工具类回写数据 ![我用的是阿里巴巴的一个工具类回写数据](https://img-ask.csdn.net/upload/201801/07/1515257639_412457.png)

SpringMVC controller中不同的请求相互调用了,什么情况?百度了好多,没见过遇到这个问题的。。。

是这样的,今天在写课程大作业的时候,在排查bug,这个问题一直解决不了。 本来删除商品之后,不会再显示,第一次进行的时候测试成功,但是接下来进行 添加货品 - > 删除货品 的时候,需要传入的信息都正确,后台也显示删除成功, 但是发现数据没有删除,再往深里排查发现再删除之后又调用了一次添加操作, 有时候点击删除按钮还会跳到添加商品页面,毫无头绪。 网页前端: 添加按钮 (https://img-ask.csdn.net/upload/201904/21/1555815306_483090.png) 删除按钮及其函数: (https://img-ask.csdn.net/upload/201904/21/1555815373_605488.png) (https://img-ask.csdn.net/upload/201904/21/1555815390_833109.png) 后台处理请求: 添加: (https://img-ask.csdn.net/upload/201904/21/1555815436_319968.png) 删除: (https://img-ask.csdn.net/upload/201904/21/1555815478_332425.png) 控制台打印: (https://img-ask.csdn.net/upload/201904/21/1555815525_949940.png) 有人能解答一下嘛?谢谢。

ajax如何解决跨域问题?

后端是用eclipse开发的java后台,前端使用webstorm,前端html文件中通过ajax请求 后台接口,由于后台和前端共用一个端口没发同时访问,所以我修改了eclipse的端口为8088,webstorm的端口为8080,。然后在html中通过ajax请求后台接口地址Http://localhost:8088/test/user.json;ajax一直走失败的方法,在浏览器错误Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://10.20.153.16:8080' is therefore not alloed access.请大神们帮忙看下怎么解决

js加入ajax,怎么运行不了了

以前是学习后台的。刚刚接触ajax,很多问题还不懂,结果代码运行不了,急死了,超级打击积极心。 ajax需要引包吗,但是仅仅是下面的两行代码。。。 为什么运行不了?虚心求教 ``` var inputElement = document.getElementById("tid"); alert(inputElement.value); ```

vue 调用eclipse 创建的动态web项目的后端接口,后端相应接口没运行(采用的SSM框架),有哪位大佬知道什么原因和相应解决方案的吗?

**我是写后端的**(现在测试vue用的静态数据), 在接口中添加了一个输出获取到的参数值的输出语句 ``` System.out.println(id+":aaaaaa:"+password+":aaaaaaa:"+identity); ``` 前端vue请求数据是表单数据, 后端采用的Spring相关依赖版本都为 4.3.6.RELEASE, 使用的 @CrossOrigin 注解来跨域, 采用的 ``` cd C:\Users\asus\AppData\Local\Google\Chrome\Application start chrome.exe --allow-file-access-from-files --disable-web-security --user-data-dir="C:\Users\asus\Desktop\vue测试" ``` 这种方式打开的谷歌测试vue,不用的话要报 ``` Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. ``` 错误 # **---------------------------------** #附上Java后端接口代码 ``` @ResponseBody @CrossOrigin @RequestMapping(value = "/userLogin", method = RequestMethod.POST) public UserLogin userLogin(@RequestParam("id") String id, @RequestParam("password") String password, @RequestParam("identity") String identity) throws SQLException{ UserLogin ul = new UserLogin(1); System.out.println(id+":aaaaaa:"+password+":aaaaaaa:"+identity); if (identity.equals("学生")) { if (id.equals("111111111") && password.equals("222222")) { ul = new UserLogin(200, "龙阳","学生"); } } else if (identity.equals("教师")) { if (id.equals("111111111") && password.equals("222222")) { ul = new UserLogin(200, "周立章","教师"); } } else { if (id.equals("111111111") && password.equals("222222")) { ul = new UserLogin(200, "侯爽","管理员"); } } return ul; } ``` # ------------------------ #postman测试后端的截图 ![图片说明](https://img-ask.csdn.net/upload/202004/16/1587005237_671659.jpg) ![图片说明](https://img-ask.csdn.net/upload/202004/16/1587005392_345902.png) # ------------------------ #vue运行测试出的截图 ![图片说明](https://img-ask.csdn.net/upload/202004/16/1587005262_22173.jpg) ![图片说明](https://img-ask.csdn.net/upload/202004/16/1587005285_329754.png) # ------------------------ **我想知道是我后端的问题还是前端的问题,解决方案是什么?**

servlet映射配置问题,我在本机测试的时候映射没有问题,但是放入到服务器后前台表单无法提交到servlet?

# 本机测试没有问题 登陆的form提交到Login.java没有问题![图片说明](https://img-ask.csdn.net/upload/202002/22/1582374719_797880.png) # 但是服务器端就出现问题了 无论是form表单访问还是ajax异步提交都是一片白 web.xml的映射没有动过 ![图片说明](https://img-ask.csdn.net/upload/202002/22/1582375192_441719.jpg) ## 下面是web.xml的代码 ``` <description></description> <display-name>Login</display-name> <servlet-name>Login</servlet-name> <servlet-class>Sevelet.Login</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet-name> <url-pattern>/Login</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>ImageUpload</display-name> <servlet-name>ImageUpload</servlet-name> <servlet-class>Sevelet.ImageUpload</servlet-class> </servlet> <servlet-mapping> <servlet-name>ImageUpload</servlet-name> <url-pattern>/ImageUpload</url-pattern> </servlet-mapping> ``` ## 下面是servlet的项目结构 ![图片说明](https://img-ask.csdn.net/upload/202002/22/1582375222_855293.png) ## 前台form提交和异步主要代码 ``` //form <form action="../sp_xgks_up" method="post"></form> //异步 xmlhttp.open("GET","../Sp_xginfodown?q="+id,true); ``` 大佬们,我本地idea+tomcat8 本地的tomcat和服务器上的是一致的,但是本地没问题,服务器就是有问题,服务器是阿里的系统是linux!!!!在线等,我是新手谢谢大家了

求助:无法使用JAX-WS开发webservice项目

# 问题: 在使用JAX-WS以bottom-up方式开发webservice项目时,基于某一个java**类SOSOpenAPI**创建时,报错:An internal error occurred during: "Generating JAX-WS Web Services". Unable to create JAXBContext 错误的详细信息如下: javax.xml.ws.WebServiceException: Unable to create JAXBContext at com.sun.xml.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:158) at com.sun.xml.ws.model.AbstractSEIModelImpl.postProcess(AbstractSEIModelImpl.java:87) at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:262) at com.sun.tools.ws.wscompile.WsgenTool.buildModel(WsgenTool.java:225) at com.sun.tools.ws.wscompile.WsgenTool.run(WsgenTool.java:124) at com.genuitec.eclipse.ws.jaxws.JaxWSBUJob.wsGen(JaxWSBUJob.java:229) at com.genuitec.eclipse.ws.jaxws.JaxWSBUJob.run(JaxWSBUJob.java:125) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) Caused by: java.security.PrivilegedActionException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions java.lang.StackTraceElement does not have a no-arg default constructor. this problem is related to the following location: at java.lang.StackTraceElement at public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace() at java.lang.Throwable at private java.lang.Throwable[] jaxws.IOExceptionBean.suppressed at jaxws.IOExceptionBean at java.security.AccessController.doPrivileged(Native Method) at com.sun.xml.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:148) ... 7 more Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions java.lang.StackTraceElement does not have a no-arg default constructor. this problem is related to the following location: at java.lang.StackTraceElement at public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace() at java.lang.Throwable at private java.lang.Throwable[] jaxws.IOExceptionBean.suppressed at jaxws.IOExceptionBean at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:102) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:438) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139) at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:105) at com.sun.xml.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:153) at com.sun.xml.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:149) ... 9 more ** SOSOpenAPI.java**代码如下: import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.OutputStream; import java.util.zip.GZIPOutputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; import org.w3c.dom.Document; import org.xml.sax.SAXException; import com.sensorweb.sos.request.RequestOperator; import com.sensorweb.sos.response.ISosResponse; /** * WebService入口函数 * * */ public class SOSOpenAPI { private DocumentBuilderFactory docBuildFactory; //XML解析工厂类 private RequestOperator reop; //请求操作类 /** 无参数构造函数 */ public SOSOpenAPI() { this.docBuildFactory = DocumentBuilderFactory.newInstance(); this.docBuildFactory.setNamespaceAware(true); this.reop = new RequestOperator(); } /** SOSService中的核心方法 * 该方法在使用SOSService中的功能时被调用 * 通过inputString返回相应的响应结果 * @param inputString String * @return result byte[] * * */ public byte[] getResponse(String inputString) throws IOException { ISosResponse sosResp = null; //存放响应结果 Document fullRequestDoc = null; //存储解析的XML请求 byte[] bytes = null; //以字节数组的形式存储最后结果 try { synchronized (this.docBuildFactory) { DocumentBuilder docBuilder = this.docBuildFactory .newDocumentBuilder(); fullRequestDoc = docBuilder.parse(new ByteArrayInputStream( inputString.getBytes())); } } catch (ParserConfigurationException pce) { System.out.println("Error while parsing request!" + pce); } catch (SAXException saxe) { System.out.println("Error while parsing request!" + saxe); } fullRequestDoc.getDocumentElement().normalize(); sosResp = this.reop.doPostOperation(inputString);//调用全局变量reop的doPostOperation方法 OutputStream out = null; GZIPOutputStream gzip = null; ContentRs cr = new ContentRs(); try { String contentType = sosResp.getContentType(); int contentLength = sosResp.getContentLength(); bytes = sosResp.getByteArray();//将响应结果转化为字节数据存储 } catch (IOException ioe) { } catch (TransformerException ioe) { } return bytes; //返回结果 } } ``` ``` 而使用与SOSOpenAPI.java在同一包下的**ContentRs.java**作为基类就可以创建webservice,**ContentRs.java**的代码如下: /** * 该类是一个JavaBean,用于存储最后返回的结果 * */ public class ContentRs { private String contentType; //返回结果的类型 private int contentLength; //返回结果的大小 private byte[] bytes; //返回的结果 public String getContentType() { return contentType; } public void setContentType(String contentType) { this.contentType = contentType; } public int getContentLength() { return contentLength; } public void setContentLength(int contentLength) { this.contentLength = contentLength; } public byte[] getBytes() { return bytes; } public void setBytes(byte[] bytes) { this.bytes = bytes; } } ``` ``` # 已做的尝试: 更改项目的jdk为jdk1.8.0和jdk1.7.0时,仍然报错 # 求助: 哪位前辈对此类问题有解决方案,求指导啊

httpclient-4.5.2读取超时,重发没起到作用,为什么?

1、写了一个httpclient的工具类,也写了重试的逻辑, 但是在多个线程在使用同一个httpclient实例的时候, 发现线程read time out的超时并没有被重发很郁闷(线程直接进入的SocketTimeoutException异常, 导致本次线程的请求没有拿到再次重发后的结果,导致数据丢失) public CloseableHttpClient getHttpClient() { return HttpClients.custom(). setConnectionManager(connMrg). setKeepAliveStrategy(myStrategy). setDefaultRequestConfig(requestConfig). setConnectionManagerShared(true). setMaxConnTotal(maxTotal). setRetryHandler( new HttpRequestRetryHandler() { @Override public boolean retryRequest(IOException exception , int executionCount , HttpContext context) { // 重试3次,从3开始 if (executionCount > 3) { return false; } /* if (exception instanceof NoHttpResponseException) { System.out.println( "[NoHttpResponseException has retry request:" + context.toString() + "][executionCount:" + executionCount + "]"); return true; } else if (exception instanceof SocketException || exception instanceof ConnectTimeoutException || exception instanceof SocketTimeoutException ) { System.out.println("[SocketException has retry request:" + context.toString() + "][executionCount:" + executionCount + "]"); return true; } */ if (exception instanceof UnknownHostException) { return false; } // SSL handshake exception if (exception instanceof SSLException) { return false; } //除上述两种异常其他异常均重试3次,其实主要问题在于 //服务端对连接数限制,会导致你再怎么重试,都会异常,连接数满了,重试还有毛用 //所以设置连接池的时候需要设置的比他们的最大值小,用完要及时释放到连接池 String time3 = new SimpleDateFormat("HH:mm:ss.SSS").format(new Date()); System.out.println("time:"+time3+"="+Thread.currentThread().getName() +"\n"+"[Exception:"+exception.toString()+" has retry request:" + context.toString() + "][executionCount:" + executionCount + "]"); return true; } } ). build(); } 问题3: String time3 = new SimpleDateFormat("HH:mm:ss.SSS").format(new Date()); System.out.println("time:"+time3+"="+Thread.currentThread().getName() +"\n"+"[Exception:"+exception.toString()+" has retry request:" + context.toString() + "][executionCount:" + executionCount + "]"); return true; 这段代码发生read time out的时候执行了,但是executionCount一直都是1,我理解应该是重发了一次,但是子线程里的日志打印了异常,并没有获取到重试后的结果 问题4,子线程取数据逻辑,只写了主要逻辑 httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8"); // httpPost.setHeader("SOAPAction", ""); StringEntity data = new StringEntity(inputPara, Charset.forName("UTF-8")); httpPost.setEntity(data); try { response = httpClient.execute(httpPost); httpEntity = response.getEntity(); if (httpEntity != null) { // 获取响应内容 returnVal = EntityUtils.toString(httpEntity, "UTF-8"); // 消费掉节约内存,并关闭inputstream流 EntityUtils.consume(httpEntity); } } catch (Exception e) { e.printStackTrace(); } finally { try { // 关闭流并释放资源 response.close(); } catch (Exception e) { e.printStackTrace(); } } 我认为在这段的httpEntity = response.getEntity();执行的时候 readtime out,然后代码直接进入了catch逻辑,所以重发后的结果并没有取到。 问题5: 1、我就是想解决,读取超时就重发,一直到3次结束。 2、是不是我设置的读取超时时间为60s导致根本没办法重发,服务端可能已经把短连接关闭了 因为http默认短连接时间好像就是60s。我猜测,如果我设置读取时间为10s,可能就可以重试3次了。 3、 try{ httpEntity = response.getEntity(); } catch() { } 这段逻辑跟 创建httpclient的方法里面的重试方法,当发生异常时,到底是这段阻塞httpEntity = response.getEntity(); 等待3次重发?还是是异步的,里面重发,外面直接进入异常逻辑,根本不等重发后的结果

淘淘商城运行users.jsp页面出现400错误。

![图片说明](https://img-ask.csdn.net/upload/201909/12/1568267628_637428.png) 上面的是项目的的文件列表。 cn.itcast.usermanage.controller包 PageController.java文件代码 ``` package cn.itcast.usermanage.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; /** * 通用的页面跳转逻辑 * * @author * */ @Controller @RequestMapping("page") public class PageController { /** * 具体的跳转页面逻辑 -- test4 * * @param pageName * @return 视图名 */ @RequestMapping(value = "{pageName}", method = RequestMethod.GET) public String toPage(@PathVariable("pageName") String pageName) { return pageName; } } ``` mybatis.xml代码 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` spring文件代码区 applicationContext-mybatis.xml文件代码区 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` applicationContext-transaction.xml代码区 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` applicationContext.xml代码区 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` itcast-usermanage-servlet.xml代码区 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` web.xml文件 ``` <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>itcast-usermanage</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext*.xml</param-value> </context-param> <!--Spring的ApplicationContext 载入 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 编码过滤器,以UTF8编码 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 解决PUT请求无法提交表单数据的问题 --> <filter> <filter-name>HttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class> </filter> <filter-mapping> <filter-name>HttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 将POST请求转化为DELETE或者是PUT 要用_method指定真正的请求方法 --> <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping> <filter-name>HiddenHttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 配置SpringMVC框架入口 --> <servlet> <servlet-name>itcast-usermanage</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/itcast-usermanage-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>itcast-usermanage</servlet-name> <!-- 可行:/、*.xxx、/xxx/* 不行:/* --> <url-pattern>/rest/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- ________________________________ --> <context-param> <param-name>spring.profiles.active</param-name> <param-value>dev</param-value> </context-param> <context-param> <param-name>spring.profiles.default</param-name> <param-value>dev</param-value> </context-param> <context-param> <param-name>spring.liveBeansView.mbeanDomain</param-name> <param-value>dev</param-value> </context-param> <!-- ________________________________ --> </web-app> ``` 还有的就是,我的tomcat默认是localhost:8080 运行tomcat报错图片 ![图片说明](https://img-ask.csdn.net/upload/201909/12/1568267939_567846.png) 求大佬帮我看看那里出了问题,找了一天了。还是没找到那里有问题!! 一直是400错误! users.jsp代码 ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>会员管理系统</title> <link rel="stylesheet" type="text/css" href="/js/jquery-easyui-1.4/themes/default/easyui.css" /> <link rel="stylesheet" type="text/css" href="/js/jquery-easyui-1.4/themes/icon.css" /> <script type="text/javascript" src="/js/jquery-easyui-1.4/jquery.min.js"></script> <script type="text/javascript" src="/js/jquery-easyui-1.4/jquery.easyui.min.js"></script> <script type="text/javascript" src="/js/jquery-easyui-1.4/locale/easyui-lang-zh_CN.js"></script> <script type="text/javascript" src="/js/common.js"></script> </head> <body> <div> <table class="easyui-datagrid" id="userList" title="会员列表" data-options="singleSelect:false,collapsible:true,pagination:true,url:'/user/list',method:'post',pageSize:5,toolbar:toolbar,pageList:[2,5,10]"> <thead> <tr> <th data-options="field:'ck',checkbox:true"></th> <th data-options="field:'id',width:60">ID</th> <th data-options="field:'userName',width:200">用户名</th> <th data-options="field:'name',width:100">姓名</th> <th data-options="field:'age',width:100">年龄</th> <th data-options="field:'sex',width:80,align:'right',formatter:formatSet">性别</th> <th data-options="field:'birthday',width:80,align:'right',formatter:formatBirthday">出生日期</th> <th data-options="field:'created',width:130,align:'center',formatter:formatDate">创建日期</th> <th data-options="field:'updated',width:130,align:'center',formatter:formatDate">更新日期</th> </tr> </thead> </table> </div> <div id="userAdd" class="easyui-window" title="新增会员" data-options="modal:true,closed:true,iconCls:'icon-save',href:'/user/page/add'" style="width:800px;height:600px;padding:10px;"> The window content. </div> <script type="text/javascript"> function formatDate(val,row){ var now = new Date(val); return now.format("yyyy-MM-dd hh:mm:ss"); } function formatBirthday(val,row){ var now = new Date(val); return now.format("yyyy-MM-dd"); } function formatSet(val,row){ if(val == 1){ return "男"; }else if(val == 2){ return "女"; }else{ return "未知"; } } function getSelectionsIds(){ var userList = $("#userList"); var sels = userList.datagrid("getSelections"); var ids = []; for(var i in sels){ ids.push(sels[i].id); } ids = ids.join(","); return ids; } var toolbar = [{ text:'新增', iconCls:'icon-add', handler:function(){ $('#userAdd').window('open'); } },{ text:'编辑', iconCls:'icon-edit', handler:function(){ $.messager.alert('提示','该功能由学员自己实现!'); } },{ text:'删除', iconCls:'icon-cancel', handler:function(){ var ids = getSelectionsIds(); if(ids.length == 0){ $.messager.alert('提示','未选中用户!'); return ; } $.messager.confirm('确认','确定删除ID为 '+ids+' 的会员吗?',function(r){ if (r){ $.post("/user/delete",{'ids':ids}, function(data){ if(data.status == 200){ $.messager.alert('提示','删除会员成功!',undefined,function(){ $("#userList").datagrid("reload"); }); } }); } }); } },'-',{ text:'导出', iconCls:'icon-remove', handler:function(){ var optins = $("#userList").datagrid("getPager").data("pagination").options; var page = optins.pageNumber; var rows = optins.pageSize; $("<form>").attr({ "action":"/user/export/excel", "method":"POST" }).append("<input type='text' name='page' value='"+page+"'/>") .append("<input type='text' name='rows' value='"+rows+"'/>").submit(); } }]; </script> </body> </html> ``` ![图片说明](https://img-ask.csdn.net/upload/201909/16/1568593584_158545.png)

SpringSecurity登录的时候一直重定向,回到登录页面

springsecurity3.2 <br/>说起来,我这个原本前台是ANGULARJS+HTML写的 <br/>但是公司单点登录必须要JSP页面,因为是老系统,html不支持 <br/>所以没办法,就写了个JSP来登录 <br/>然后我登录上去会报302,而且response里面带location:login.jsp <br/>我确认过用户名密码,没问题,而且我也重写了UserDetailsService <br/>但是根本没有到UserDetailServic这一步,应该是授权的时候就不通过 <br/>说实话,对springsecurity不太了解,下面是配置文件,麻烦大神指点! <br/><br/>config-file <br/> ``` <!-- 以下页面不被拦截 --> <http pattern="/login_sso.jsp" security="none"></http> <http pattern="/css/**" security="none"></http> <http pattern="/fonts/**" security="none"></http> <http pattern="/images/**" security="none"></http> <http pattern="/js/**" security="none"></http> <http pattern="/lib/**" security="none"></http> <http pattern="/plugins/**" security="none"></http> <http use-expressions="false"> <!-- 拦截规则 --> <intercept-url pattern="/**" access="ROLE_USER" /> <!-- 登录配置 1登陆页面 2登陆成功跳转页面 3登录失败跳转页面 4总是使用默认跳转页面--> <form-login login-page="/login_sso.jsp" default-target-url="/index.html" login-processing-url="/j_spring_security_check" authentication-failure-url="/login.html" always-use-default-target="true"/> <csrf disabled="true"/> <!-- 由于使用了框架页面,所以要进行以下配置 --> <headers> <frame-options policy="SAMEORIGIN"/> </headers> <!-- 登出配置 --> <logout logout-url="/logout" logout-success-url="/login_sso.jsp"/> </http> ``` <br/> login.jsp ``` <form id="loginForm" name="loginForm" action="/modify/j_spring_security_check" method="post" > <input type="text" id="username" name="name" /> <input type="password" id="password" name="password" /> <input value="登录" style="width:100%;" type="button" onclick="document:loginForm.submit()"> </form> ``` <br/><br/> response信息,这个是向login-processing-url发起请求后的返回信息,直接被重定向回login.jsp了,而且都没到UserDetailService <br/> ![图片说明](https://img-ask.csdn.net/upload/201903/05/1551788138_54021.png)

关于js函数调用不起作用的问题

今天在学习ajax的时候,按照课本上的步骤,但是最后没有任何效果 ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>search Suggest</title> <script type="text/javascript" src="/js/ajax.js"></script> <script type="text/javascript"> var trSrc; //设置下拉提示框的位置 function setDivPosition() { alert("error"); var input = document.getElementById("inputWord"); var listdiv = document.getElementById("wordsListDiv"); listdiv.style.left = (input.offsetLeft)+"px"; listdiv.style.border = "blue 1px solid"; listdiv.style.top = (input.offsetTop+input.offsetHeight)+"px"; listdiv.style.width = (input.offsetWidth)+"px"; } function search() { alert("search?"); var inputWord = document.getElementById("inputWord").value; var url = "SearchSuggest"; var params = "inputWord="+inputWord; sendRequest(url,params,"POST",display); } function display() { alert("display?"); if(httpRequest.readyState == 4){ if(httpRequest.status == 200){ var xmlDoc = httpRequest.responseXML; clearDivData(); changeDivData(xmlDoc); }else{ alert("您请求的界面有异常!"); } } } // 清除下拉框中的数据 function clearDivData(){ alert("clearDiv"); var tbody = document.getElementById("wordsListTbody"); vat trs = tbody.getElementsByTagName("tr"); for(var i=trs.length-1;i>0;i--){ tbody.removeChild(trs[i]); } } // 设置用户选中条目的背景色 function setBgColor() { if(trSrc){ trSrc.style.backgroundColor = "white"; } trSrc = event.srcElement; trSrc.style.backgroundColor = "gray"; } // 将用户选中的条目显示在文本框中 function setText(){ alert("setText"); document.getElementById("inputWorld").value = trSrc.firstChild.data; document.getElementById("wordsListDiv").style.visibility = "hidden"; } // 实际将数据加入下拉提示框 function changeDivData(xmlDoc) { alert("changeDiv"); var words = xmlDoc.getElementsByTagName("word"); var tbody = document.getElementById("wordsListTbody"); for(i=0;i<words.length;i++){ var newTr = document.createElement("tr"); var newCell = document.createElement("td"); var wordText = words[i].firstChild.data; var textNode = document.createTextNode(wordText); newCell.onmouseover = setBgColor; newCell.onclick = setText; newCell.appendChild(textNode); newTr.append(newCell); tbody.appendChild(newTr); } if(words.length>0){ document.getElementById("wordsListDiv").style.visibility = 'visible'; }else{ document.getElementById("wordsListDiv").style.visibility = 'hidden'; } } </script> </head> <body onload="setDivPosition()"> <p>搜索字符串:<input type="text" id="inputWord" onkeyup="search()"></p> <div id="wordsListDiv" style="position:absolute;visibility:hidden"> <table id="worksListTable"> <tbody id="wordsListTbody"><tr><td>test</td></tr></tbody> </table> </div> </body> </html> ``` 其中就是body标签调用的onload,然后文本框调用了onKeyUp,在两个函数里面都加了一条alert语句,然后运行的时候还是什么反应都没有,求大佬给看一下是什么原因

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

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

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

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

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。 JVM内存结构 JVM构成 说到JVM内存结构,就不会只是说内存结构的5个分区,而是会延展到整个JVM相关的问题,所以先了解下

和黑客斗争的 6 天!

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

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

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

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

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

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

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

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

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

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

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

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

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

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

离职半年了,老东家又发 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多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

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

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

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

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

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

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

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

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

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

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

立即提问
相关内容推荐