关于ajax返回值data的IS的问题

先贴出代码:

 <script language="javascript">    
    function addclick() {                                        //点击触发addclick事件
                var txtuserName = $("#txtuserName").val();//用jquery获取id为txtuserName的页面标记的value,存放在txtuserName变量里
                $.ajax({
                    type: "POST",                                         //ajax的方式为post(get方式对传送数据长度有限制)
                    url: "/AjaxRequest/AddUser.ashx",           //一般处理程序页面AddUser.ashx(在2中会写出该页面内容)
                    dataType: "json",                                   //数据传回的格式为json
                    data: { adduserName: txtuserName},       //要传送的数据键值对adduserName为键(方便2中的文件用此名称接受数据)txtuserName为值(要传递的变量,例如用户名)
                    success: function (data) {                       //成功回传值后触发的方法
                        if (data != null && data.IS != "") {        //如果回传的json不为null或json中的IS键对应的值不为空,则触发一下代码,否则弹出“请重新尝试”
                            if (data.IS == "-1") {                      //如果json中的IS键对应的值为-1,则说明用户名已在数据库中存在
                                alert("添加失败!该名已存在!");
                            }
                            else if (data.IS == "0") {                 //json中的IS键对应的值为0,则说明用户名没有添加成功
                                alert("添加失败!");
                            }
                            else if (data.IS == "-2") {               //json中的IS键对应的值为-2,则说明数据库返回的主键列不能转换成INT32类型
                                alert("数据库连接失败或访问失败!");
                            }
                            else {
                                alert("添加成功!");
                                $("#txtuserName").val("");
                            }
                        }
                        else {
                            alert("请重新尝试!");
                        }
                    }
                })
            }
</script>

我想请教下data.IS里面这个IS是什么?我百度不到?哪位大神能解释的详细点吗?

2个回答

首先你要理解data是指ajax 返回的数据 ,这个数据有可能是任意类型或任意值(一般都是对象),is就是这个返回的对象(data)的一个属性,自然是百度不到的,想要知道具体的内容,在succee 返回函数里面输出data 就看到了,

data是ajax回调函数success返回的对象,那么data.LS就是json对象中LS属性的值。你可以弹出data的值看一下是什么就知道了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
AJAX返回值判断,就是判断数值是否为1,没有反应?请高手帮我看看代码
``` if ($(this).is("#yzm")) { var reg = /^(13|15|17|18)\d{9}$/; if (this.value == "") { var show = $("<span class='error'><br>请填写验证码</span>"); $(this).parent().append(show); } else if (this.value.length < 4) { var show = $("<span class='error'><br>请准确填写验证码</span>"); $(this).parent().append(show); } else{ $.ajax({url:"code_back.asp",type:'POST',data:{v:this.value},dataType:'text',success:function(data){ if(data=='1'){ var show = $("<span class='error'><br>请准确填写验证码</span>"); $(this).parent().append(show); } }}); } } ``` 就是在 if(data=='1'){ var show = $("<span class='error'><br>请准确填写验证码</span>"); $(this).parent().append(show); } }}); } 这个部分 没有办法实现提示,应该怎么做呢
使用jquery ajax判断用户名是否存在后,如果做表单提交?
各位大神好,我还没有学query,但在做练习的时候,需要判断用户名是否存在,于是尝试使用了下$.get()方法来获取action返回值。 用以下代码,我能正确获取到action的返回值。在使用返回值做判断也都是正常的,**但是在表单提交的时候**,无法正常的return,执行if的顺序也很奇怪 代码: ```javascript //检查用户名:不能为空,且不能重复 function checkUsername() { var username = document.getElementById("username").value; var username_message = document.getElementById("username_message"); username_message.style.fontSize = "12px"; //只需要判断是否为空,输入了内容会进行用户名存在的校验 if (username == "" || username.length == 0) { username_message.style.color = "red"; username_message.innerHTML = "请输入用户名"; return false; } //如果用户输入了内容,那么使用ajax验证用户名是否已存在 else{ var actionMessage; // ajax获取到action的查询结果 $.get("user_checkUsername.action?"+new Date().getTime(),{'username':username}, function(data){ alert("in ajax data is: "+data); actionMessage = data; alert("in ajax actionMessage is: "+actionMessage); //本来是在这里面完成判断的,发现有问题后提取出去,问题还是在 }); if(actionMessage=="exist"){ alert("if exist, actionMessage is: "+actionMessage); username_message.style.color = "red"; username_message.innerHTML = "用户名已存在"; return false; } else if(actionMessage=="ok") { alert("if ok, actionMessage is: "+actionMessage); username_message.style.color = "green"; username_message.innerHTML = "用户名可以使用"; return true; } else{ alert("if neither, actionMessage is: "+ actionMessage); return false; } } } ``` onblur失焦时会调用一次这个方法,然后提交表单时,也会调用一次。 问题:data的值是没问题的,不管失焦还是提交表单,alert的弹出顺序都是: if neither, actionMessage is: undefined in ajax data is: exist in ajax actionMessage is: exist 然后就结束了。 请问为什么会出现这种现象?if else的顺序难道不是应该从上到下吗?况且执行完了第一个alert,alert("if neither, actionMessage is: "+ actionMessage);后的return貌似没有执行? 在线跪求答案。
ajax返回的列表中做一个超链接,点击超链接无刷新显示子项目
我做了一个ajax查询项目子项目的功能 ,但是现在ajax返回的值上还要做一个查询子项目的功能。不知道怎么做了!求大神帮忙 。 效果如图:![![![图片说明](https://img-ask.csdn.net/upload/201510/13/1444718443_116497.png) 图片说明](https://img-ask.csdn.net/upload/201510/13/1444718431_432754.png) 图片说明](https://img-ask.csdn.net/upload/201510/13/1444718419_856578.png) ``` function getCgjx(line,parcode){ var rqlcode = document.getElementById("rqlcodes").value; var mytr = $("#table_tr_"+line+"_tr"); var mytbody = $("#table_tr_"+line+"_tbody"); if(mytr.is(":visible")){ mytr.hide(); }else{ var isload = $("#table_tr_"+line+"_hidden"); if(isload.val()==0){ $.ajax({ url : 'splitplan!ajaxCgjxlist.do', type : 'POST', data : { parcode:parcode, rqlcode:rqlcode }, dataType : 'json', success : function(date) { var record = eval(date); for(var i=0;i<record.length;i++){ var rql = record[i]; var node = "<tr><td>"+rql.rEQCODE+"</td>"; node += "<td>"+rql.rEQDESC+"</td>"; node += "<td>"+rql.kM+"</td>"; node += "<td>"+rql.rEQLX+"</td>"; node += "<td>"+rql.rQLQTY+"</td></tr>"; $(node).appendTo(mytbody); } isload.val(1); mytr.show(); } }); }else{ mytr.show(); } } } ```
一个小白问题,ajax与后台交互
学习中,使用ssh,前端用了jquery,不是获取不到返回值,就是error,请问如何解决。 java代码: ``` private String msg = "Operation is Error!!!"; private String name; private String pwd; public void login() { System.out.println("用户:" + name + ",登录"); if (name == null || "".equals(name.trim()) || pwd == null || "".equals(pwd.trim())) { msg = "name and password cannot be null"; } msg = "Welcome~~~~~~~~~~"; } public void setName(String name) { this.name = name; } public void setPwd(String pwd) { this.pwd = pwd; } public String getMsg() { return msg; } ``` struts代码: ``` <package name="l" extends="json-default"> <action name="login" class="LoginAction" method="login"> <result type="json"> <param name="includeProperties">msg</param> </result> </action> </package> ``` js代码: ``` $.ajax({ url:"login", type:"post", data:{"name":name,"pwd":pwd}, dataType:"json", error:function(){ alert("OMG"); }, success:function(data){ alert("hi"); alert(data); }); ```
JSP菜鸟一枚,请教如何实现在JSP页面点击button 按钮提交POST请求,并获取返回值
JSP菜鸟一枚,请教如何实现在JSP页面点击button 按钮提交POST请求,并获取返回值,问题很困扰。 因为之前不太了解框架和技术,之前用过ajax、jquery,请求成功,但是返回值取不出来,因为跨域请求安全问题。准备用servlet,但是servlet需要在服务端做修改,显然不适合,我是接口调用。请问大家有什么好的方法,实现JSP页面按钮提交求情获取返回值,最好能给一段代码示例。 Index.jsp <%@ page language="java" import="java.util.*" %> <%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> <%@ page import="WEB_API.*"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head header("Access-Control-Allow-Methods:GET,POST");> <base href="<%=basePath%>"> <title>中文显示示例</title> <meta http-equiv="Access-Control-Allow-Origin" content="http://eucpwx.mb345.com:443"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <% WEB_API wa=new WEB_API(); String res=wa.sendPost("17761280053", "验证码是123"); System.out.println(res); %> <script type="text/JavaScript" src="js/jquery-3.0.0.min.js" ></script> <script type="text/javascript"> function dianji(){ $.post("http://eucpwx.mb345.com:443/AppApi/User/GetUserList?UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName=", function(data){ alert("Data Loaded: " + data); }); } </script> </head> <body>中文显示示例 <br> <input id="test" type="text" value="jquery"/> <input id="btn" type="button" onclick="dianji()" value="单击弹窗"/> </body> </html> WEB_API.java package WEB_API; import java.awt.EventQueue; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import javax.swing.*; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON.*; public class WEB_API{ private static Connection con = null; public static void main(String[] args) { } public WEB_API(){ } public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; String strUrl="http://eucpwx.mb345.com:443/AppApi/User/GetUserList?"; String strparam = "UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName="; try { URL realUrl = new URL(strUrl); URLConnection conn = realUrl.openConnection(); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setDoOutput(true); conn.setDoInput(true); out = new PrintWriter(conn.getOutputStream()); out.print(strparam); out.flush(); in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送POST请求出现异常!" + e); e.printStackTrace(); } finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } } 火狐浏览器显示: ![图片说明](https://img-ask.csdn.net/upload/201709/07/1504778539_257069.png)
jsp 页面怎么通过按钮提交POST请求,并获取返回值。
我用过ajax,jquery,提交请求可以,但是返回值获取不到,提示跨域请求的问题。直接放弃,因为我是接口请求。 index.jsp <%@ page language="java" import="java.util.*" %> <%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> <%@ page import="WEB_API.*"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head header("Access-Control-Allow-Methods:GET,POST");> <base href="<%=basePath%>"> <title>中文显示示例</title> <meta http-equiv="Access-Control-Allow-Origin" content="http://eucpwx.mb345.com:443"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <% WEB_API wa=new WEB_API(); String res=wa.sendPost("17761280053", "验证码是123"); System.out.println(res); %> <script type="text/JavaScript" src="js/jquery-3.0.0.min.js" ></script> <script type="text/javascript"> function dianji(){ $.post("http://eucpwx.mb345.com:443/AppApi/User/GetUserList?UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName=", function(data){ alert("Data Loaded: " + data); }); } </script> </head> <body>中文显示示例 <br> <input id="test" type="text" value="jquery"/> <input id="btn" type="button" onclick="dianji()" value="单击弹窗"/> </body> </html> WEB_API.java package WEB_API; import java.awt.EventQueue; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import javax.swing.*; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON.*; public class WEB_API{ private static Connection con = null; public static void main(String[] args) { } public WEB_API(){ } public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; String strUrl="http://eucpwx.mb345.com:443/AppApi/User/GetUserList?"; String strparam = "UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName="; try { URL realUrl = new URL(strUrl); URLConnection conn = realUrl.openConnection(); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setDoOutput(true); conn.setDoInput(true); out = new PrintWriter(conn.getOutputStream()); out.print(strparam); out.flush(); in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送POST请求出现异常!" + e); e.printStackTrace(); } finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } } ![图片说明](https://img-ask.csdn.net/upload/201709/07/1504780002_204864.png)
使用ajaxSubmit 一部提交表单报ajaxSubmit is not function
框架是struts2 在使用ajaxSubmit异步提交表单报错$(...).ajaxSubmit is not a function 我引进了jquery-form.js 并且加载了 代码如下 ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src = "<%=request.getContextPath()%>/js/jquery.min.js"></script> <script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-form.js"></script> <title>Insert title here</title> <script type="text/javascript"> function upload(){ var options = { url : "<%=request.getContextPath()%>/upload/uploadPic", type : "post", dataType : "json", success : function(data){ alert(data); } } $("#aaa").ajaxSubmit(options); } </script> </head> <body> <form action="<%=request.getContextPath()%>/upload/uploadPic" method="post" id="aaa" enctype="multipart/form-data"> <input id="infile" name="picture" type="file" onchange="upload()"> </form> </body> </html> ``` ![图片说明](https://img-ask.csdn.net/upload/201705/20/1495280200_451576.png) 上传图片就报错 ![图片说明](https://img-ask.csdn.net/upload/201705/20/1495280337_827135.png 请问这个问题怎么解决啊 ,或者有没有别的异步上传图片,我需要有返回值的。请帮帮忙。
Extjs如何获取后台方法返回的值然后前台接收值再把此值放入action url里进行load加载
前台://把上传的 文件发送到相应Action function upload(){ var tml = document.getElementById("fileId"); if(tml.value == ''){ Ext.MessageBox.alert('提示','请选择需要上传文件'); return; } Ext.Ajax.request({ url: '../manager/print!excelUpload.action', form: Ext.fly('uploadForm'), waitMsg: "正在保存数据...", headers: {'Content-type':'multipart/form-data'}, isUpload: true, success: function(response) { var jsonObj = Ext.decode(response.responseText); store.load(); }, failure: function (response) { if(Ext.util.JSON.encode(response.status)==0){ Ext.MessageBox.alert('提示','无法连接到服务器,请检查网络是否正常'); } else { Ext.MessageBox.alert('提示','操作出现异常,请与系统管理员联系'); } } }); 这是后台: public String excelUpload() throws FileNotFoundException, IOException { //获取当前系统时间时分秒 SimpleDateFormat st = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = st.format(new Date()); //获取文件路径转换输入流 InputStream is =new FileInputStream(filenPathname); //解析出来的 字符格式 WorkbookSettings workbookSettings = new WorkbookSettings(); workbookSettings.setEncoding("GBK"); try { //创建工作薄对象 (Excel对象) Workbook work =Workbook.getWorkbook(is,workbookSettings); //获取工作薄中表 Sheet sheet =work.getSheet(0); int rows = sheet.getRows();//获取总行数、 int cell =sheet.getColumns();//获取总列数 System.out.println(rows); System.out.println(cell); //循环所有行数 for (int i = 1; i < rows; i++) { PtUploadOrderTmp pt= new PtUploadOrderTmp(); System.out.println("------------" + i); String[] str = new String[cell]; //循环行下的每一列的值 //把每一行每一列的值循环出来 pt.setWaybillNo(sheet.getCell(0, i).getContents()); pt.setSenderAddress(sheet.getCell(1, i).getContents()); pt.setSenderCompany(sheet.getCell(2, i).getContents()); pt.setReceiverName(sheet.getCell(3, i).getContents()); pt.setReceiverPhone(sheet.getCell(4, i).getContents()); pt.setGoods(sheet.getCell(5, i).getContents()); pt.setPsc(BigDecimal.ONE); //件数 6 pt.setWeight(Double.valueOf(sheet.getCell(7, i).getContents()));//重量 pt.setVolume(BigDecimal.ZERO);//体积 8 pt.setCod(Double.valueOf(sheet.getCell(9, i).getContents()));//代收货款 pt.setPayment(sheet.getCell(10, i).getContents());//付款方式 try { pt.setSendDate(new SimpleDateFormat("yyyy-MM-dd").parse(sheet.getCell(11, i).getContents())); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }//发送时间 pt.setIsPrint(sheet.getCell(12, i).getContents().equals("是"));//是否打印 pt.setIsUpload(sheet.getCell(13, i).getContents().equals("是"));//是否上传 pt.setRemark1(sheet.getCell(14, i).getContents());//备注 pt.setBatchNo(time); //批次号 oderService.save(pt); } } catch (BiffException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ajaxJson(time); }
ssm 报错:org.springframework.context.annotation.internalAsyncAnnotationProcessor
# ssm 框架 在本地完美运行放到Linux服务器报错 以下内容 Error creating bean with name '**org.springframework.context.annotation.internalAsyncAnnotationProcessor'**: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.aop.interceptor.AsyncExecutionInterceptor.<init>(Ljava/util/concurrent/Executor;Lorg/springframework/aop/interceptor/AsyncUncaughtExceptionHandler;)V ## 之前是没有加 redis,没有发现问题,这次我加了redis然后就报错,大神们帮忙看看解决解决 这是spring-mvc配置: ``` ==============spring-mvc===================== <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd" > <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --> <mvc:annotation-driven/> <context:component-scan base-package="com.bls.mp.*"/> <!--避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <bean class="com.bls.mp.common.SpringTool"/> <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 --> <!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /> JSON转换器 </list> </property> </bean>--> <!-- 定义跳转的文件的前后缀 ,视图模式配置--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 --> <property name="prefix" value="/WEB-INF/resources/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认编码 --> <property name="defaultEncoding" value="utf-8" /> <!-- 文件大小最大值 --> <property name="maxUploadSize" value="10485760000" /> <!-- 内存中的最大值 --> <property name="maxInMemorySize" value="40960" /> </bean> <!-- 全局异常处理器 --> <bean class="com.bls.mp.common.exception.CustomExceptionResolver"></bean> <mvc:annotation-driven/> <!-- 拦截器配置 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/setadmin"/> <!--<mvc:mapping path="/user/userList"/> --> <mvc:mapping path="/Blocker"/> <mvc:mapping path="/grouponteam/grouponRanking"/> <mvc:mapping path="/grouponteam/arriverTime"/> <mvc:mapping path="/grouponteam/paging"/> <mvc:mapping path="/grouponteam/conditionGrouponT"/> <mvc:mapping path="/hospital/hospitalInfo"/> <mvc:mapping path="/hospital/setting"/> <mvc:mapping path="/hospital/orderdetails"/> <mvc:mapping path="/grouponteam/grouponTeamCountAndMoney"/> <mvc:mapping path="/grouponteam/OrderRefundList"/> <mvc:mapping path="/grouponteam/orderdetails"/> <mvc:mapping path="/grouponteam/paging"/> <mvc:mapping path="/grouponteam/conditionGrouponT"/> <mvc:mapping path="/grouponteam/grouponRanking"/> <mvc:mapping path="/grouponteam/arriverTime"/> <mvc:mapping path="/grouponteam/grouponTeamCountAndMoney"/> <mvc:mapping path="/imguoload"/> <mvc:mapping path="/imguoloads"/> <mvc:mapping path="/uploadFile"/> <mvc:mapping path="/uploadCenter"/> <mvc:mapping path="/onTheShelves"/> <mvc:mapping path="/updateTheRecommended"/> <mvc:mapping path="/deleteByGoods"/> <mvc:mapping path="/restoreGoods"/> <mvc:mapping path="/goods/goodslist"/> <mvc:mapping path="/goods/hasBeenOn"/> <mvc:mapping path="/goods/NotOn"/> <mvc:mapping path="/goods/RecycleBin"/> <mvc:mapping path="/goods/searchName"/> <mvc:mapping path="/goods/goodsdiy"/> <mvc:mapping path="/upload/uploadFile"/> <mvc:mapping path="/CreateClassImg"/> <mvc:mapping path="/imglist"/> <mvc:mapping path="/up_img"/> <mvc:mapping path="/moveImg"/> <mvc:mapping path="/deleteImg"/> <mvc:mapping path="/template/templateURL"/> <mvc:mapping path="/template/templateParentAll"/> <mvc:mapping path="/template/templatAll"/> <mvc:mapping path="/template/changeT"/> <mvc:mapping path="/template/deleteT"/> <mvc:mapping path="/TemplateMsg/addTemplateMsg"/> <mvc:mapping path="/TemplateMsg/templateMsgList"/> <mvc:mapping path="/TemplateMsg/templateSendlist"/> <mvc:mapping path="/TemplateMsg/TemplateSendMsg"/> <mvc:mapping path="/TemplateMsg/updataPTID"/> <mvc:mapping path="/TemplateMsg/deleteMB"/> <mvc:mapping path="/ThirdData/getdata"/> <mvc:mapping path="/ThirdData/updata"/> <mvc:mapping path="/setMoney/setMoneyList"/> <mvc:mapping path="/setMoney/setArriveMoney"/> <mvc:mapping path="/setMoney/checkfileCert"/> <mvc:mapping path="/setMoney/SetMoneyType"/> <mvc:mapping path="/user/userlists"/> <mvc:mapping path="/user/uOpenId"/> <mvc:mapping path="/visitor/theAlmostMoon"/> <mvc:mapping path="/visitor/SixAlmostMoon"/> <mvc:mapping path="/visitor/tops"/> <mvc:mapping path="/weixin/REFUND"/> <bean class="com.bls.mp.interceptor.AuthInterceptor"></bean> </mvc:interceptor> </mvc:interceptors> <task:annotation-driven/> <!-- 配置访问静态文件 --> <mvc:default-servlet-handler/> <mvc:resources location="/images/" mapping="/images/**"/> <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/> <mvc:resources location="/WEB-INF/resources/jsp/" mapping="/jsp/**"/> <mvc:resources location="/WEB-INF/resources/css/" mapping="/css/**"/> </beans> ``` 这是 web.xml ``` ==============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_3_0.xsd" version="3.0"> <display-name>Archetype Created Web Application</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mybatis.xml</param-value> <param-value>classpath:spring-redis.xml</param-value> </context-param> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>CORSFilter</filter-name> <filter-class>com.bls.mp.common.MyFilter</filter-class> <init-param> <param-name>excludedPages</param-name> <param-value>/UserAuthServlet</param-value> </init-param> </filter> <filter-mapping> <filter-name>CORSFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> </web-app> ``` 这是spring-mybatis.xml 配置 ``` ==============spring-mybatis.xml===================== <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 自动扫描 --> <context:component-scan base-package="com.bls.mp"/> <!-- 引入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:jdbc.properties" /> </bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 初始化连接大小 --> <property name="initialSize" value="${initialSize}"></property> <!-- 连接池最大数量 --> <property name="maxActive" value="${maxActive}"></property> <!-- 连接池最大空闲 --> <property name="maxIdle" value="${maxIdle}"></property> <!-- 连接池最小空闲 --> <property name="minIdle" value="${minIdle}"></property> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="${maxWait}"></property> </bean> <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 自动扫描mapping.xml文件 --> <property name="mapperLocations" value="classpath:com/bls/mp/mapping/*.xml"></property> </bean> <!-- DAO接口所在包名,Spring会自动查找其下的类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.bls.mp.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> </beans> ``` 这是spring-redis.xml配置 ``` ===================spring-redis.xml============== <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:property-placeholder location="classpath:*.properties"/> <!--设置数据池--> <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxIdle" value="${redis.maxIdle}"></property> <property name="minIdle" value="${redis.minIdle}"></property> <property name="maxTotal" value="${redis.maxTotal}"></property> <property name="maxWaitMillis" value="${redis.maxWaitMillis}"></property> <property name="testOnBorrow" value="${redis.testOnBorrow}"></property> </bean> <!--链接redis--> <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="${redis.host}"></property> <property name="port" value="${redis.port}"></property> <property name="password" value="${redis.password}"></property> <property name="timeout" value="${redis.timeout}"></property> <property name="poolConfig" ref="poolConfig"></property> </bean> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" p:connection-factory-ref="connectionFactory" > <!--以下针对各种数据进行序列化方式的选择--> <property name="keySerializer"> <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" /> </property> <property name="valueSerializer"> <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" /> </property> <property name="hashKeySerializer"> <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" /> </property> <!--<property name="hashValueSerializer"> <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" /> </property>--> </bean> </beans> ```
ajax校验数据库数据是否存在
``` <!-- 查询student_id是否存在 --> <select id="getStudent_id" resultMap="studentMap" parameterType="int"> SELECT * from student where student_id = #{student_id} </select> ``` ``` @RequestMapping("/studentID") public Student getStudent_id(Integer student_id) { Student student = userService.getStudent_id(student_id); if (student==null){ System.out.println("没有"); }else{ System.out.println("有"); } return student; } ``` ``` function check() {//js表单验证方法 var text = document.getElementById("xh").value;//通过id获取需要验证的表单元素的值 if (text == "") { alert("请输入学号!");//弹出提示 return false;//返回false(不提交表单) } if (!(/(^[1-9]\d*$)/.test(text))) { alert("请输入学号!");//弹出提示 return false;//返回false(不提交表单) } var student_id=$("#student_id").val(); $.ajax({ url:"<%=basePath%>user/studentID", type:"post", data:{"student_id":student_id}, dataType:"json", success:function(data){ if (data!=null ) { alert("有"); }else if(data==null && username !=''){ alert("没有"); } xmlhttp.open("GET","getcustomer.asp?q="+str,true); xmlhttp.send(); //alert("啊啊啊"); } }); return true;//提交表单 } </script> <body> <div class="listDIV"> <table border="1" width="50%" height="50%" style="text-align: center;"> <form action="<%=basePath%>user/one" method="post"> <input type="text" id="xh" name="student_id" placeholder="根据学号查询"> <button class="glyphicon glyphicon-select" onclick="return check();">查询</button> </form> ``` ``` 严重: Servlet.service() for servlet [springMVC] in context with path [/StudentManagementSSM] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerException at com.zmk.controller.UserTestController.getStudent_id(UserTestController.java:65) 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 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) 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) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1139) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source) ``` 我用ssm做的增删改查,搜索我想先校验一下数据库数据是否存在,存在就直接跳转查询,不存在就弹窗提示,中止提交表单,JS代码是我粘过来的,不会JS,有错误希望能告诉我如何改正,谢谢
echarts获取mysql中的数据可视化,legend怎么才能跟柱状图的颜色对应起来?
``` <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'echart.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="http://echarts.baidu.com/build/dist/echarts.js"></script> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript"> // 路径配置 require.config({ paths : { echarts : 'http://echarts.baidu.com/build/dist' } }); // 使用 require([ 'echarts', 'echarts/chart/bar' ,'echarts/chart/line'// 使用柱状图就加载bar模块,按需加载 ], drewEcharts ); function drewEcharts(ec) { // 基于准备好的dom,初始化echarts图表 var myChart = ec.init(document.getElementById('main')); var option = { color: ['#008b00', '#ffff00', '#ff7f00', '#cd0000','#0000cd'],//绿色,黄色,橙色,红色,蓝色 title:{ text: 'DECG', subtext: '物理量待定' }, //提示样式 tooltip : { show : true, trigger: 'axis', axisPointer: { //坐标轴指示器 crossStyle: { color: '#999' } } }, legend : { data: [{name: 'Good',textStyle:{color: '#008b00'}}, {name:'Watch',textStyle:{color: '#ffff00'}}, {name: 'Warning',textStyle:{color:'#ff7f00'}}, {name:'Abnormal value',textStyle:{color:'#cd0000'}}, {name:'Baseline',textStyle:{color:'#0000cd'}} ], orient: 'horizontal', x: 'center', y: 'bottom', padding: 0, itemWidth: 10, textStyle: { fontWeight: 'bold', fontSize:14 } }, grid: { left: '3%', right: '2%', top: '8%', bottom: '2%', containLable: true }, toolbox: { show : true, feature : { dataView : {show: true, readOnly: false}, magicType : {show: true, type: ['line', 'bar']}, restore : {show: true}, saveAsImage : {show: true} } }, calculable : true, xAxis : [ { type : 'category', //设置轴线属性 axisLine:{ lineStyle:{ color: '#4d4d4d' } }, axisLabel: { //x轴字体样式 interval:0, rotate:70, margin:2, textstyle: { color:"#222", fontSize: '16' }}, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", //web.xl中注册的Servlet的url-pattern data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].name); arr.push(result[i].name); } } }, error : function(errorMsg) { alert("图表请求数据失败!"); myChart.hideLoading(); } }) return arr; })() }], yAxis : [ { type : 'value', name: 'F/N', nameTextStyle:{//坐标轴标签设置 fontWeight: 'bold', fontiSize: '28' }, interval: 10, fontSize: '20', axisLine: { lineStyle:{ color: '#4d4d4d' } }, axisLabel: {//y轴字体样式 formatter: '{value}', textStyle: { color:"#222", fontSize: '16' } } }], series : [{ name : 'Good', type : 'bar', barGap: '1%', barCategoryGap: '10%', itemStyle:{ normal:{ color: function(params){ var index_num = params.data; //alert(param.value); if (index_num < 30){ return '#008b00'; //绿色 }else if (index_num>=30 && index_num<50){ return '#ffff00'; //黄色 }else if (index_num>=50 && index_num<60){ return '#ff7f00'; //橙色 }else{ return '#cd0000'; //红色 } } }, }, //barWidth: 10, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].num); arr.push(result[i].num); } } }, error : function(errorMsg) { alert("不好意思,大爷,图表请求数据失败啦!"); myChart.hideLoading(); } }) return arr; })() } , { name : 'Watch', type : 'bar', barGap: '1%', barCategoryGap: '10%', itemStyle:{ normal:{ color: function(params){ var index_num = params.data; //alert(param.value); if (index_num>=30 && index_num<50){ return '#ffff00'; //绿色 }else if (index_num < 30){ return '#008b00'; //黄色 }else if (index_num>=50 && index_num<60){ return '#ff7f00'; //橙色 }else{ return '#cd0000'; //红色 } } }, }, //barWidth: 10, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].num); arr.push(result[i].num); } } }, error : function(errorMsg) { alert("不好意思,大爷,图表请求数据失败啦!"); myChart.hideLoading(); } }) return arr; })() }, { name : 'Warning', type : 'bar', barGap: '1%', barCategoryGap: '10%', itemStyle:{ normal:{ color: function(params){ var index_num = params.data; //alert(param.value); if (index_num < 30){ return '#008b00'; //绿色 }else if (index_num>=30 && index_num<50){ return '#ffff00'; //黄色 }else if (index_num>=50 && index_num<60){ return '#ff7f00'; //橙色 }else{ return '#cd0000'; //红色 } } }, }, //barWidth: 10, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].num); arr.push(result[i].num); } } }, error : function(errorMsg) { alert("不好意思,大爷,图表请求数据失败啦!"); myChart.hideLoading(); } }) return arr; })() }, { name : 'Abnormal value', type : 'bar', barGap: '1%', barCategoryGap: '10%', itemStyle:{ normal:{ color: function(params){ var index_num = params.data; //alert(param.value); if (index_num < 30){ return '#008b00'; //绿色 }else if (index_num>=30 && index_num<50){ return '#ffff00'; //黄色 }else if (index_num>=50 && index_num<60){ return '#ff7f00'; //橙色 }else{ return '#cd0000'; //红色 } } }, }, //barWidth: 10, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].num); arr.push(result[i].num); } } }, error : function(errorMsg) { alert("不好意思,大爷,图表请求数据失败啦!"); myChart.hideLoading(); } }) return arr; })() }, { name: 'Baseline', type: 'line', smooth:true, yAxisIndex: 0, symbolSize:0, //拐点圆的大小 itemStyle:{ normal:{ color: '#0000cd', } }, data: [53,30,29,40,18,30,9,17,64,30,48,12,30,38,20,31,38,53,38,51,9,17] } ], //控制每次只显示固定柱子数目 dataZoom:[{ type:'inside',//inside,slider此处只列举inside start:0, end:9,//dataZoom-inside.start 和 dataZoom-inside.end 共同用 百分比 的形式定义了数据窗口范围。 xAxisIndex:0,//不指定时,当 dataZoom-inside.orient 为 'horizontal'时,默认控制和 dataZoom 平行的第一个 xAxis。但是不建议使用默认值,建议显式指定。 filterMode:'none',//dataZoom 的运行原理是通过 数据过滤 来达到 数据窗口缩放 的效果。数据过滤模式的设置不同,效果也不同。('filter','weakfilter','empty','none')http://echarts.baidu.com/option.html#dataZoom-inside zoomLock:true,//只能拖动不可缩放,若无需禁止缩放设置为false或者去除即可 }] }; myChart.setOption(option); // 为echarts对象加载数据 myChart.setOption(option); } sideBarChart.resize();//修改echarts容器大小 </script> </head> <body> <div id="main" style="height: 550px; width: 1100px"></div> </body> </html> ``` 在mysql中取出数据后,按照数值范围对数据进行分类,不同类别的数据显示不同颜色的柱子。 实现结果: ![图片说明](https://img-ask.csdn.net/upload/201907/16/1563266320_869864.png) 求教大神 怎么修改代码,让legend显示与柱子对应的颜色?
想墙请教一下,jquer.validateajax提交数据之后,火狐网络查看为什么没有响应选项?
我用的是**phpstudy** , 新增了一个虚拟主机【phpstudy增加虚拟主机站点域名管理-->新增并保存就好,也太简单了吧,以前一直用的wamp,现在这么简单倒有点怕了】 之后网页浏览也没问题,但就是火狐的fireBug查看 ajax的提交一直都没有响应的选项是怎么回事?? 我用的是TP UserController.class.php---- namespace Home\Controller; use Think\Controller; use Home\Model\UserModel; class UserController extends Controller{ //注册行为返回给ajax public function register(){ if(IS_AJAX){ $User = new UserModel(); $User->regiter(I('post.username'),I('post.password'),I('post.email')); echo $User; }else{ $this->error('非法访问'); } } } UserModel.class.php---- <?php namespace Home\Model; use Think\Model; class UserModel extends Model{ //批量验证 protected $patchValidate = true; //用户自动验证 protected $_validate = array( array('username','2,20','wsm',self::EXISTS_VALIDATE,'length'), ); //用户表自动完成 protected $_auto = array( array('password','sha1',self::MODEL_BOTH,'function'), array('create','time',self::MODEL_INSERT,'function'), ); public function regiter($username,$password,$email){ $data = array( 'username'=>$username, 'password'=>$password, 'email'=>$email, 'create'=>time(), ); //添加判断为数据创建时才新增,才不会跳过数据自动完成步骤 if ($this->create($data)) { $uid = $this->add(); return $uid ? $uid : 0; } else { return $this->getError(); } } } ---------- 点击提交之后也一直没有echo $uid的值,有哪位大侠知道怎么回事麽?
DWR调用带参数的java方法调试不通
DWR调用带参数的java方法调试不通,代码如下,求帮忙。 ![图片说明](https://img-ask.csdn.net/upload/201510/07/1444224717_677379.png) ///dwr.xml配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd"> <dwr> <allow> <!-- new意味着DWR应当调用类的默认构造函数 --> <create creator="new" javascript="CASCO" scope="application"> <!-- --> <param name="class" value="com.test.ajax.TestDwr"/> </create> <create creator="new" javascript="TEST" scope="application"> <!-- --> <param name="class" value="com.test.ajax.test"/> <include method="Test"/> </create> </allow> </dwr> ///JSP页面 <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>DWR - Test Home</title> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/util.js'></script> <script type='text/javascript' src='dwr/interface/CASCO.js'></script> <script language="javascript"> function callTest(){ TEST.Test(callBackForTest); } function callBackTest(data){ //其中date接收方法的返回值 //可以在这里对返回值进行处理和显示等等 alert("the return value is " + data); } </script> <script type="text/javascript"> function download() { window.location.href = "pad_les.apk"; } </script> </head> <body> <h1>向服务器发送信息</h1> <input type="text" id="demo1"> <input type="button" value="提交" onclick="javascript:callTest"> </body> </html> ///class package com.test.ajax; public class test { public test(String a) { System.out.println(a); } }
不进Struts拦截器,麻烦帮解决,谢谢~~~~~
test.jsp <%@ page contentType="text/html;charset=GB2312"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>AJAX提交请求测试页面</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script type="text/javascript" src="js/jquery-1.8.0.js"></script> <script type="text/javascript" src="js/json.js"></script> </head> <script language="javascript"> $(document).ready(function(){ $("#btn").click(function(){ $.ajax({ url: "Essa", type: "POST", data: {"AppCode":"51601","DataSets":"1","Datas":"[{'name':'fsg','pwd':'1'}]"}, dataType: "json", success:function(data) { var jsonStr = eval("("+data+")"); alert(data); //document.getElementById("info").innerHTML = "retAppCode: [ "+jsonStr.retAppCode+" ] DataSets: [ "+jsonStr.retDataSets+" ] 信息:[ "+jsonStr.retDatas[0].info+" ] "; //alert("success:OperCode="+jsonStr.OperCode); //alert("success:DataSets="+jsonStr.DataSets); //alert("success:Datas[0].name="+jsonStr.Datas[0].name); //alert("success:Datas[0].age="+jsonStr.Datas[0].age); }, error:function(data) { alert("error:"); } }); }); }); </script> <body> <div id="info"></div> <s:submit value="%{getText('test')}" id="btn"/> </body> </html> struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <include file="struts-default.xml"/> <package name="essa" extends="json-default"> <interceptors> <interceptor name="myInterceptor" class="com.essa.Interceptor.MyInterceptor"> <param name="filterURISwitch">/welcome.html;/login;/html/help;</param></interceptor> <interceptor-stack name="myDefaultStack"> <interceptor-ref name="myInterceptor" /> <interceptor-ref name="json" /> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="myDefaultStack" /> <default-action-ref name="index"></default-action-ref> <global-results> <result name="failPage" type="redirect">/login.jsp</result> </global-results> <action name="index"> <result type="redirect">/welcome.html</result> </action> <action name="Essa" class="com.essa.action.EssaAction"> <result type="json"><param name="root">result</param></result> </action> <action name="LoginAction" class="com.essa.action.LoginAction"> <result name="LoginOK" type="dispatcher">/website/home.jsp</result> <result name="LoginFail" type="redirect">/loginFail.html</result> <result name="Normal" type="redirect">/welcome.html</result> <result name="Help" type="dispatcher">/html/help/help.html</result> </action> </package> <constant name="struts.locale" value="zh_CN"></constant> <constant name="struts.i18n.encoding" value="UTF-8" /> <constant name="struts.action.extension" value="action"/> </struts> 拦截器 package com.essa.Interceptor; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; /** * @name MyInterceptor * @time 2015-06-20 * @version 1.0.0 * @author ZhangDongxu */ public class MyInterceptor implements Interceptor { private static Logger logger = Logger.getLogger(MyInterceptor.class .getName()); private HttpServletRequest request; private HttpSession session; private ServletContext application; private ActionContext context; private String filterURISwitch ; private String sessionUID; private String sessionPASS; /** * 自定义拦截器执行的代码 作用:拦截请求 * */ private static final long serialVersionUID = 1L; public String getFilterURISwitch() { return filterURISwitch; } public void setFilterURISwitch(String filterURISwitch) { this.filterURISwitch = filterURISwitch; } public void destroy() { } public void init() { } public String intercept(ActionInvocation invocation) throws Exception { logger.info(">>>>>> [请求信息:执行了自定义拦截器的代码!!!!=============================]"); System.out.println("===================================================="); System.out.println(this.filterURISwitch); System.out.println("===================================================="); String filterURISwitch = this.filterURISwitch;// 分号分隔的过滤器路径,即哪些不需要进行资源过滤拦截:例如/essa/welcome.html;/essa/html/help.html操作手册 String[] noFilterURIs;// 临时数组 System.out.println("过滤前提示"); System.out.println("===================================="); System.out.println("+++++++++++++++++++++++++++++++++++++++++++++"); System.out.println("获取不需要进行过滤URI的初始化参数值: " + filterURISwitch); noFilterURIs = filterURISwitch.split(";"); int pathFilterLength = filterURISwitch.split(";").length; int filesFilterLength = filterURISwitch.split("\\.").length - 1; int pathsSize = pathFilterLength - filesFilterLength; // 不需要过滤的具体请求的页面,带扩展名 String[] noDealURIPages = new String[filesFilterLength]; // 不需要过滤的路径 // 控制用户访问权限 context = invocation.getInvocationContext(); request = (HttpServletRequest) context.get(ServletActionContext.HTTP_REQUEST); session = request.getSession(); String[] noDealURIPaths = new String[pathFilterLength]; String currentURI = request.getRequestURI();// 当前请求的页面URI String ctx = request.getContextPath(); currentURI = currentURI.substring(ctx.length()); System.out.println("currentURI = " + currentURI); // 提取不需要过滤的页面及路径数组,便于进行过滤 int j = 0; int k = 0; for (int i = 0; i < pathFilterLength; i++) { if (noFilterURIs[i].split("\\.").length == 2) { noDealURIPages[j] = noFilterURIs[i]; j++; } else { noDealURIPaths[k] = noFilterURIs[i]; k++; } } System.out.println("1、不需要进行过滤安全保护的静态资源路径数量 = " + pathsSize); for (int i = 0; i < k; i++) { System.out.println("paths = " + noDealURIPaths[i]); } System.out.println("2、不需要进行过滤安全保护的访问页面资源数量 = " + filesFilterLength); for (int i = 0; i < j; i++) { System.out.println("pages = " + noDealURIPages[i]); } System.out.println("+++++++++++++++++++++++++++++++++++++++++++++"); // 基于实际请求的情况,判断session中UID和具体的PASS是否存在,进行业务操作。所有的判断安全均在ACTION中完成。过滤器不进行业务方面的操作 if (currentURI.equalsIgnoreCase("/LoginAction.action")) { // 获取JSON结构中的data:UID,PASS值 sessionUID = request.getParameter("name"); sessionPASS = request.getParameter("pwd"); session.setAttribute("sessionUID", sessionUID); session.setAttribute("sessionPASS", sessionPASS); // 放行。让其走到下个链或目标资源中 return "LoginOK"; } // 判断是否是配置不进行过滤的页面 for (int i = 0; i < noDealURIPages.length; i++) { if (currentURI.equalsIgnoreCase(noDealURIPages[i]) && (session.getAttribute("sessionUID") != null || session.getAttribute("sessionPASS") != null)) { System.out.println("noDealURIPages=" + noDealURIPages[i]); // 放行。让其走到下个链或目标资源中 return "Normal"; } } // 判断是否是配置不进行过滤的路径 for (int i = 0; i < noDealURIPaths.length; i++) { if (currentURI.substring(0, currentURI.lastIndexOf("/")) .equalsIgnoreCase(noDealURIPaths[i]) || currentURI.equalsIgnoreCase(noDealURIPaths[i]) && (session.getAttribute("sessionUID") != null || session.getAttribute("sessionPASS") != null)) { System.out.println("noDealURIPaths=" + noDealURIPaths[i]); // 放行。让其走到下个链或目标资源中 return "Help"; } } // 如果不是上述情况,则判断是否存在UID和PASS,并进行逻辑操作链 if (session.getAttribute("sessionUID") == null || session.getAttribute("sessionPASS") == null) { session.invalidate(); //res.sendRedirect("http://localhost/login/login.html"); return "failPage"; } return invocation.invoke();// "failPage" } } 不进拦截器,test.jsp直接返回error
动态规划入门到熟悉,看不懂来打我啊
持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3...
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
防劝退!数据结构和算法难理解?可视化动画带你轻松透彻理解!
大家好,我是 Rocky0429,一个连数据结构和算法都不会的蒟蒻… 学过数据结构和算法的都知道这玩意儿不好学,没学过的经常听到这样的说法还没学就觉得难,其实难吗?真难! 难在哪呢?当年我还是个小蒟蒻,初学数据结构和算法的时候,在忍着枯燥看完定义原理,之后想实现的时候,觉得它们的过程真的是七拐八绕,及其难受。 在简单的链表、栈和队列这些我还能靠着在草稿上写写画画理解过程,但是到了数论、图...
【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star!【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。欢迎 Star!)。 另外推荐一篇原创:终极推荐!可能是最适合你的Java学习路线 方法 网站 书籍推荐! Java 并发基础常见面试题总结 1. 什么是线程和进程? 1.1. 何为进程? 进程是程...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
shell脚本:备份数据库、代码上线
备份MySQL数据库 场景: 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:dbname-2019-11-23.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如...
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友...
神经⽹络可以计算任何函数的可视化证明
《Neural Networks and Deep Learning》读书笔记第四篇本章其实和前面章节的关联性不大,所以大可将本章作为小短文来阅读,当然基本的深度学习基础还是要有的。主要介绍了神经⽹络拥有的⼀种普遍性,比如说不管目标函数是怎样的,神经网络总是能够对任何可能的输入,其值(或者说近似值)是网络的输出,哪怕是多输入和多输出也是如此,我们大可直接得出一个结论:不论我们想要计算什么样的函数,...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
为什么你学不过动态规划?告别动态规划,谈谈我的经验
动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强烈建议看一看:为什么你学不会递归,告别递归,谈谈我的经验 对于动态规划,春招秋招时好多题都会用到动态...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
如何安装 IntelliJ IDEA 最新版本——详细教程
IntelliJ IDEA 简称 IDEA,被业界公认为最好的 Java 集成开发工具,尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克,开发人员以严谨著称的东欧程序员为主。IDEA 分为社区版和付费版两个版本。 我呢,一直是 Eclipse 的忠实粉丝,差不多十年的老用户了。很早就接触到了 IDEA...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
为什么要推荐大家学习字节码?
配套视频: 为什么推荐大家学习Java字节码 https://www.bilibili.com/video/av77600176/ 一、背景 本文主要探讨:为什么要学习 JVM 字节码? 可能很多人会觉得没必要,因为平时开发用不到,而且不学这个也没耽误学习。 但是这里分享一点感悟,即人总是根据自己已经掌握的知识和技能来解决问题的。 这里有个悖论,有时候你觉得有些技术没用恰恰是...
互联网公司的裁员,能玩出多少种花样?
裁员,也是一门学问,可谓博大精深!以下,是互联网公司的裁员的多种方法:-正文开始-135岁+不予续签的理由:千禧一代网感更强。95后不予通过试用期的理由:已婚已育员工更有责任心。2通知接下来要过苦日子,让一部分不肯同甘共苦的员工自己走人,以“兄弟”和“非兄弟”来区别员工。3强制996。员工如果平衡不了工作和家庭,可在离婚或离职里二选一。4不布置任何工作,但下班前必须提交千字工作日报。5不给活干+...
【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。 三次握手 当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握...
新程序员七宗罪
当我发表这篇文章《为什么每个工程师都应该开始考虑开发中的分析和编程技能呢?》时,我从未想到它会对读者产生如此积极的影响。那些想要开始探索编程和数据科学领域的人向我寻求建议;还有一些人问我下一篇文章的发布日期;还有许多人询问如何顺利过渡到这个职业。我非常鼓励大家继续分享我在这个旅程的经验,学习,成功和失败,以帮助尽可能多的人过渡到一个充满无数好处和机会的职业生涯。亲爱的读者,谢谢你。 -罗伯特。 ...
活到老,学到老,程序员也该如此
全文共2763字,预计学习时长8分钟 图片来源:Pixabay 此前,“网传阿里巴巴要求尽快实现P8全员35周岁以内”的消息闹得沸沸扬扬。虽然很快被阿里辟谣,但苍蝇不叮无缝的蛋,无蜜不招彩蝶蜂。消息从何而来?真相究竟怎样?我们无从而知。我们只知道一个事实:不知从何时开始,程序猿也被划在了“吃青春饭”行业之列。 饱受“996ICU”摧残后,好不容易“头秃了变强了”,即将步入为“高...
Vue快速实现通用表单验证
本文开篇第一句话,想引用鲁迅先生《祝福》里的一句话,那便是:“我真傻,真的,我单单知道后端整天都是CRUD,我没想到前端整天都是Form表单”。这句话要从哪里说起呢?大概要从最近半个月的“全栈工程师”说起。项目上需要做一个城市配载的功能,顾名思义,就是通过框选和拖拽的方式在地图上完成配载。博主选择了前后端分离的方式,在这个过程中发现:首先,只要有依赖jQuery的组件,譬如Kendoui,即使使用...
2019年Spring Boot面试都问了什么?快看看这22道面试题!
Spring Boot 面试题 1、什么是 Spring Boot? 2、Spring Boot 有哪些优点? 3、什么是 JavaConfig? 4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 5、Spring Boot 中的监视器是什么? 6、如何在 Spring Boot 中禁用 Actuator 端点安全性? 7、如何在自定义端口上运行 Sprin...
【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都详细着给出了最优解,下面再现当时的面试场景。看完一定让你有所收获 一、小牛试刀:有效括号 大部分情况下,面试官都会问一个不怎么难的问题,不过你千万别太开心,因为这道题往往可以拓展出更多有难度的问题,或者一道题看起来很简单,但是给出最优解,确实很...
关于裁员几点看法及建议
最近网易裁员事件引起广泛关注,昨天网易针对此事,也发了声明,到底谁对谁错,孰是孰非?我们作为吃瓜观众实在是知之甚少,所以不敢妄下定论。身处软件开发这个行业,近一两年来,对...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
程序员需要了解的硬核知识之汇编语言(一)
之前的系列文章从 CPU 和内存方面简单介绍了一下汇编语言,但是还没有系统的了解一下汇编语言,汇编语言作为第二代计算机语言,会用一些容易理解和记忆的字母,单词来代替一个特定的指令,作为高级编程语言的基础,有必要系统的了解一下汇编语言,那么本篇文章希望大家跟我一起来了解一下汇编语言。 汇编语言和本地代码 我们在之前的文章中探讨过,计算机 CPU 只能运行本地代码(机器语言)程序,用 C 语言等高级语...
GitHub 标星 1.6w+,我发现了一个宝藏项目,作为编程新手有福了!
大家好,我是 Rocky0429,一个最近老在 GitHub 上闲逛的蒟蒻… 特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。 后来自己花了一个星期看完了 Pyt...
java知识体系整理,学会了,月入过万不是梦
欢迎关注个人公众号:程序猿学社 前言: 一转眼,工作4年了,正式写博客也有一年多了,之前就有整理和总结的习惯,只是都记录在有道云,感觉知识点都是很凌乱,花时间系统整理下,该文会一直同步更新,有不足之处,希望各位同行指正,既然,选择做技术这行,就得有分享的精神,而不是抱着别人会超过你的心理。希望各位博友们互相交流,互相进步。 目录 java系统学习 小白也能...
2020年去一线大厂面试先过SSM框架源码这一关!
SSM框架介绍 (1)持久层(Mybatis):Dao层(mapper) DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此。 DAO层的设计首先是设计DAO的接口。 然后在Spring的配置文件中定义此接口的实现类。 然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰。 DAO层的数据源配置,以及有...
相关热词 c#如何定义数组列表 c#倒序读取txt文件 java代码生成c# c# tcp发送数据 c#解决时间格式带星期 c#类似hashmap c#设置istbox的值 c#获取多线程返回值 c# 包含数字 枚举 c# timespan
立即提问