ajax发送请求为什么后台@RequestBody String data接收的数据乱码 1C

$.ajax({
url :"",
type : "POST",
cache : false,
data : data,
contentType : "text/html;charset=UTF-8",
dataType : "json",
success : function(result) {

           },
           error : function(xhr, ajaxOptions, thrownError) {


           }
          });

8个回答

tomcat编码设置了么

data是json对象还是字符串?如果是字符串自己注意用encodeURIComponent编码键值

如果你项目编码和传输编码都对的话就没有问题,传输编码可以在服务器设置

我也遇到过
接收result时转换一下应该就行了
好像是这句 你试试

var result=eval('('+result+')');
成了 给币 不成再说! 哈哈

我猜也是编码设置的问题

encodeURI(data)

Controller 里接受的值再转换一下URLDecoder.decode(data,"UTF-8")

在spring mvc的配置文件中加下这个:
<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <constructor-arg value="UTF-8" />
        </bean>
        <!-- 将Jackson2HttpMessageConverter的默认格式化输出设为true -->
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="prettyPrint" value="true"/>
             <property name="supportedMediaTypes">
                <list>
                    <value>text/html;charset=UTF-8</value>
                    <value>application/json;charset=UTF-8</value>
                </list>
            </property>
        </bean>         
    </mvc:message-converters>
</mvc:annotation-driven>
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring mvc + ajax http请求415问题
今天在写一个功能的时候碰见这样一个问题: controller需要接收一个参数,这个参数是一个类,上代码: 后台Java代码: ``` public class DiagnosisForm { private String id; private List<CheckoutForm> checkoutForm; //get/set方法省略 public static class CheckoutForm{ private String id; private String num; //get/set方法省略 } } ``` controller 接口: ``` public CommonResponse createRecords(@RequestBody DiagnosisForm diagnosisForm, HttpSession session,HttpServletRequest request){ //其他业务操作 return new CommonResponse(true); } ``` 前端ajax请求: ``` var data = { patientId: patientId, mainsuit: mainsuit, presentill: presentill, historyill: historyill, look: look, diagnose: diagnose, syndrome: syndrome, advice: advice, checkoutForm: checkList } console.log(data); $.ajax({ url: ctx + '/diagnosis/createRecords.do', type: 'post', async: false, contentType: 'application/json', data: data, dataType: 'json', success: function (result) { console.log(result); } }) ``` 请求时,前段控制台报错,提示415 ,我测试了一下就是checkoutForm这个参数接收不到; 求大神解决,急!急!急!
springmvc后台如何接收ajax传的json格式的数据,以及json数据采用哪种方式传到后台
我现在遇到一个难题,以前,我用ajax传输数据到后台,后台用springmvc接收,成功了,但是,那个时候,我用的ajax的data部分是{"dcCode":dcCode,"itemNo":itemNo...},这样,我是一个参数,一个参数输入的,虽然慢,但是,还是成功地传输了。现在,我遇到的问题是,很多的参数,需要用遍历的方法来传参,我用jsonstr拼接json字符串的方法,拼出了以下的json格式,{"dcCode":"22","itemNo":"3456",...,"sectionName":"食品课"},....,可能有几百条这样的{}, 然后,我创建了一个数组var values=new Array, 用push把这些jsonstr都放进去,最后,我用ajax的dataType:json,post方法把这些数据传到后台,可是,后台是springmvc,@RequestBody(value="/save",method="post"), 可是,当我用String[] values来接收传过来的json参数的时候,却总是null,不知道到底是怎么回事儿,请教大家,都是用什么样的方法来处理这样传输多条json数据到后台的?如果我的思路是对的,能否把这个代码正确的告诉我?如果有更好的方法,请回答。非常感谢。 为了更好的说明问题,我把代码贴出来,如下 ``` function submit(){ debugger; var n=$("#countnumber").text(); var i=0; for(var a=0;a<n;a++){ var saveData=new Array(); var arr1=$('.item p').find('input:text'); var arr2=$('.item p').find('input:checkbox'); for(i=0;i<arr1.length;i++){ saveData.push((arr1).eq(i).val()); }; for(var j=0;j<arr2.length;j++){ saveData.push((arr2).eq(j).val()); }; }; function User(userId,userName,userPwd,memo,addDate,modifyDate,addUserId){ this.userId=saveData[1]; this.userName=saveData[2]; this.userPwd=saveData[3]; this.memo=saveData[4]; this.addDate=saveData[5]; this.modifyDate=saveData[6]; this.addUserId=saveData[7]; }; var user=new User(); var users=new Array(); users.push(user); $.ajax({ type: "post",//数据发送的方式(post 或者 get) url: "insert.do",//要发送的后台地址 data: {"user":JSON.stringify(users)}, dataType: "text",//后台处理后返回的数据格式 success:function (data){ alert(jQuery.parseJSON(data).msg); } }); } ``` 以上是前台的,接下去是后台的 ``` @ResponseBody @RequestMapping(value = "/insert.do", method = RequestMethod.POST) public Map insertUsers(HttpServletRequest request, @RequestBody String users) throws Exception{ users=URLDecoder.decode(users, "utf-8"); ObjectMapper mapper = new ObjectMapper(); //这里用了jackson,自己看看代码,很简洁的 JavaType javaType=mapper.getTypeFactory().constructParametricType(List.class,User.class); List<User> list = mapper.readValue(users, javaType); String msg=userService.insertUsers(list); Map map = new HashMap(); map.put("msg", msg); return map; } ``` 然后,后台的效果截图如下 ![图片说明](https://img-ask.csdn.net/upload/201612/18/1482061394_446729.png) 传到后台的Controller的,数据显示如下 ![图片说明](https://img-ask.csdn.net/upload/201612/18/1482061427_169271.png) 然后,进一步调试,出现错误如下 ![图片说明](https://img-ask.csdn.net/upload/201612/18/1482061332_952640.png) 请问,这个错误到底是什么原因造成的。是500错误。请高手帮助啊!
ajax请求springmvc,springmvc不返还数据包括空字符串给ajax可以吗?
例如用ajax来修改数据,只要发修改请求给springmvc,而不需要他返回的数据。那么 springmvc不返回数据给ajax包括空字符串可以吗。 ``` function phbutton(){ var phone=prompt("请输入新的手机号码!"); if(valid(phone)==false){ alert("手机号码格式错误!"); return; } $.ajax({ type:"post", url:"./newphone", data:phone, contentType:"application/json;charset=UTF-8", success: function(data){ alert("手机号码更改成功!"); var e=document.getElementById("phone"); e.innerHTML=data; }, error:function(XMLHttpRequest, textStatus, errorThrown){ alert(xhr.responseText+" "+textStatus+" "+errorThrown); } }); ``` ``` @RequestMapping(value="/newphone",method =RequestMethod.POST) public void newphone(@RequestBody String phone){ System.out.println(phone); } ``` 我试了一下,ajax请求的时候会这样报错:Request method 'POST' not supported 但是如果Controller writer()返回点什么的话那么就不或报错。 还有就是直接在参数列表中添加PrintWriter writer,然后没有使用writer的话,也不会报错。难道如果不操作writer他会自己返回空字符吗?
spring4mvc-ajax-requestbody解析不了arraylist报415错误
直接上代码 script代码: ``` function sendMsg3(){ var test=new Array(); test[0]="呵呵1"; test[1]="呵呵2"; test[2]="呵呵3"; test[3]="呵呵4"; test[4]="呵呵5"; var userJsonStr=JSON.stringify(test); $.ajax({ type:"POST", data:userJsonStr, url:"getJson3.spring?t="+new Date().getTime(), dataType:"json", contentType:"application/json" }); alert(userJsonStr); } ``` java里的代码: ``` @RequestMapping("/getJson3") public String getJson3(@RequestBody ArrayList<String> list) { for (String str : list) { System.out.println(str); } System.out.println("呵呵come here"); return "index.jsp"; } ``` spring-mvc配置: ``` <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" 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" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <context:component-scan base-package="controller"/> <mvc:annotation-driven /> </beans> ``` lib包里有jack-all的包如图: ![图片说明](https://img-ask.csdn.net/upload/201506/14/1434262350_209816.png) 触发ajax方法后,控制台 那边愣是没啥反应,客户端这边报415的错误unsupported media type,求各路大神支援
求教,java里面request.getParameter取值偶现是null,post也有长度限制?
string a = request.getParameter("ids"); 前台是 $.ajax({ type: 'POST',dataType: 'TEXT',cache: false,data: 'ids=' +ids 现在看到的规律是ids短一点就有正常的值, ids长了,a就直接是null了 。 求大神帮忙看一下~ 奇怪的是,尝试用@RequestBody String body这种方式的话,相同的内容就取得到值。
有关SpringMVC传递参数的问题
前台通过`ajax`提交json格式数据,如下 ``` $.ajax( { url: "http://localhost:8090/lookup/getLookup", type: "POST", dataType: "json", data: JSON.stringify({"lookupId":28}), contentType: "application/json", success: function (data, textStatus, jqXHR) { alert(data.code) }, error: function (data, textStatus, jqXHR) { alert("ERROE"); } } ); ``` 这样请求的参数就是`{"lookupId":28}` 那么后台我是写的这样接收 ``` @ResponseBody @RequestMapping(value = {"getLookup"}) public TsLookupTypeHelper getLookupByLookupId(@RequestBody Integer lookupId) {} ``` 请求的时候会报错 400,请问要怎样在前台发送json数据,后台通过非javabean的参数(指的是 int string等基本类型)接受?
SpringMVC页面Ajax传JSON到controller,返回包含多个对象的JSON
做的一个练习,筛选,页面随意勾选多个复选框,局部刷新返回显示与复选框value值匹配的对象数据,传JSON到controller,返回包含多个对象的JSON。controller怎么写?返回JSON后页面怎么处理 $.ajax({ url:"user/screening", type:"post", //请求方式 data:"{\"pwd1\":\""+pwd1+"\",\"pwd2\":\""+pwd2+"\",\"email1\":\""+email1+"\",\"email2\":\""+email2+"\"}",//要发送的数据 dataType:"", //服务器返回的数据类型 //data返回的数据,strStatus状态码(200响应正确),xhr:XMLHttpRequest对象 success:function(data,strStatus,xhr){ //请求成功返回数据后执行的代码 eval("var mydata="+data); //eval()将字符串当成JS脚本执行 $.each(mydata,function(i,item){ //i:遍历的下标,item:遍历出的单个对象 $("#show").html(item.id+item.username+item.password+item.email); }); }, error:function(xhr,strStatus,strError){ //请求失败后执行的代码 alert(strError); } }); public UserController(){ userMap.put("1", new User("1","yiyiyi","123456","yiyiyi@qq.com")); userMap.put("2", new User("2","ererer","123456","ererer@qq.com")); userMap.put("3", new User("3","sansansan","123456","sansansan@qq.com")); userMap.put("4", new User("4","yiyiyi","654321","yiyiyi@qq.com")); userMap.put("5", new User("5","ererer","654321","ererer@qq.com")); userMap.put("6", new User("6","sansansan","654321","sansansan@qq.com")); } @RequestMapping(value="screening",method=RequestMethod.POST) @ResponseBody public Object screening(@RequestBody Object object){ JSONObject jo = JSONObject.fromObject(toString()); List<Object> objects = new ArrayList<Object>(); Screening scr = (Screening)JSONObject.toBean(jo, Screening.class); Iterator<Map.Entry<String, User>> iter = userMap.entrySet().iterator(); while(iter.hasNext()){ Map.Entry<String, User> entry = iter.next(); if(scr.getPwd1().equals(entry.getValue().getPassword()) || scr.getPwd2().equals(entry.getValue().getPassword()) || scr.getEmail1().equals(entry.getValue().getEmail()) || scr.getEmail2().equals(entry.getValue().getEmail())){ objects.add(userMap.get(entry.getKey())); } } return objects; } public class Screening { String pwd1; String pwd2; String email1; String email2;
为什么我的ajax不往里面走,从断点直接跳到结尾了
``` <script >标签内的内容 <script> $(function() { $("#btn").click(function() { var datasent = $("#isform").serializeObject();//这句话将表单序列化 params = JSON.stringify(datasent);//将序列化的表单转化为一个json串 debugger; $.ajax({ type : 'POST', url : "${pageContext.request.contextPath}/user?add", dataType : "json", data : params, contentType : "application/json;charset=utf-8", success : function(json) { if(json=="1"){ alert("添加成功"); } } }); }); }); </script> 查找过来的内容,注释检查也没错啊 注释一 @Controller @RequestMapping("/user") 注释二 @RequestMapping(params="add") @ResponseBody public String add( @RequestBody User user) { return new Gson().toJson(service.add(user)); } ```
传到后台的json数据,如何让springmvc进行解析?
为了更好的说明问题,我把代码贴出来,如下 ``` function submit(){ debugger; var n=$("#countnumber").text(); var i=0; for(var a=0;a<n;a++){ var saveData=new Array(); var arr1=$('.item p').find('input:text'); var arr2=$('.item p').find('input:checkbox'); for(i=0;i<arr1.length;i++){ saveData.push((arr1).eq(i).val()); }; for(var j=0;j<arr2.length;j++){ saveData.push((arr2).eq(j).val()); }; }; function User(userId,userName,userPwd,memo,addDate,modifyDate,addUserId){ this.userId=saveData[1]; this.userName=saveData[2]; this.userPwd=saveData[3]; this.memo=saveData[4]; this.addDate=saveData[5]; this.modifyDate=saveData[6]; this.addUserId=saveData[7]; }; var user=new User(); var users=new Array(); users.push(user); $.ajax({ type: "post",//数据发送的方式(post 或者 get) url: "insert.do",//要发送的后台地址 data: {"user":JSON.stringify(users)}, dataType: "text",//后台处理后返回的数据格式 success:function (data){ alert(jQuery.parseJSON(data).msg); } }); } ``` ``` function submit(){ debugger; var n=$("#countnumber").text(); var i=0; for(var a=0;a<n;a++){ var saveData=new Array(); var arr1=$('.item p').find('input:text'); var arr2=$('.item p').find('input:checkbox'); for(i=0;i<arr1.length;i++){ saveData.push((arr1).eq(i).val()); }; for(var j=0;j<arr2.length;j++){ saveData.push((arr2).eq(j).val()); }; }; function User(userId,userName,userPwd,memo,addDate,modifyDate,addUserId){ this.userId=saveData[1]; this.userName=saveData[2]; this.userPwd=saveData[3]; this.memo=saveData[4]; this.addDate=saveData[5]; this.modifyDate=saveData[6]; this.addUserId=saveData[7]; }; var user=new User(); var users=new Array(); users.push(user); $.ajax({ type: "post",//数据发送的方式(post 或者 get) url: "insert.do",//要发送的后台地址 data: {"user":JSON.stringify(users)}, dataType: "text",//后台处理后返回的数据格式 success:function (data){ alert(jQuery.parseJSON(data).msg); } }); } ``` 以上是前台的,接下去是后台的 ``` @ResponseBody @RequestMapping(value = "/insert.do", method = RequestMethod.POST) public Map insertUsers(HttpServletRequest request, @RequestBody String users) throws Exception{ users=URLDecoder.decode(users, "utf-8"); ObjectMapper mapper = new ObjectMapper(); //这里用了jackson,自己看看代码,很简洁的 JavaType javaType=mapper.getTypeFactory().constructParametricType(List.class,User.class); List<User> list = mapper.readValue(users, javaType); String msg=userService.insertUsers(list); Map map = new HashMap(); map.put("msg", msg); return map; } ``` 然后,后台的效果截图如下 ![图片说明](https://img-ask.csdn.net/upload/201612/18/1482069725_74209.png) 传到后台的Controller的,数据显示如下 ![图片说明](https://img-ask.csdn.net/upload/201612/18/1482069673_84864.png) 然后,进一步调试,出现错误如下 ![图片说明](https://img-ask.csdn.net/upload/201612/18/1482069716_404734.png) 请问,这个错误到底是什么原因造成的。是500错误。请高手帮助啊!正确的方法是什么呢?
spring前台传送json格式字符串到后台问题
前台代码: $.ajax({ url : url, type : "POST", dataType : "jsonp", contentType : 'application/json;charset=UTF-8', data : {"loanApplication":loanApplication}, success : function(msg) { alert("success"); }, error : function(e) { alert("error ----------"); } }); 后台代码: @RequestMapping(value="/apply") @ResponseBody public ResultBean<LoanApplication> apply(@RequestBody LoanApplication loanApplication,ModelMap map,HttpServletRequest req,HttpServletResponse res){ try { req.getParameter("loanApplication"); req.getParameter("loanApplication[userId]"); req.getAttribute("loanApplication"); System.out.println("**********connect test successfully******"+loanApplication); log.info(loanApplication.toString()); String key = req.getSession().getId() + CacheKey.CAPTCHA_CODE; getCache().remove(key); ResultBean<LoanApplication> resultBean = (ResultBean<LoanApplication>) sendRemotePostRequest(REMOTE_SERVICE_URL,"BWF10004",loanApplication); return resultBean; } catch (Exception e) { log.error(e.getMessage()); } return null; } 错误描述: org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/octet-stream' not supported
ajax不往里面走直接从断点跳到结尾了(难倒了一大片人都说没问题,你确定不来吗!!!!!)
查找过来的内容,注释检查也没错啊 注释一 @Controller @RequestMapping("/user") 注释二 @RequestMapping(params="add") @ResponseBody public String add( @RequestBody User user) { return new Gson().toJson(service.add(user)); } .jsp对应的代码 <script> $(function() { $("#btn").click(function() { var datasent = $("#isform").serializeObject();//这句话将表单序列化 params = JSON.stringify(datasent);//将序列化的表单转化为一个json串 debugger; $.ajax({ type : 'POST', url : "${pageContext.request.contextPath}/user?add", dataType : "json", data : params, contentType : "application/json;charset=utf-8", success : function(json) { if(json=="1"){ alert("添加成功"); } } }); }); }); </script>
使用easyui做的表格,在选完每页显示行数后,再点击提交,接收到的rows为NAN怎么解决?
先上图: ![图片说明](https://img-ask.csdn.net/upload/201703/08/1488960825_290618.png) 如上图,左边是用easyui做的表格,有查询和分页。点击任一行,会把明细添加到右边供编辑。翻页没问题,选择每页显示行数也没问题。但是当我选择完每页显示的行数以后,再次修改或者新增,后台接受的rows(每页显示行数)就变成了NaN。请问各位老师怎么解决? html: ``` <body> <div style="float:left" > <table id="list_data_message" title="信息管理" style="width:600px;height:500px" ></table> </div> <div style="float:right" > <div class="easyui-panel" title="信息编辑" style="width:720px;padding:30px 60px;"> <div style="float:left" > <div id="uguid" style="display:none;"></div> <div style="margin-bottom:20px"> 标题: <input id="title" name="title" class="easyui-textbox" style="width:150px;height:32px"> </div> <div style="margin-bottom:20px"> 信息类别: <select id="typeCode" name="typeCode" class="easyui-combobox" > <option value='0F31F432-0DFE-413C-A872-429BEA9F8E26' selected="selected">流行趋势</option> <option value='586E0485-C919-4B81-963F-5A3981E2FE2A'>推广引导</option> <option value='5BC62E88-E9D5-4A08-B086-6B0F41336D87'>行业信息</option> </select> </div> <div style="margin-bottom:20px;"> <div>封面:</div> <textarea id="cover" id="cover" name="cover" cols="100" rows="8" style="visibility:hidden;"> </textarea> </div> <div> <button id="isok" name="isok" class="easyui-linkbutton" iconCls="icon-ok" style="width:150px;height:32px" onclick="messageManager.submit(1)" >发布信息</button> </div> <div> <button id="ispre" name="ispre"class="easyui-linkbutton" iconCls="icon-save" style="width:150px;height:32px" onclick="messageManager.submit(0)" >保存草稿</button> </div> </div> <div style="float:right"> <textarea id="content" name="content" cols="100" rows="8" style="visibility:hidden;"> </textarea> </div> </div> </div> <script type="text/javascript"> messageManager.initTextarea(); messageManager.init(); </script> </body> ``` js文件: ``` //加载表格数据 loadMessage :function(){ var Searchtitle = $("#Searchtitle").val(); $('#list_data_message').datagrid({ title: '信息管理', iconCls: 'icon-save', //图标 loadMsg: "数据加载中,请稍后......", striped: true,//设置为true交替显示行背景 autoRowHeight: false,//设置为false锁定行高 nowap: true, //列内容多时自动折至第二行 striped: true,//行背景交换 border: true, collapsible: false, //是否可折叠 fit: false, //自动大小 datagrid自适应宽度 fitColumn: false, //列自适应宽度 url: '/api/message/index?Searchtitle='+Searchtitle, remoteSort: false, singleSelect: true, //是否单选 pagination: true, //分页控件 rownumbers: true, //行号 loading: true, showPageList: true,//定义是否显示页面导航列表。 showRefresh: true,//定义是否显示刷新按钮, idField: 'uGUID', //主键 selectOnCheck:false, checkOnSelect:false, pageNumber: 1, //默认显示第几页 pageSize: 10, pageList: [5, 10, 15],//用户可以改变页面大小。pageList属性定义了页面导航展示的页码。 //可编辑单元格 //onClickCell: onClickCell, columns: [[//显示的列 //{ field: 'ck', title: '编号', checkbox: true, align: 'left', sortable: true }, { field: 'uGUID',title: '编号',hidden:true }, { field: 'informationTypeGUID',title: '类型编号',hidden:true }, { field: 'title', title: '标题', align: 'left',width:200}, { field: 'coverPhoto', title: '封面', align: 'left',width:200,hidden:true}, { field: 'informationTypeName', title: '信息类型', align: 'left',width:200}, { field: 'status', title: '状态', align: 'left',width:60}, { field: 'content', title: '内容', align: 'left',width:200,hidden:true}, ]], onClickRow : function(index, row){ //你要写的逻辑 var row = $('#list_data_message').datagrid('getSelected'); if (row){ $('#title').textbox('setValue',row.title); $('#uguid').val(row.uGUID); if(row.informationTypeGUID!=''||row.informationTypeGUID!=null){ $("#typeCode").combobox('select',row.informationTypeGUID); } //$("#typeCode").val(row.informationTypeGUID); kcover.html(row.coverPhoto); kcontent.html(row.content); } }, toolbar: [{ id: 'BtnAddUserInfo', text: '新增', iconCls: 'icon-add', handler: function () { messageManager.refresh(); } }, '-', { id: '', text: '删除', iconCls: 'icon-remove', handler: function () { var guid = $('#list_data_message').datagrid('getSelected').uGUID; var data={}; data.guid=guid; $.ajax({ type : 'POST', url : '/api/message/delete', dataType:"json", contentType:'application/json;charset=UTF-8', data : JSON.stringify(data), success : function(){ messageManager.loadMessage(); }, error: function(XMLHttpRequest){ alert( "删除失败: " + XMLHttpRequest.responseText); } }); } }, '-', { //查询输入框 text: '<input type="text" id="Searchtitle" placeholder="输入信息标题"/>', }, '-', { id: '', text: '查询', iconCls: 'icon-search', handler: function () { messageManager.loadMessage(); } }, ], }); //分页控件 var p = $('#list_data_message').datagrid('getPager'); $(p).pagination({ //pageNumber: 1, //默认显示第几页 //pageSize: 10, //pageList: [5, 10, 15],//用户可以改变页面大小。pageList属性定义了页面导航展示的页码。 beforePageText: '第', afterPageText: '页 共{pages}页', displayMsg: '当前显示{from}-{to}条记录 共{total}条记录', /*onBeforeRefresh:function(){ alert('before refresh'); //刷新 },*/ /*onSelectPage:function(pageNumber,pageSize){ alert(pageNumber);//翻页 a*/ buttons: [{ iconCls: 'icon-add', handler: function () { alert('add') } }, '-', { iconCls: 'icon-save', handler: function () { alert('save') } }, '-', { iconCls: 'icon-cut', handler: function () { alert('AAAA') } } ] }); }, ``` java代码(springboot) ``` /** * 显示所有信息管理的信息 * @param req * @param model * @return */ @RequestMapping(value="/index") public Map<String, Object> findAllMessage(HttpServletRequest req){ String Searchtitle = req.getParameter("Searchtitle"); if(Searchtitle==null||Searchtitle.equals("undefined")){ Searchtitle=""; } Searchtitle = "%"+Searchtitle+"%"; Integer page = Integer.parseInt(req.getParameter("page")); Integer rows = Integer.parseInt(req.getParameter("rows")); List<Map<String, String>> informations = messageService.findAllInformationRelease(Searchtitle,page,rows); int total = messageService.findCountInformationRelease(Searchtitle); Map<String, Object> json = new HashMap<>(); json.put("total", total); json.put("rows", informations); String jsonarray = JSONArray.toJSONString(informations); return json; } /** * 添加或修改一条信息 * @param informationRelease * @return */ @RequestMapping(value="/save") public FerryInfo saveMessage(@RequestBody InformationRelease informationRelease){ FerryInfo ferryInfo = new FerryInfo(); if(informationRelease.getuGUID()==null||"".equals(informationRelease.getuGUID())){ informationRelease.setuGUID(UUID.randomUUID().toString()); informationRelease.setCreator("test");//TODO informationRelease.setCreateTime(new Date()); }else{ InformationRelease info = informationReleaseDao.findOne(informationRelease.getuGUID()); informationRelease.setCreator(info.getCreator()); informationRelease.setCreateTime(info.getCreateTime()); } informationRelease.setUpdateMan("test");//TODO informationRelease.setUdpateTime(new Date()); informationRelease.setUsable(1); if(informationRelease.getStatus()==1){ informationRelease.setLssueMan("test");//TODO informationRelease.setLssueTime(new Date()); } informationReleaseDao.save(informationRelease); return ferryInfo; } ```
post提交form表单到springMVC,不能跳转问题
**项目结构: ** ![图片说明](https://img-ask.csdn.net/upload/201812/14/1544768206_941826.png) 1. jsp页面 **index.jsp** ``` <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>首页</title> </head> <body> <a href="/sdkapp/init">去往登录页</a> </body> </html> ``` **login.jsp** ``` <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录页</title> <script src="<%=request.getContextPath()%>/js/jquery-1.7.2.js" type="text/javascript"></script> </head> <body> <form id="frm"> 用户id: <input type="text" name="uid"><br><br> 用户名: <input type="text" name="username"><br><br> 密 码: <input type="password" name="password"><br><br> <input type="submit" id="btn" value="登录"> </form> <script type="text/javascript"> $("#btn").click(function () { console.log(getFormJson(frm)); $.ajax({ url: "${pageContext.request.contextPath}/sdkapp/login", type:"POST", data: getFormJson(frm), contentType:"application/json;charset=utf-8", success:function(data){ console.log(data) }, error:function(data){ console.log(data) } }); }) function getFormJson(frm) { //frm:form表单的id var o = {}; var a = $("#"+frm).serializeArray(); $.each(a, function() { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [ o[this.name] ]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; } </script> </body> </html> ``` **success.jsp** ``` <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录成功页</title> </head> <body> <h1>登录成功</h1> </body> </html> ``` 2. 配置文件 **springmvc.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: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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!--配置默认的servlet处理器,处理静态资源加载--> <mvc:default-servlet-handler/> <!--配置包扫描controller--> <context:component-scan base-package="controller"/> <mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/pages/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans> ``` **web.xml** <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"> <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/springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> 3.java代码 **Login.java** ``` package controller; import controller.vo.User; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @RestController @RequestMapping(value = "/sdkapp") public class Login { @RequestMapping(value = "/init") public ModelAndView casdkbindInput(){ ModelAndView view = new ModelAndView("/login"); return view; } @RequestMapping(value = "/login",method = {RequestMethod.POST},consumes = "application/json;charset=utf-8") public ModelAndView testJson(@RequestBody User user) throws Exception { System.out.println(user); ModelAndView view = new ModelAndView("/success"); return view; } } ``` **vo/User.java** ``` package controller.vo; import java.io.Serializable; public class User implements Serializable { private String uid; private String username; private String password; public String getUid() { return uid; } public void setUid(String uid) { this.uid = uid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "uid='" + uid + '\'' + ", username='" + username + '\'' + ", password='" + password + '\'' + '}'; } } ``` 问题是 jq post请求到后台,后台返回 view时,前端接收不到? 附上demo地址:[百度云盘](https://pan.baidu.com/s/1edbTMGCw2wrhGKADY9x8XA "")
springmvc jackson 一直提示uri非法字符
前端: $(document).ready(function(){ $("#login").click(function(){ var username= document.getElementById("username").value; var password = document.getElementById("password").value; /*alert(username+" "+password);*/ var jo ={"username":"wushangkang"}; var json = JSON.stringify(jo); $.ajax({ type:"get", url:"http://localhost:8080/springmvc2/JsonGet", async:true, data:JSON.stringify(jo), dataType:"application/json", success:function(datas){ alert(datas); }, error:function(){ alert("登录出错"); } }); }); }); springmvc配置文件: <context:component-scan base-package="com.controller" /> <mvc:annotation-driven /> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /> </list> </property> </bean> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> </list> </property> </bean> jackson jar包 jackson-core-2.2.3.jar jackson-databind-2.2.3.jar jackson-annotations-2.2.3.jar 代码: @Controller public class JsonController { @RequestMapping(value="/JsonGet",method=RequestMethod.GET) @ResponseBody public String getJson(@RequestBody User user){ System.out.println("------------------begin---------------"); System.out.println(user.getUsername()); System.out.println("------------------end------------------"); return "success"; } } 错误提示: 严重: Servlet.service() for servlet [springmvc] in context with path [/springmvc2] threw exception [Request processing failed; nested exception is java.lang.Illeg alStateException: Could not get HttpServletRequest URI: Illegal character in que ry at index 41: http://localhost:8080/springmvc2/JsonGet?{%22username%22:%22wush angkang%22}] with root cause 第41位置应该是大括号,双引号被转译%22,这大概是编码问题,这是用火狐才这样,用IE就没事,不过还是错误
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
源码阅读(19):Java中主要的Map结构——HashMap容器(下1)
(接上文《源码阅读(18):Java中主要的Map结构——HashMap容器(中)》) 3.4.4、HashMap添加K-V键值对(红黑树方式) 上文我们介绍了在HashMap中table数组的某个索引位上,基于单向链表添加新的K-V键值对对象(HashMap.Node&lt;K, V&gt;类的实例),但是我们同时知道在某些的场景下,HashMap中table数据的某个索引位上,数据是按照红黑树
c++制作的植物大战僵尸,开源,一代二代结合游戏
    此游戏全部由本人自己制作完成。游戏大部分的素材来源于原版游戏素材,少部分搜集于网络,以及自己制作。 此游戏为同人游戏而且仅供学习交流使用,任何人未经授权,不得对本游戏进行更改、盗用等,否则后果自负。 目前有六种僵尸和六种植物,植物和僵尸的动画都是本人做的。qq:2117610943 开源代码下载 提取码:3vzm 点击下载--&gt; 11月28日 新增四种植物 统一植物画风,全部修
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
深度学习图像算法在内容安全领域的应用
互联网给人们生活带来便利的同时也隐含了大量不良信息,防范互联网平台有害内容传播引起了多方面的高度关注。本次演讲从技术层面分享网易易盾在内容安全领域的算法实践经验,包括深度学习图
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程实用技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法,并会持续更新。
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
"狗屁不通文章生成器"登顶GitHub热榜,分分钟写出万字形式主义大作
前言 GitHub 被誉为全球最大的同性交友网站,……,陪伴我们已经走过 10+ 年时间,它托管了大量的软件代码,同时也承载了程序员无尽的欢乐。 上周给大家分享了一篇10个让你笑的合不拢嘴的Github项目,而且还拿了7万+个Star哦,有兴趣的朋友,可以看看, 印象最深刻的是 “ 呼吸不止,码字不停 ”: 老实交代,你是不是经常准备写个技术博客,打开word后瞬间灵感便秘,码不出字? 有什么
推荐几款比较实用的工具,网站
1.盘百度PanDownload 这个云盘工具是免费的,可以进行资源搜索,提速(偶尔会抽风????) 不要去某站买付费的???? PanDownload下载地址 2.BeJSON 这是一款拥有各种在线工具的网站,推荐它的主要原因是网站简洁,功能齐全,广告相比其他广告好太多了 bejson网站 3.二维码美化 这个网站的二维码美化很好看,网站界面也很...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
Spring Security 实战干货:基于注解的接口角色访问控制
1. 前言 欢迎阅读 Spring Security 实战干货[1] 系列文章 。在上一篇 基于配置的接口角色访问控制[2] 我们讲解了如何通过 javaConfig 的方式配置接口的角色访问控制。其实还有一种更加灵活的配置方式 基于注解 。今天我们就来探讨一下。DEMO 获取方式在文末。 2. Spring Security 方法安全 Spring Security 基于注解的安全...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问