jsp页面上传图片 用springmvc接收 页面报错

本人小白 今天从网页上传图片的时候碰到一个错误 只在网页显示
HTTP Status 400 -
The request sent by the client was syntactically incorrect.其他什么也没有

jsp页面代码:
form action="/xiangmu/users/uploadfile" method="post"
enctype="multipart/form-data"
input type="file" name="file" /
nput type="submit" value="提交"/
/form

springmvc代码:
@RequestMapping(value="/uploadfile",method=RequestMethod.POST)
public String handleFileUpdate(@RequestParam("file") CommonsMultipartFile file,HttpServletRequest req)throws FileUploadException{
long startTime=System.currentTimeMillis();//获取开始时间
PictureService ps=new PictureService();
Picture pic=new Picture();
if(!file.isEmpty()){
try {
String aa=file.getName();
String ppath="D:/pic/"+aa+".jpg";
File ouputimage=new File(ppath);//新建一个文件
try {
file.getFileItem().write(ouputimage);//将上传的文件写入新建的文件中
} catch (Exception e) {
e.printStackTrace();
}
pic.setPpath(ppath);pic.setCreatedate(new Date());pic.setUuid(1);
ps.addPicture(pic);
} catch (Exception e) {
e.printStackTrace();
}
}
long endTime=System.currentTimeMillis();//获取结束时间
System.out.println("上传文件共使用时间:"+(endTime-startTime));
return "/index.jsp";
}

求帮忙 真的不知道为什么

6个回答

文件接收的类不对 用MultipartFile类接收你的文件

enctype="multipart/form-data" 换成application/octet-stream 或者删除

换成application/octet-stream
然后报了个错The server encountered an internal error that prevented it from fulfilling this request.

CommonsMultipartFile 换成 MultipartFile

jsp页面form的name是不是跟@RequestParam("file")一致,还有就是看看后台有没有报错,光看页面是不行的

CommonsMultipartFile 换成 MultipartFile 还有你上传的时候,缓存的路劲或者图片上传之后存放路径

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SpringMVC在Controller类中获取jsp页面中的json串,使用@ResponseBody来返回json串给页面,报错

## 在SpringMVC的Controller类中, ## 获取jsp页面中的json串, ## jsp页面中的json转递方式是key/value, ## Controller类中使用_@ResponseBody_来转换成json串返回给页面 # JSP页面: ![图片说明](https://img-ask.csdn.net/upload/201906/16/1560665988_258723.jpg) # Controller类: ![图片说明](https://img-ask.csdn.net/upload/201906/16/1560666062_842587.jpg) # pojo对象类: ![图片说明](https://img-ask.csdn.net/upload/201906/16/1560666150_879474.jpg) # 有关的jar包,太多了: ![图片说明](https://img-ask.csdn.net/upload/201906/16/1560666187_174697.jpg) # 配置文件: ![图片说明](https://img-ask.csdn.net/upload/201906/16/1560666207_318287.jpg) # 控制台报错500: **DEBUG [http-nio-8080-exec-4]** - POST "/springmvc_mybatis/testJson.action", parameters={masked} **DEBUG [http-nio-8080-exec-4]** - Mapped to public cn.lzq.ssm.controller.Test1 cn.lzq.ssm.controller.JsonTest.testJson(cn.lzq.ssm.controller.Test1) ** WARN [http-nio-8080-exec-4]** - Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class cn.lzq.ssm.controller.Test1] **DEBUG [http-nio-8080-exec-4]** - Completed 500 INTERNAL_SERVER_ERROR

jsp页面 如何接收并且展示 $.ajax 获取的json数组 求大神解决

项目采用springmvc mybatis框架 mysql数据库 1、这是js部分 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796499_572857.png) 2、这个是控制器部分 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796550_18609.png) 3、这是jsp页面部分 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796539_798182.png) 4、这是json解析后的数据 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796570_99176.png) 5、后台页面穴位 这块显示的都是[object,object] ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796859_497964.png) 最终的前台页面 要实现这样的效果 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467798544_540822.png) 这是参考网友的代码 test ul,li{list-style:none;} #nav li{display:inline-block;margin:0 5px;background:#ccc;padding:0 10px; line-height:24px;font-size:12px;} #nav li.h_nav_over{background:red;color:#fff;} #nav li.h_nav_over a{color:#fff;} a{text-decoration:none;} $(function(){ var arr =[{"name":"心","id":"1"},{"name":"肝","id":"2"},{"name":"脑袋","id":"3"},{"name":"屁股","id":"4"}]; var arrStr =""; var retStr =""; $.each(arr, function(i, item) { arrStr += '<li id='+arr[i].id+'><a href="#" >'+arr[i].name+'</a></li><li>'; }); $('#xueweiList').append(arrStr); $("#nav>ul>li").click(function(){ if(this.className=='h_nav_over'){ $(this).removeClass("h_nav_over"); var xueweis = retStr.split(','); remove(retStr,this.id); }else{ $(this).addClass("h_nav_over"); retStr += this.id+','; } $("#xueweis").val(retStr); alert($("#xueweis").val()); }); }); function indexOf(arr,val) { for (var i = 0; i < arr.length; i++) { if (arr[i] == val) return i; } return -1; }; function remove(arr,val) { var index = indexOf(arr,val); if (index > -1) { arr.splice(index, 1); } }; 效果:![图片说明](https://img-ask.csdn.net/upload/201607/12/1468287722_808949.png) 现在缺少body部分的代码 改怎么对应呀

springmvc的model返回值jsp为何取不到这个值

最近,在写一段用户的代码,要求使用springmvc, RowMapper,jdbcTemplate的技术,我的代码段如下: jsp页面 users.jsp ``` <%@ 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"> <title>Insert title here</title> </head> <body> <table> <c:if test="${not empty userlist}"> <c:forEach var="s" items="${userlist}" varStatus="status"> <thead> <tr><td>用户姓名</td><td>用户密码</td></tr> </thead> <tbody> <tr><td>${s.user_name}</td><td>${s.user_pwd}</td></tr> </tbody> </c:forEach> </c:if> </table> </body> </html> ``` HelloController.java ``` @RequestMapping("/howareyou.do") public String getUserbyUserId(Model model,HttpServletRequest req){ Long userid=(long) Integer.parseInt(req.getParameter("user_id")); List<User> users = userService.findAllByUserId(userid); model.addAttribute("userlist",users); return "users"; } ``` UserServiceImplement.java ``` @Override public List<User> findAllByUserId(Long user_id) { // TODO Auto-generated method stub String sql = "select * from user where user_id = ?"; Object[] params = new Object[] {user_id}; BeanPropertyRowMapper<User> UserRowMapper = new BeanPropertyRowMapper<User>(User.class); List<User> users = null; /** * 使用接口实现类 */ users = jdbcTemplate.query(sql, params, UserRowMapper); /** * 使用匿名内部类 * 如果UserRowMapper类只使用一次,单独为其创建一个类多余,可以使用匿名类 * 省略了书写一个实现类 */ users = jdbcTemplate.query(sql, params, new RowMapper<User>() { public User mapRow(ResultSet rs, int rowNum) throws SQLException { User user = new User(); /*user.setUser_id(Long.parseLong(String.valueOf(rs.getInt("user_id"))));*/ user.setUser_name(rs.getString(3)); user.setUser_pwd(rs.getString(2)); System.out.println("user_name is"+user.getUser_name()); System.out.println("user_pwd is"+user.getUser_pwd()); System.out.println("user_id is"+user.getUser_id()); return user; } }); return (users != null && users.size() > 0) ? users : null; } ``` 我用断点进入,发现在serviceImplement层,users是有值的,分别取到一个用户user的username和user_pwd的2个属性,可是到了jsp层,为何出现的是com.frame.model.User@123456的输出结果?而且,页面没有输出值。请教,应该如何写才好?谢谢!

springMVC后台接收到参数了,有值,但是一直报空指针

取到了storeId,为1130,但是把值付给对象属性的时候一直报类型转换错误和空指针![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/5.gif)

SSM框架是怎么接收表单的请求的,Tomcat报错

这是index.jsp的页面: ![图片说明](https://img-ask.csdn.net/upload/201802/07/1518010875_396737.png) 提交后出现404错误: ![图片说明](https://img-ask.csdn.net/upload/201802/07/1518010917_418666.png) 控制层代码: ![图片说明](https://img-ask.csdn.net/upload/201802/07/1518010985_294634.png) index.jsp(登录界面): ![图片说明](https://img-ask.csdn.net/upload/201802/07/1518011044_993629.png) 项目结构: ![图片说明](https://img-ask.csdn.net/upload/201802/07/1518011097_33450.png) web.xml: ``` <web-app> <display-name>Archetype Created Web Application</display-name> <!-- 设置Spring容器加载配置文件路径 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- 加载Spring容器配置 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 防止内存泄漏的监听器 --> <listener> <listener-class> org.springframework.web.util.IntrospectorCleanupListener </listener-class> </listener> <!-- 配置Springmvc核心控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springMVC.xml</param-value> </init-param> </servlet> <!-- servlet-mapping配置 --> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> ``` spring-mvc.xml: ``` <!-- 注解Controller扫描器 --> <context:component-scan base-package="stu.controller"/> <!--&lt;!&ndash; 静态资源访问 &ndash;&gt;--> <!--<mvc:resources location="/img/" mapping="/img/**"/>--> <!--<mvc:resources location="/js/" mapping="/js/**"/>--> <!--<mvc:resources location="/jsp/" mapping="/common/**"/>--> <!-- 注解功能的默认配置,处理器和映射器 --> <bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> <bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!-- 前后缀配置 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> ``` 小白,不是特别懂,求解

springmvc MultipartFile 重复上传同一张图片ear.jpg 如何设置服务器不会增加这张图片

文件上传后 自动 生成 时间戳+随机码 但是 我的后台需要上传的图片有重复的 不想让他重新生成新的图片新的名字 控制器部分代码 ``` MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // 图片上传 MultipartFile left_img = multipartRequest.getFile("left_img");// 上传左图原文件 MultipartFile right_img = multipartRequest.getFile("right_img");// 上传右图原文件不仅仅是名字 FileUtil fileUtil = new FileUtil(); String fileRoot = request.getSession().getServletContext().getRealPath("upload/handAcupoint"); System.out.println("fileRoot:" + fileRoot); String type = multipartRequest.getParameter("type"); String id = multipartRequest.getParameter("id1"); String code = multipartRequest.getParameter("num"); String name = multipartRequest.getParameter("name"); String en_name = multipartRequest.getParameter("en_name"); String pinyin = multipartRequest.getParameter("pinyin"); String location = multipartRequest.getParameter("location"); String left_x = multipartRequest.getParameter("left_x"); String left_y = multipartRequest.getParameter("left_y"); String right_x = multipartRequest.getParameter("right_x"); String right_y = multipartRequest.getParameter("right_y"); String zhuzhi = multipartRequest.getParameter("zhuzhi"); String leftFileName = null; String rightFileName = null; String yleftName = null; // 原来左图片名字 String yrightName = null;// 原来右图片名字 String res = null; int code1 = Integer.parseInt(code); int right_x1 = Integer.parseInt("0" + right_x); int right_y1 = Integer.parseInt("0" + right_y); int left_x1 = Integer.parseInt("0" + left_x); int left_y1 = Integer.parseInt("0" + left_y); if (type.equals("0")) {// 添加手诊穴位信息 leftFileName = fileUtil.saveImg(left_img, fileRoot, yleftName); // 左图 rightFileName = fileUtil.saveImg(right_img, fileRoot, yrightName); // 右图 int num = handDiagnosisService.saveHandAcupoint(code1, name, en_name, pinyin, location, leftFileName, rightFileName, left_x1, left_y1, right_x1, right_y1, zhuzhi); if (num != 0) { res = "1001";// 添加成功 } else { res = "1002";// 添加失败 } OutputUtil.outPutString(response, res); } ``` 上传类代码 ``` public class FileUtil { /** * 上传图片 * @param imgFile 图片文件 * @param fileRoot 目标地址 * @param fileName 图片名称 * @return * @throws IOException * @throws IllegalStateException */ public String saveImg(MultipartFile imgFile,String fileRoot,String fileName) throws IllegalStateException, IOException{ if(imgFile == null){ return null; } File src = new File(fileRoot); if (!src.exists()) { src.mkdirs(); } fileName = fileName==null?System.currentTimeMillis()+ new Random().nextInt(100000)+".jpg":fileName; /* String fileName = System.currentTimeMillis()+ new Random().nextInt(100000)+".jpg"; //图片名 */ File newFile = new File(src, fileName); imgFile.transferTo(newFile); return fileName; } } ``` **这是图片 同一张图片重复好多次** ![图片说明](https://img-ask.csdn.net/upload/201610/25/1477388105_516255.jpg)

springmvc 多文件上传 MultipartFile

<div class="iteye-blog-content-contain" style="font-size: 14px"></div> [code="java"] public String upload2(MultipartHttpServletRequest request, @RequestParam("name") String name){ List<MultipartFile> files = (List<MultipartFile>) request.getFile("myfiles"); } //修改成如下方法,还是报同样下面的错误: public String upload2(MultipartHttpServletRequest request, @RequestParam("name") String name, // 页面上的控件值 @RequestParam MultipartFile[] myfiles) { List<MultipartFile> files = Arrays.asList(myfiles); } // jsp页面,传一个myfiles,单个文件是可以通过的, [/code] [code="html"] <form method="POST" action="multipartFileUpload.action" enctype="multipart/form-data"> <input type="text" name="name" /><br> <input type="file"name="myfiles" /><br> <input type="file"name="myfiles" /><br> <input type="submit" /><br> </form> [/code] 报错:[code="java"] org.springframework.web.multipart.MultipartException: Multiple files for field name [myfiles] found - not supported by MultipartResolver at org.springframework.web.multipart.commons.CommonsFileUploadSupport.parseFileItems(CommonsFileUploadSupport.java:254) at org.springframework.web.multipart.commons.CommonsMultipartResolver.parseRequest(CommonsMultipartResolver.java:166) at org.springframework.web.multipart.commons.CommonsMultipartResolver.resolveMultipart(CommonsMultipartResolver.java:149) at org.springframework.web.servlet.DispatcherServlet.checkMultipart(DispatcherServlet.java:1015) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:851) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) at javax.servlet.http.HttpServlet.service(HttpServlet.java:643) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) [/code]

springmvc 参数传递问题

输入查询条件查询能够显示第一页查询结果,但是点击翻页出错, Required String parameter 'filename' is not present 参数无法获取,不知什么原因,求大神 jsp页面代码 ``` <script language="javascript" type="text/javascript" src="<%=request.getContextPath() %>/My97DatePicker/WdatePicker.js"></script> <% HttpSession s = request.getSession(); %> <%String s1=s.getAttribute("pagenum").toString(); String s2=s.getAttribute("pagesize").toString(); String s3=s.getAttribute("pagenow").toString(); String s4=s.getAttribute("num").toString(); int pagenum=Integer.parseInt(s1); int pagesize=Integer.parseInt(s2); int pagenow=Integer.parseInt(s3); int pagenow2=Integer.parseInt(s3)+1; int listnum=Integer.parseInt(s4); int liststep=5;//显示页码数 if (pagenum < pagenow) { pagenow = pagenum;//如果分页变量大总页数,则将分页变量设计为总页数 } if (pagenow <=0) { pagenow = 1;//如果分页变量小于1,则将分页变量设为1 } else if (pagenow >0) { pagenow = pagenow+1;//如果分页变量小于1,则将分页变量设为1 } int listbegin = (pagenow - (int) Math.ceil((double) liststep / 2));//从第几页开始显示分页信息 if (listbegin < 1) { //当前页-(总显示的页列表数/2) listbegin = 1; } int listend = (pagenow + liststep / 2)-1;//分页信息显示到第几页//当前页+(总显示的页列表数/2) if (listend > pagenum) { listend = pagenum + 1; } if(listnum<=10) { listend=1;} if(listend-listbegin+1>pagenum) { listend=pagenum;} if(listend>pagenum) { listend=pagenum;} %> <h4 align="center">上传任务管理</h4> ${pageaction} <form action="upload/searchByFileName2/<%=0 %>" method="post"> <table border="1" cellspacing="0" align="center"> <tr> <td colspan="2" align="center">查询</td> </tr> <tr> <td width="450px" align="center">文件名称:<input type="text" name="filename" value=${filename} ></td> <td width="450px" align="center"> 文件类型:<select name="filetype" > <option value="txt">txt</option> <option value="jpg">jpg</option> </select> </td> </tr> <tr> <td align="center" > 上传时间从:<input name="start" type="text" style="width: 180px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})"> </td> <td align="center"> 至:<input name="stop" type="text" style="width:180px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})" /> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="查询" style="width:150px;height: 25px" />&nbsp;&nbsp; <input type="reset" value="重置" style="width:150px;height: 25px" > </td> </tr> </table> <font color="red"> ${errormessage}</font> <br> <table border="1px" cellpadding="0" cellspacing="0" align="center"> <tr> <th ><input type="checkbox" name="all" value="ds"/></th> <th >id</th> <th >文件名</th> <th >文件大小</th> <th >文件类型</th> <th >上传时间</th> <th >文件描述</th> <th >执行时间</th> <th >运行结果</th> <th >操作</th> </tr> <c:forEach var="upload" items="${upload}"> <tr> <td width="45px"><input type="checkbox" value="${upload.id}" name="single"/></td> <td width="45px">${upload.id}</td> <td width="235px">${upload.filename}</td> <td>${upload.filesize}</td> <td>${upload.filetype}</td> <td>${upload.uploaddate}</td> <td>${upload.des}</td> <td>${upload.runtime}</td> <td>${upload.result}</td> <td> <a href="">编辑</a> <a href="">删除</a><br /> </td> </tr> </c:forEach> <tr> <td align="right" colspan="10"> 当前第:<%=pagenow%>页/共<%=pagenum %>页 显示<%=pagesize %>条/共<%=listnum %>条 </td> </tr> <tr> <td align="center" colspan="10"> <% if (pagenow > 1) { %> <a href="${pageContext.request.contextPath}/${pageaction}/<%=pagenow-2 %>.html" style="text-decoration:none"> <% out.println("上一页"); }%> </a> <%for(int i=listbegin;i<=listend;i++) { pagenow=i; %> <a href="${pageContext.request.contextPath}/${pageaction}/<%=pagenow-1%>.html" style="text-decoration:none" > <% if(i==pagenow2) out.println("<font color='red'>["+i+"]</font>&nbsp;"); else out.println("["+i+"]&nbsp;"); } %> </a> <% if (pagenow !=pagenum) { %> <a href="${pageContext.request.contextPath}/${pageaction}/<%=pagenow2 %>.html" style="text-decoration:none"> <% if(listnum!=0) out.println("下一页"); }%> </a> </td> </tr> </table> </form> </body> </html> ``` jsp页面 ![图片说明](https://img-ask.csdn.net/upload/201511/11/1447217989_777414.png) controller代码 ``` @RequestMapping(value="/searchByFileName2/{pagenow}") public ModelAndView searchByFilename(HttpServletRequest request,@RequestParam String filename,@RequestParam String filetype,@RequestParam String start,@RequestParam String stop, ModelMap mod) throws ParseException { WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext(); ServletContext application = webApplicationContext.getServletContext(); String n=(String) application.getAttribute("name"); System.out.println("sssssssssss "+n); System.out.println("***************filename"+filename); System.out.println("***************start"+start); System.out.println("***************stop"+stop); System.out.println("***************filetype"+filetype); ModelAndView modelAndView=new ModelAndView("user/uploadWithPage"); if(start.equals("")&!stop.equals("")) { mod.addAttribute("errormessage", "上传日期不能为空"); return modelAndView; } if(!start.equals("")&stop.equals("")) { mod.addAttribute("errormessage", "上传日期不能为空"); return modelAndView; } Page<Upload> uploa=null; if(filename.equals("")&start.equals("")&stop.equals("")) { uploa=uploadService.findUploadByUsernameAndFiletype(n, filetype, 0, pagesize); } else if(start.equals("")&stop.equals("")) { uploa=uploadService.findUploadByUsernameAndFilenameAndFiletype(n, filename, filetype, 0, pagesize); } else if(filename.equals("")&!start.equals("")&!stop.equals("")) { uploa=uploadService.findUploadByUsernameAndFileTypeAndUploaddate(n, filetype, start, stop, 0, pagesize); } else if(!filename.equals("")&!start.equals("")&!stop.equals("")) { uploa=uploadService.findUploadByAll(n, filename, filetype, start, stop, 0, pagesize); } else { mod.addAttribute("errormessage", "上传日期不能为空"); } //当前页查询的记录数 pageitems=uploa.getNumberOfElements(); //查询出的总记录数 itemsnum=(int)uploa.getTotalElements(); //总页数 pagenum=uploa.getTotalPages(); HttpSession session = getSession(); session.setAttribute("pagenum", pagenum); session.setAttribute("pagesize", pagesize); session.setAttribute("num", itemsnum); session.setAttribute("pagenow", pagenow); session.setAttribute("filename", filename); session.setAttribute("filetype", filetype); session.setAttribute("start", start); session.setAttribute("stop", stop); mod.addAttribute("filename", filename); List<Upload> u = uploa.getContent(); if(u.size()==0) { mod.addAttribute("errormessage", "该文件不存在"); return modelAndView; } mod.addAttribute("pageaction", "upload/searchByFileName2"); modelAndView.addObject("upload",u); return modelAndView; } ```

SpringMvc ModelAndView传值失败,该怎么解决

``` @RequestMapping("/goodsTable") public ModelAndView goodsTable() { ModelAndView m=new ModelAndView("redirect:/goods_table.jsp"); List<Goods> list=new GoodsDao().findGoods(); for(Goods s:list) { System.out.println(s.getGoods_id()+s.getGoods_name()+s.getImg()+s.getIntro()+s.getPrice()); } m.addObject("goods_list", list); return m; } ``` 得到了 12123.png1 2电脑123.pngnull5999 3平板456.pngnull3999 4游戏机678.pngnull1999 5电视机336.png2599 说明传入的时候不是空的 添加了<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 并且导包了 ``` <c:forEach items="${goods_list}" var="s"> 55555<c:out value="${s.goods_id}"></c:out> </c:forEach> ``` 传出的时候什么都没输出,说明这儿的goods_list是空的,这是怎么回事

SpringMvc中使用json报错415:源服务器拒绝服务请求,因为有效负载的格式在目标资源上此方法不支持。

已经导入了jackson依赖 ``` <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.9</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.9</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.9.9</version> </dependency> ``` 简单java类 ``` public class item implements Serializable { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public item(String name) { this.name = name; } } ``` 控制器类 ``` @RequestMapping(path = "/testAjax",method = RequestMethod.POST) @ResponseBody public void testAjax(@RequestBody item test){ System.out.println("testAjax方法执行了....."); System.out.println(test); } ``` ajax请求 ``` $.ajax({ url:"/test/testAjax", contentType:"application/json;charset=UTF-8", data:JSON.stringify({"name":"shadow"}), dataType:"json", type:"POST", success:function (data) { alert("username"+ data.name); }, }); ```

SpringMVC表单提交如何动态获取表单对象?

这是我的Model继承关系: ``` public class BaseModel { } public class SysUser extends BaseModel { private String fdUsername; // 用户名 private String fdPassword; // 密码 } ``` 然后写了一个公共的Controller: ``` @RequestMapping(value = "/test2", method = RequestMethod.POST) public String test2(BaseModel baseModel, Model model) { // 这里只是获取到BaseModel System.out.println(baseModel); // 想在这里进行转换,但是报错了(转换异常) SysUser user = (SysUser) baseModel; System.out.println(user); return "forward:index.jsp"; } ``` HTML表单: ``` <form action="${CTX}/sys/user/test2.do" method="post"> <input name="sysUser.fdUsername"><br> <input name="sysUser.fdPassword"><br> <input type="submit" value="提交test2"> </form> ``` 像这种需求能实现吗?

springmvc Rest风格参数可能为空时怎么解决

比如有如下的Action方法: ``` @RequestMapping("/test/{p1}/{p2}") public String testRest(@RequestParam String p1, @RequestParam String p2){ System.out.println("p1:"+p1); System.out.println("p1:"+p1); return "/jsp/test"; } ``` 那么当访问的URL为: ``` http://localhost:8080/test/param1/param2 ``` 时会正常打印出 ``` 1:param1 p2:param2 ``` 但是当访问地址为 ``` http://localhost:8080/test/ ``` 时就直接报错了,怎样才能实现访问这个url时自动给p1和p2一个默认值呢? 谢谢!

页面显示不出数据,报For input string: ""错

if判断里的原本是注释掉的//adminInfoService.getAdminInfoFunctions(admininfo.getId()).getFs().size()>0,可是getFs取的值为空,登录进不去,所以先写了true ``` @RequestMapping(value="/login",produces="text/html;charset=UTF-8") @ResponseBody public String login(AdminInfo ai,ModelMap model){ //登录验证 AdminInfo admininfo = adminInfoService.getAdminInfoByCond(ai); if(admininfo!=null&&admininfo.getName()!=null){ System.out.println(admininfo.getName()+":"+admininfo.getFs()); //验证过过后,在判断是否已为该管理员分配功能权限 if(true){//adminInfoService.getAdminInfoFunctions(admininfo.getId()).getFs().size()>0 //验证通过且已分配功能权限,则将admininfo对象存入model中 model.put("admin", admininfo); //以json格式向页面发送成功信息 return "{\"success\":\"true\",\"message\":\"登录成功\"}"; }else{ return "{\"success\":\"false\",\"message\":\"您没有权限\"}"; } }else return "{\"success\":\"true\",\"message\":\"登录失败\"}"; } ``` 显示页面usermanager.jsp的关键代码 ``` <body class="easyui-layout"> <div data-options="region:'noth',border:false" style="height:60px;background:#B3DFDA;padding:10px"> north region </div> <div data-options="region:'west',split:true,title:'功能菜单'" style="width:200px;padding:10px"> <ul id="tt"></ul><!-- 定义树 --> </div> <div data-options="region:'south',border:false" style="height:50px;background:#A9FACD;padding:10px"> south region </div> <div data-options="region:'center',title:'主界面'"> <div id="tabs" data-options="fit:true" class="easyui-tabs" style="width:500px;heigth:250px"> </div> </div> <script type="text/javascript"> //为树指定数据 $("#tt").tree({ url:'admininfo/getTree?adminid=${sessionScope.admin.id}' }); $('#tt').tree({ onclick:function(node){ if("用户列表"==node.text){ if($('#tabs').tabs('exits','用户列表')){ $('#tabs').tabs('select','用户列表'); }else{ $('#tabs').tabs('add',{ title:nodel.text, href:'userlist.jsp', closable:true }); } }else if("管理员列表"==node.text){ if($('#tabs').tabs('exits','管理员列表')){ $('#tabs').tabs('select','管理员列表'); }else{ $('#tabs').tabs('add',{ title:nodel.text, href:'adminlist.jsp', closable:true }); } }else if("退出系统"==nodel.text){ $ajax({ url:'admininfo/loginout', sucess:function(data){ window.loction.href="admin_login.jsp"; } }) } } }); </script> ``` 这是getAdminInfoByCond方法的映射文件 ``` <select id="getAdminInfoByCond" parameterType="com.digital.pojo.AdminInfo" resultType="com.digital.pojo.AdminInfo"> select * from admin_info where name=#{name} and pwd=#{pwd} </select> ``` 这是报错: ![图片说明](https://img-ask.csdn.net/upload/201904/18/1555576897_543245.png) getAdminInfoFunctions的映射文件: ``` <select id="getAdminInfoFunctions" parameterType="int" resultMap="getAdminInfoFunctionsMap"> select ai.id,ai.name,f.id fuid,f.name fname,f.parentid fpid,f.isleaf fisleaf,f.nodeorder fno from admin_info ai left join powers p on ai.id=p.aid join functions f on p.fid=f.id where ai.id=#{id} ORDER BY fpid </select> <resultMap type="com.digital.pojo.AdminInfo" id="getAdminInfoFunctionsMap"> <id property="id" column="id"/> <result property="name" column="name"/> <collection property="fs" ofType="com.digital.pojo.Functions"> <id property="id" column="fuid"/> <result property="name" column="fname"/> <result property="parentid" column="fpid"/> <result property="isleaf" column="fisleaf"/> </collection> </resultMap> ```

spring mvc不用<form:input>只用input却能提交到ModelAttribute

Product类 ``` package app06; import java.util.List; import javax.validation.constraints.NotNull; import org.springframework.web.multipart.MultipartFile; public class Product { private static final long servialVersionUID = 74458L; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Float getPrice() { return price; } public void setPrice(Float price) { this.price = price; } private String name; private String description; private Float price; private List<MultipartFile> images; public List<MultipartFile> getImages() { return images; } public void setImages(List<MultipartFile> images) { this.images = images; } } ``` ProductController类 ``` package app06; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.client.HttpServerErrorException; import org.springframework.web.multipart.MultipartFile; @Controller public class ProductController { @RequestMapping("/product_input") public String inputProduct(Model model){ model.addAttribute("product",new Product()); return "FileUpload"; } @RequestMapping("/product_save") public String saveProduct(HttpServletRequest servletRequest,@ModelAttribute Product product,BindingResult bindingResult,Model model) throws IOException{ //return null; List<MultipartFile> files = product.getImages(); List<String> fileNames = new ArrayList<String>(); //File mkdir = new File(servletRequest.getServletContext().getRealPath("/image")); //mkdir.mkdir(); if(null != files && files.size() > 0){ for(MultipartFile mpf : files){ String fileName = mpf.getOriginalFilename(); fileNames.add(fileName); File parFile = new File(servletRequest.getServletContext().getRealPath("/").toString()).getParentFile().getAbsoluteFile(); parFile = new File(parFile,"/app06_file"); if(!parFile.exists()){ parFile.mkdirs(); } File imageFile = new File(parFile,fileName); System.out.println(imageFile); if(!imageFile.exists()){ imageFile.createNewFile(); } try{ mpf.transferTo(imageFile); }catch(Exception e){ e.printStackTrace(); } } } return null; } } ``` FileUpload.jsp ``` <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <% 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 'FileUpload.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"> --> </head> <form:form commandName="product" action="product_save" method="post" enctype="multipart/form-data"> <fieldset> <legend>Add a product</legend> Product Name : <form:input path="name"/><br/> Description: <form:input path="description"/><br/> Price:<form:input path="price"/><br/> Product image : <input type="file" name="images[0]"><br/> <input type="reset"><input type="submit" value="Add A Product"> </fieldset> </form:form> <body> </body> </html> ``` 这个代码运行是能成功上传文件的 但是我不明白 <input type="file" name="images[0]">为什么不需要用<form:input>就能被后台的@ModelAttribute Product这个接收到 并且name的image要加个[0] 就算是不加这个[0]也是能成功的 因为我是大一新生一枚 是按照书上一步一步来的 不太了解问问题的方式 求大神指导

idea 中spring mvc helloword简单项目

搭载好一个完整的项目后,在myeclipse中是没有问题的,调试在执行到controller的时候出问题,![图片说明](https://img-ask.csdn.net/upload/201608/24/1472006165_401692.png) 页面报错 ![图片说明](https://img-ask.csdn.net/upload/201608/24/1472006290_707276.png) 代码: <!-- 直接将请求和bean映射, 接收到是一个/hello.from, 就去寻找名字为/hello.from的bean --> <bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> </bean> <!-- 指定HelloController的bean名称为/hello.from --> <bean name="/hello.from" class="com.szkingdom.controller.HelloController"> </bean> <!-- 对应/toLogin.from请求 --> <bean name="/toLogin.from" class="com.szkingdom.controller.LoginController"> </bean> <!-- 定义视图解析器,处理Controller返回的ModelAndView --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"> </property> <property name="suffix" value=".jsp"> </property> </bean>

spring mvc json返回中文乱码 配置后依然不好使

``` <context:annotation-config /> <context:component-scan base-package="may.web.action"></context:component-scan> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean class = "org.springframework.http.converter.StringHttpMessageConverter"> <property name = "supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> </bean> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> </list> </property> <property name="webBindingInitializer"> <bean class="may.filter.MyBindingInitializer"/> </property> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" > <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> <mvc:annotation-driven/> </beans> ``` xml已经配置了 但是还是中文乱码 还是text/plain:charset=ISO8859-1,自己弄了一下午 但还是不好使

mybatis+springMVC的传参问题?

先描述一下需求…… 我需要在JSP前端通过 input type=date 传入两个日期参数,然后查询出下表这2个日期之间的内容 比如传入 2017-10-1和2017-10-3 这样 > /* Table: tbl_paymoney 付款表 / /==============================================================*/ create table tbl_paymoney ( pay_id NUMBER(20) not null, bat_id NUMBER(20), pay_account NUMBER(10,2), pay_pays NUMBER(10,2), pay_state VARCHAR2(20), pay_date DATE, constraint PK_TBL_PAYMONEY primary key (pay_id) ); comment on table tbl_paymoney is '付款表'; comment on column tbl_paymoney.pay_id is '付款ID'; comment on column tbl_paymoney.bat_id is '批次ID'; comment on column tbl_paymoney.pay_account is '赊账'; comment on column tbl_paymoney.pay_pays is '已付款金额'; comment on column tbl_paymoney.pay_state is '状态'; comment on column tbl_paymoney.pay_date is '日期'; > 先贴出报错吧 ``` 开始日期=2017-10-01 结束日期=2017-10-03 ipm date1=2017-10-01 ipm date2=2017-10-03 十月 06, 2017 10:53:33 上午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [springmvc] in context with path [/MedicalExaminationSystem] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.great.dao.UserDao.querySumMoney] with root cause org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.great.dao.UserDao.querySumMoney ``` 这个是action的接收类 ``` @Controller public class ReportAction { @Autowired IReportService Service; @RequestMapping("/getPayM") // 通过两个日期查询两个日期内的金额 public ModelAndView GetPayMoney(Date date1, Date date2) { ModelAndView modelAndView = new ModelAndView("Report"); System.out.println("开始日期=" + date1); System.out.println("结束日期=" + date2); List<PayMoney> list=Service.querySumMoney(date1, date2); System.out.println("跳转信息发送到界面" + list); if (list != null) {// 判断不为空跳转 System.out.println("返回"); modelAndView.addObject(list); return modelAndView; } else { return modelAndView; } } } ``` 这个是接口 ``` public interface IReportService { public List<PayMoney> querySumMoney(Date date1,Date date2); ``` 这个是实现类 这里的sys测试就打印不出来了 ``` @Service public class ReportServiceImp implements IReportService{ @Autowired private UserDao UserDao; @Override public List<PayMoney> querySumMoney(Date date1, Date date2) { System.out.println("ipm date1="+date1); System.out.println("ipm date2="+date2); List<PayMoney> list=UserDao.querySumMoney(date1, date2); System.out.println("测试"+list); if (list != null) { return list; } return null; } } ``` userdao ``` @Repository public interface UserDao { public List<PayMoney> querySumMoney(Date date1,Date date2);//通过日期查询付款表内容 } ``` 接下来是mapper 这里我感觉应该就是问题的源泉…… 里面的pay_date1和2我感觉问题比较大…… ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.great.dao.UserDao"> <select id="querySumMoney" resultType="com.great.entity.PayMoney" parameterType="com.great.entity.PayMoney" resultMap="BaseResultMap"> select sum(pay_account+pay_pays) from TBL_PAYMONEY where to_char(tbl_paymoney.pay_date,'yyyy-mm-dd') between '#{pay_date1,jdbcType=DATE}' and '#{pay_date2,jdbcType=DATE}'; </select> </mapper> ``` 最后是bean ``` public class PayMoney { private Integer pay_id;// 付款ID private Integer bat_id;// 批次ID private Integer pay_account;// 赊账 private Integer pay_pays;// 已付款金额 private String pay_state;// 状态 private Date pay_date1;// 日期1 private Date pay_date2;// 日期2 public PayMoney() { super(); } public PayMoney(Integer pay_id, Integer bat_id, Integer pay_account, Integer pay_pays, String pay_state, Date pay_date1, Date pay_date2) { super(); this.pay_id = pay_id; this.bat_id = bat_id; this.pay_account = pay_account; this.pay_pays = pay_pays; this.pay_state = pay_state; this.pay_date1 = pay_date1; this.pay_date2 = pay_date2; } 下面的tostring和getset就不贴了 ``` 原本只有一个date,因为老是找不到问题所以我自己改成了date1和date2但果然还是不行…… 看了好几天感觉是mapper的语句有问题……但是在orcal上运行时可以查询到的……这里就很费解了,希望大大们能帮帮忙解解惑学校项目时间要到期了T_T

关于controller接收json串的问题

js: function aaa(){ var rows = $('#dg').datagrid('getSelections'); location.href="exportbus.do?swBus="+JSON.stringify(rows); } java后台: @RequestMapping("/exportbus.do") @ResponseBody public void exportbus(@RequestBody SwBus[] swBus,HttpServletRequest request,HttpServletResponse response)throws Exception{ try { System.out.println("==========="); HSSFWorkbook workbook=new HSSFWorkbook(); String titles[] = {"企业名称","组织机构代码"}; 控制台报错: DEBUG - Looking up handler method for path /exportbus.do DEBUG - Returning handler method [public void com.ufgov.controller.SwBusController.exportbus(com.ufgov.model.SwBus[],javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.lang.Exception] DEBUG - Returning cached instance of singleton bean 'swBusController' DEBUG - Last-Modified value for [/fs/exportbus.do] is: -1 DEBUG - Resolving exception from handler [public void com.ufgov.controller.SwBusController.exportbus(com.ufgov.model.SwBus[],javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.lang.Exception]: org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/octet-stream' not supported DEBUG - Resolving exception from handler [public void com.ufgov.controller.SwBusController.exportbus(com.ufgov.model.SwBus[],javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.lang.Exception]: org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/octet-stream' not supported DEBUG - Resolving exception from handler [public void com.ufgov.controller.SwBusController.exportbus(com.ufgov.model.SwBus[],javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.lang.Exception]: org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/octet-stream' not supported DEBUG - Null ModelAndView returned to DispatcherServlet with name 'SpringMVC': assuming HandlerAdapter completed request handling jsp页面直接415

查询时,js传参到后台(参数是int类型),后台接收不到,报转换异常,急急急!!!!在线等 !!

严重: Servlet.service() for servlet [springMVC] in context with path [/LINK] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer] with root cause java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at org.hibernate.type.IntegerType.set(IntegerType.java:64) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:154) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136) at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1769) at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1740) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1612) at org.hibernate.loader.Loader.doQuery(Loader.java:717) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270) at org.hibernate.loader.Loader.doList(Loader.java:2294) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172) at org.hibernate.loader.Loader.list(Loader.java:2167) at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:119) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1706) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:347) at org.springframework.orm.hibernate3.HibernateTemplate$36.doInHibernate(HibernateTemplate.java:1056) at org.springframework.orm.hibernate3.HibernateTemplate$36.doInHibernate(HibernateTemplate.java:1) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406) at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:1046) at com.bochy.link.cn.dao.impl.StorageDaoImpl.likeSelect(StorageDaoImpl.java:59) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy19.likeSelect(Unknown Source) at com.bochy.link.cn.controller.StorageController.likeSelect(StorageController.java:47) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 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:218) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 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:958) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087) 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(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)

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

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

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

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

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

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

和黑客斗争的 6 天!

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

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

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

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

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

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

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

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

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

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

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

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

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

外包程序员的幸福生活

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

优雅的替换if-else语句

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

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

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

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

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

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

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

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

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

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

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

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

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

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

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

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

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

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

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

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

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

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

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

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

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

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

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

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

终于,月薪过5万了!

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

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

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

立即提问
相关内容推荐