springmvc取不到表单传递的参数?怎么回事呢?

前台向后台提交数据的时候,属性参数取到的全部是null。
通过request和userCustom取的都是null值。
为什么取不到值呢?

html中代码如下:

图片说明

controller中的代码如下:

@RequestMapping("/editUser")
public String editUser(HttpServletRequest request,Integer id,UserCustom userCustom)throws Exception{
System.out.println(request.getParameter("id"));
System.out.println(request.getParameter("username"));
System.out.println(request.getParameter("gender"));
System.out.println(userCustom);
//userService.updateUser(id,userCustom);
return "success";
}





2个回答

当FORM的ENCTYPE="multipart/form-data" 时发送的请求和一般的http不一样,需要转化后才能读其他参数。
如果你用spring,它提供一个MultiRequestResolver,只需要:

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

然后就能正常读取参数:

multipartRequest.getParameter("xxx");

chengduren2014
chengduren2014 今天发现,还是你说的是对的。是因为multipart/form-data的原因。在配置文件中配置后,就可以了。谢谢!
接近 4 年之前 回复

恩,我发现问题了。是因为springmvc不能自动封装date类型。
自定义一个日期类型的转换器,就可以正常的传参了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
表单传递参数,springmvc 参数为null
前台我用一个表单Post提交,如下 window.location="./roleView"; //获得表单id提交 document.getElementById("searchFormId").submit(); 后台 springmvc 接不到表单传递的值
SpringMVC后台action取不到页面参数
试了好久,当页面输入框有name属性的时候,后台action可以取到参数值;但是页面输入框只有id属性,而没有name属性的时候,后台怎么也取不到参数值,无论是从request对象取还是直接绑定action方法列表,都取不到,求解? action代码: [code="java"] @RequestMapping(value="/showSelf/add", method={RequestMethod.GET, RequestMethod.POST}) public String addContent(Long id, HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws Exception{ System.out.println("addContent!"); System.out.println("id is " + id); String[] v = request.getParameterValues("id"); if(v != null){ System.out.println("getParameterValues is " + v[0]); } System.out.println("getParameter is " + request.getParameter("id")); //HttpServletRequest request, HttpServletResponse response, ModelMap modelMap // Enumeration<String> pNames = request.getParameterNames(); // while(pNames.hasMoreElements()){ // System.out.println("paramName is " + pNames.nextElement()); // } return "showSelf"; } [/code] 页面代码: [code="java"] <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!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>xx</title> </head> <body> <form action="/myProject/showSelf/add" method="post"> <input type="submit" value="新增" /><input type="text" id="id" /> </form> </body> </html> [/code] 以上代码action获取不到id为"id"的值,当页面中输入控件的id属性改为name时,后台可以取到
springmvc表单参数实体类组装问题
springmvc表单提交之后,会自动将参数和对应的属性set进去,但是这种是将实体的全部属性 都set注入,页面上未传入参数的属性会set为null。怎样让实体类只set页面上传入的参数?
关于REST风格的SpringMVC Controller 传递多个参数的问题
关于REST风格的SpringMVC Controller 传递多个参数的问题 [code="java"] /** * * * Description: 预更新操作根据用户名查询用户信息 然后数据交给携带体 展示到视图 REST风格: /更新的用户的用户名/update * @param username @PathVariable修饰 表示形参同URL中的请求参数 * @param model 携带数据的Model * @return 视图页面/WEB-INF/jsp/user/update页面 * */ @RequestMapping(value="/{username}/update",method=RequestMethod.GET) public String update(@PathVariable String username, Model model){ System.out.println("获取到传入的参数值为:" + username); model.addAttribute(users.get(username)); return "user/update"; }[/code] 当传递多个参数时 如何设置controller 难道就是设置多个@PathVariable
springmvc中参数传递问题
有一个多选select提交数据到springmvc select的name=artisticIdentities 接收端代码 @RequestMapping("/add.action") @ResponseBody public JsonResult addArtist(Artist a) 其中a中包含String字段artisticIdentities post提交参数查看为 artisticIdentities:"bb" artisticIdentities:"cc" 然后springmvc直接将两个参数封装到字段artisticIdentities=bb,cc 请问有没有人知道这其中的缘由
springmvc后台如何取到checkbox属性的值
我正在做一个权限管理,超级管理员可以设置其他管理员的权限,在设置权限的页面,从后台读取到当前管理员的权限,有这个权限复选框就打勾,没有就不打,在这个页面也可以修改他们的权限,也即是说可以勾选或者取消勾选,然后传到后台写入数据库,现在问题就是如何在后台控制器取到前台勾选或者不勾选复选框的值呢?我一直取不到checkbox里面的值,不知道怎么办了~我用的是springmvc+mybatis+spring的框架~求大神围观帮小弟解决问题呢~
springMVC接收不到前台页面传递过来的值
controller ``` @Controller public class UserController { @RequestMapping("/login.action") public String login(String username, String password){ System.out.println(username); System.out.println(password); } } ``` 前台页面 ``` <body> <form action="${pageContext.request.contextPath}/login.action" method="post" > <table> <tr> <td>用户名</td> <td> <input type="text" name="username" /> </td> </tr> <tr> <td>密码</td> <td> <input type="password" name="password" /> </td> </tr> <tr> <td><input type="submit" value="登陆"/></td> </tr> </table> </form> </body> ``` 如上,后台接收到的username和password一直是null,是不是哪里漏写了什么?
SpringMVC表单提交的问题
我使用SpringMVC来做一个注册的表单页面,因为SpringMVC必须要有个 bean跟表单元素对应,所以我在域中放入了一个user Bean,但是现在有个 问题,注册页面有个再次输入密码,这个再次输入密码的name在user Bean 中并没有这个成员,所以不知道怎么搞,大神求解答
springmvc在controller层如何接收参数绑定到实体类?
springmvc在controller层如何接收参数绑定到实体类? 如果我接收参数是两个实体类,参数字段都对应好实体类的属性, 那么能不能绑定成功呢?
tomcat设置maxPostSize="0" 导致springmvc post请求参数接收不到问题
tomcat设置maxPostSize="0" 导致springmvc post请求参数接收不到问题
Springmvc 条件查询 分页的时候,怎么传递查询参数
查询用的action,翻页用的是超链接, 问题:怎么传递查询参数?怎么翻页的时候,查询文本框保存输入查询条件? ``` <form action="upload/search/<%=0%>" > ``` ``` <a href="${pageContext.request.contextPath}/upload/search/<%=pagenow %>"> ```
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 参数 默认值
我在一个springmvc控制器中定义了很多参数, 但是现在我想把参数全部抽取出来封装到一个参数的类, 但是有的参数是有默认值的, 而这些默认值 又在默认参数的类中定义了。 怎么才能在封装的参数中设置参数的默认值。 控制器:这个类继承了默认参数类,里面定义了许多默认参数 @RequestMapping(value="/roleDelete",method=RequestMethod.POST) public String roleDelete( @RequestParam(value = "number", defaultValue = PAGE_NUM) int number) 参数类: private int number;//列表页
有关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+mybatis的登录表单提交后404
前端填写正确的用户名和密码后,提交登录,浏览器显示404,前端提交的地址是/userlogin,后端对接的/user/userlogin也是对的,浏览器f12里显示请求的确成功传给了后端,但是不知道为什么404。用的是tomcat8.5,java版本1.8,phpstudy最新版,mysql5.7.26。 ## 这是所用到的包: ![图片说明](https://img-ask.csdn.net/upload/202002/01/1580567617_880785.jpg) ## 这是目录结构: ![图片说明](https://img-ask.csdn.net/upload/202002/01/1580567511_223692.jpg) ## 这是web.xml: ```xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>springmvc_test</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 配置spring监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 加载spring配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/context-config.xml</param-value> </context-param> <!-- 配置前端控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- DispatcherServlet在初始化方法里面会读取该初始化参数的值来获得 spring配置文件的位置 ,然后启动spring容器。 --> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/springmvc-config.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> <!-- 配置字符编码 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <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> </web-app> ``` ## 这是context-config.xml: ```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:aop="http://www.springframework.org/schema/aop" 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.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 扫描service包下的注解 --> <context:component-scan base-package="com.test.service"></context:component-scan> <!-- 配置数据库 --> <!-- 加载配置文件 --> <!-- <context:property-placeholder location="classpath:jdbc.properties"/> --> <bean id="dateSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driver" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/Eday_Test"></property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </bean> <!-- 配置Sqlsessionfactory并将数据源注入 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 引入数据源 --> <property name="dateSource" ref="dateSource"></property> <!-- 载入mybatis配置文件 --> <property name="configLocation" value="classpath:mybatis-config.xml"></property> <!-- 载入配置mapper映射的xml --> <property name="mapperLocations" value="classpath:com/test/mapper/*.xml"></property> </bean> <!-- 配置扫描mapper接口 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackge" value="com.test.mapper"></property> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dateSource" ref="dateSource"></property> </bean> <tx:annotation-driven transaction-manager="transactionManager"/> </beans> ``` ## 这是mybatis-config.xml: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <!-- 配置别名 --> <typeAlias alias="User" type="com.test.pojo.User"/> </typeAliases> </configuration> ``` ## 这是springmvc-config.xml: ```xml <?xml version="1.0" encoding="UTF-8"?> <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:context="http://www.springframework.org/schema/context" 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"> <!-- 扫描controller包下的注解 --> <context:component-scan base-package="com.test.controller"></context:component-scan> <!-- 开启注解 --> <mvc:annotation-driven></mvc:annotation-driven> <!-- 静态资源访问 --> <mvc:default-servlet-handler/> <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 配置试图解析的默认路径,即配置页面的根路径 --> <property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans> ``` ## 这是UserController.java: ```java package com.test.controller; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.test.pojo.User; import com.test.service.UserService; //声明控制器 @Controller //设置bean的scope属性为多例(prototype) @Scope("prototype") //设置请求映射,当客户端请求/user时,转到该控制器处理 @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value="/userlogin") public ModelAndView login(String user_Name,String user_pwd,ModelAndView mv,HttpSession session){ //调用userService中的login方法处理user实体类对象 User user = userService.login(user_Name,user_pwd); //登录的逻辑判断,判断条件是返回结果不为空 if(user!=null){ //登陆成功,将user对象设置到HttpSession作用范围域中,相当于服务端的cookie,有效时间默认30分钟 //在程序运行期间,在任意页面都可以提取它的值。 session.setAttribute("user",user); //转发到main请求 //登录成功,跳转页面 mv.setViewName("login/login-success"); }else{ //登录失败,向前端传递失败信息 mv.addObject("message","用户名或密码错误,请重新输入!"); //登录失败,跳转到登录页面 mv.setViewName("login"); } return mv; } //跳转到用户注册界面 @RequestMapping(value="/userregister"/*,method=RequestMethod.POST*/) public String register(User user){ String user_Name = user.getUser_Name(); //如果数据库中没有该用户,可以注册,否则跳转页面 if(userService.findByUserName(user_Name)==null){ //添加用户 userService.register(user); //注册成功,跳转到主页面 return "index"; }else{ //注册失败,跳转到错误页面 return "error"; } } } ``` ## 这是UserMapper.java: ```java package com.test.mapper; import org.apache.ibatis.annotations.Param; import com.test.pojo.User; public interface UserMapper { //根据用户名和密码查找,mybatis中有多个参数时,需要使用@Param注解 User findByUserNameAndPassword(@Param("user_Name")String user_Name,@Param("user_Pwd")String user_Pwd); //增加用户 void addUser(User user); //根据用户名查询 User findByUserName(String user_Name); } ``` ## 这是UserMapper.xml: ```xml <?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.tes.mapper.UserMapper"> <!-- 根据用户名和密码查询 --> <select id="findByUserNameAndPasssword" resultType="User"> select * from user where user_Name=#{user_Name} and user_Pwd=#{user_Pwd} </select> <!-- 增加用户 --> <insert id="addUser" parameterType="User"> insert into user (user_Name,user_Pwd,user_Email,user_NickName,user_Birth,user_Phone,user_InvitationCode) values(#{user_Name},#{user_Pwd},#{user_Email},#{user_NickName},#{user_Birth},#{user_Phone},#{user_InvitationCode}) </insert> <!-- 根据用户名查询 --> <select id="findByUserName" resultType="User"> select * from user where user_Name=#{user_Name} </select> </mapper> ``` ## 这是User.java: ```java package com.test.pojo; import java.sql.Timestamp; public class User { private int user_Id; private String user_Name; private int user_Pwd; private String user_Email; private String user_NickName; private Timestamp user_Time; private String user_Birth; private int user_Fans; private int user_Follow; private int user_Score; private String user_HeadImgAddr; private int user_Phone; private String user_InvitationCode; public int getUser_Id() { return user_Id; } public void setUser_Id(int user_Id) { this.user_Id = user_Id; } public String getUser_Name() { return user_Name; } public void setUser_Name(String user_Name) { this.user_Name = user_Name; } public int getUser_Pwd() { return user_Pwd; } public void setUser_Pwd(int user_Pwd) { this.user_Pwd = user_Pwd; } public String getUser_Email() { return user_Email; } public void setUser_Email(String user_Email) { this.user_Email = user_Email; } public String getUser_NickName() { return user_NickName; } public void setUser_NickName(String user_NickName) { this.user_NickName = user_NickName; } public Timestamp getUser_Time() { return user_Time; } public void setUser_Time(Timestamp user_Time) { this.user_Time = user_Time; } public String getUser_Birth() { return user_Birth; } public void setUser_Birth(String user_Birth) { this.user_Birth = user_Birth; } public int getUser_Fans() { return user_Fans; } public void setUser_Fans(int user_Fans) { this.user_Fans = user_Fans; } public int getUser_Follow() { return user_Follow; } public void setUser_Follow(int user_Follow) { this.user_Follow = user_Follow; } public int getUser_Score() { return user_Score; } public void setUser_Score(int user_Score) { this.user_Score = user_Score; } public String getUser_HeadImgAddr() { return user_HeadImgAddr; } public void setUser_HeadImgAddr(String user_HeadImgAddr) { this.user_HeadImgAddr = user_HeadImgAddr; } public int getUser_Phone() { return user_Phone; } public void setUser_Phone(int user_Phone) { this.user_Phone = user_Phone; } public String getUser_InvitationCode() { return user_InvitationCode; } public void setUser_InvitationCode(String user_InvitationCode) { this.user_InvitationCode = user_InvitationCode; } @Override public String toString() { return "User [user_Id=" + user_Id + ", user_Name=" + user_Name + ", user_Pwd=" + user_Pwd + ", user_Email=" + user_Email + ", user_NickName=" + user_NickName + ", user_Time=" + user_Time + ", user_Birth=" + user_Birth + ", user_Fans=" + user_Fans + ", user_Follow=" + user_Follow + ", user_Score=" + user_Score + ", user_HeadImgAddr=" + user_HeadImgAddr + ", user_Phone=" + user_Phone + ", user_InvitationCode=" + user_InvitationCode + "]"; } } ``` ## 这是UserService.java: ```java package com.test.service; import com.test.pojo.User; public interface UserService { //通过用户名及密码核查用户登录 User login(String user_Name,String user_Pwd); //增加用户 void register(User user); //根据用户名查询 User findByUserName(String user); } ``` ## 这是UserServiceImpl.java: ```java package com.test.service.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.test.mapper.UserMapper; import com.test.pojo.User; import com.test.service.UserService; @Service @Transactional public class UserServiceImpl implements UserService { //注入UserMapper接口 @Autowired private UserMapper userMapper; //登录,根据用户名和密码进行查询 @Override public User login(String user_Name,String user_Pwd){ return userMapper.findByUserNameAndPassword(user_Name,user_Pwd); } //注册,增加用户 @Override public void register(User user){ userMapper.addUser(user); } //根据用户名查询 @Override public User findByUserName(String user_Name){ return userMapper.findByUserName(user_Name); } } ``` ##这是login.jsp ```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"> <link rel="stylesheet" type="text/css" href="../css/login.css" /> <title>登录</title> </head> <body> <!--导航栏--> <nav class="nav"> <ul> <li class="logo"><a href="#">Eday</a></li> <li class="shouye"><a href="../index.jsp" class="neirong">首页</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">文章列表</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">留言板</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">更新日志</a></li> </ul> </nav> <!--登录板块--> <header class="header"> <p class="logintitle"> <b>登录</b> </p> <form action="${pageContext.request.contextPath }/user/userlogin" method="post" class=login-form> <p class= login-username-p> <label for="username" class="login-username-text">用户名:</label> <input type=text name="user_Name" class="login-username-input"> <br><a href="register.jsp" class=login-register>注册</a> </p> <p class="login-psw-p"> <label for="psw" class="login-psw-text">密码:</label> <input type=password name="user_Pwd" class="login-psw-input"> <br><a href="#" class=login-forget>忘记密码</a> </p> <div class=login-button-div> <label for=button></label> <button type=sublim class=login-button>登录</button> </div> </form> </header> </body> </html> ``` ## 这是login-success.jsp: ```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>登录成功,请等待跳转...</title> <script type="text/javascript"> onload=function(){ setInterval(go, 1000); }; var x=3; //利用了全局变量来执行 function go(){ x--; if(x>0){ document.getElementById("sp").innerHTML=x; //每次设置的x的值都不一样了。 }else{ location.href='../index.jsp'; } } </script> </head> <body> <!--导航栏--> <nav class="nav"> <ul> <li class="logo"><a href="#">Eday</a></li> <li class="shouye"><a href="../index.jsp" class="neirong">首页</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">文章列表</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">留言板</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">更新日志</a></li> </ul> </nav> <header> <div> <p>登录成功!页面将在3秒后自动跳转,请稍等...</p> </div> </header> </body> </html> ``` ## 这是数据库: ![图片说明](https://img-ask.csdn.net/upload/202002/01/1580568589_694404.jpg)
springMVC中当接收到数据后是如何传递给相应的controller,又如何将jsp返回给浏览器
springMVC中当接收到数据后是如何传递给相应的controller,又如何将jsp返回给浏览 器的,具体涉及到哪些类
通过表单提交到springmvc报错403
通过freemarker跳转到springmvc某个controller,如果是get方式则没什么问题。如果是post,这里表单制定的是post方式,controller制定的也是post,但是跳转不过去。并且报403错误 “HTTP Status 403 - Bad or missing token!”。求大神帮忙解决。感谢
springMVC参数错误返回值
我在用SpringMVC时,如果某些参数在请求时为必填参数,会用到(required = true),即: @RequestParam(value = "id", required = true) String id,String name) 但是这样的话如果id为空一请求就会报个Spring参数的错。 后来我把required 改为false,然后在程序中判断传入参数是否为空,如果为空的话,手动拼接要返回的json字符串: { "success": false, "failMessage": "参数中缺少id项,参数中缺少name项" } 现在我想改造一下,让required的值依然为true,此时如果请求参数为空,就根本不进入该方法,而是让SpringMVC自动给我返回这个错误的json串,格式按照上面的,请问该怎么修改呢?
SpringMVC 前后台参数传递问题
前端参数为:var jsonData = { "id":id, "jsonDateForDetail":jsonDateForDetail, "contractCode":contractCode, "contractName":contractName, "contractType":contractType, "signingDate":signingDate, "shipperId":shipperId, "shipperName":shipperName, "companyAbbreviation":companyAbbreviation, "carrierId":carrierId, "carrierName":carrierName, "shipperContactPerson":shipperContactPerson, "shipperContactNumber":shipperContactNumber, "carrierContactPerson":carrierContactPerson, "carrierContactNumber":carrierContactNumber, "cashOnDeliveryRatio":cashOnDeliveryRatio, "settlementMethod":settlementMethod, "departureAddress":departureAddress, "arrivalAddress":arrivalAddress, "consignmentPeriod":consignmentPeriod, "shippingType":shippingType, "deliveryMode":deliveryMode, "numConfirmationMethod":numConfirmationMethod, "qaConfirmationMethod":qaConfirmationMethod, "remark":remark, "status":status, "contractProvision":contractProvision, "auditPerson":auditPerson, "auditTime":auditTime, "auditOpinion":auditOpinion, //后加的 "flag":flag }; Wb.request({ url:reqUrl , params: jsonData, success: function(resp) { app.appwin.hide(); app.appwinAudit.hide(); app.appgrid.store.reload(); if(oprType=="audit"){ Ext.Msg.alert('{#app_alert#}', "审核通过"); }else{ Ext.Msg.alert('{#app_alert#}', "保存成功"); } } }); 我新增的实体类: public class TransportVo extends RmValueObject{ private static final long serialVersionUID = 1L; private String id; private String contractCode; private String contractType; private String contractName; private Timestamp signingDate; private String shipperId; private String shipperName; private String companyAbbreviation; private String carrierId; private String carrierName; private String shipperContactPerson; private String shipperContactNumber; private String carrierContactPerson; private String carrierContactNumber; private BigDecimal cashOnDeliveryRatio; private String settlementMethod; private String departureAddress; private String arrivalAddress; private String consignmentPeriod; private String shippingType; private String deliveryMode; private String numConfirmationMethod; private String qaConfirmationMethod; private String remark; private String status; private String auditPerson; private Timestamp auditTime; private String auditOpinion; private String usableStatus; private Timestamp createTime; private String createIp; private String createUserId; private String createUserName; private Timestamp modifyTime; private String modifyIp; private String modifyUserId; private String modifyUserName; private Timestamp deleteTime; private String deleteIp; private String deleteFlag; private String deleteUserId; private String deleteUserName; private String orderCode; private String attribute1; private String attribute2; private String attribute3; private String attribute4; private String contractProvision; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getContractCode() { return contractCode; } public void setContractCode(String contractCode) { this.contractCode = contractCode; } public String getContractType() { return contractType; } public void setContractType(String contractType) { this.contractType = contractType; } public String getContractName() { return contractName; } public void setContractName(String contractName) { this.contractName = contractName; } public Timestamp getSigningDate() { return signingDate; } public void setSigningDate(Timestamp signingDate) { this.signingDate = signingDate; } public String getShipperId() { return shipperId; } public void setShipperId(String shipperId) { this.shipperId = shipperId; } public String getShipperName() { return shipperName; } public void setShipperName(String shipperName) { this.shipperName = shipperName; } public String getCompanyAbbreviation() { return companyAbbreviation; } public void setCompanyAbbreviation(String companyAbbreviation) { this.companyAbbreviation = companyAbbreviation; } public String getCarrierId() { return carrierId; } public void setCarrierId(String carrierId) { this.carrierId = carrierId; } public String getCarrierName() { return carrierName; } public void setCarrierName(String carrierName) { this.carrierName = carrierName; } public String getShipperContactPerson() { return shipperContactPerson; } public void setShipperContactPerson(String shipperContactPerson) { this.shipperContactPerson = shipperContactPerson; } public String getShipperContactNumber() { return shipperContactNumber; } public void setShipperContactNumber(String shipperContactNumber) { this.shipperContactNumber = shipperContactNumber; } public String getCarrierContactPerson() { return carrierContactPerson; } public void setCarrierContactPerson(String carrierContactPerson) { this.carrierContactPerson = carrierContactPerson; } public String getCarrierContactNumber() { return carrierContactNumber; } public void setCarrierContactNumber(String carrierContactNumber) { this.carrierContactNumber = carrierContactNumber; } public BigDecimal getCashOnDeliveryRatio() { return cashOnDeliveryRatio; } public void setCashOnDeliveryRatio(BigDecimal cashOnDeliveryRatio) { this.cashOnDeliveryRatio = cashOnDeliveryRatio; } public String getSettlementMethod() { return settlementMethod; } public void setSettlementMethod(String settlementMethod) { this.settlementMethod = settlementMethod; } public String getDepartureAddress() { return departureAddress; } public void setDepartureAddress(String departureAddress) { this.departureAddress = departureAddress; } public String getArrivalAddress() { return arrivalAddress; } public void setArrivalAddress(String arrivalAddress) { this.arrivalAddress = arrivalAddress; } public String getConsignmentPeriod() { return consignmentPeriod; } public void setConsignmentPeriod(String consignmentPeriod) { this.consignmentPeriod = consignmentPeriod; } public String getShippingType() { return shippingType; } public void setShippingType(String shippingType) { this.shippingType = shippingType; } public String getDeliveryMode() { return deliveryMode; } public void setDeliveryMode(String deliveryMode) { this.deliveryMode = deliveryMode; } public String getNumConfirmationMethod() { return numConfirmationMethod; } public void setNumConfirmationMethod(String numConfirmationMethod) { this.numConfirmationMethod = numConfirmationMethod; } public String getQaConfirmationMethod() { return qaConfirmationMethod; } public void setQaConfirmationMethod(String qaConfirmationMethod) { this.qaConfirmationMethod = qaConfirmationMethod; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getAuditPerson() { return auditPerson; } public void setAuditPerson(String auditPerson) { this.auditPerson = auditPerson; } public Date getAuditTime() { return auditTime; } public void setAuditTime(Timestamp auditTime) { this.auditTime = auditTime; } public String getAuditOpinion() { return auditOpinion; } public void setAuditOpinion(String auditOpinion) { this.auditOpinion = auditOpinion; } public String getUsableStatus() { return usableStatus; } public void setUsableStatus(String usableStatus) { this.usableStatus = usableStatus; } public Date getCreateTime() { return createTime; } public void setCreateTime(Timestamp createTime) { this.createTime = createTime; } public String getCreateIp() { return createIp; } public void setCreateIp(String createIp) { this.createIp = createIp; } public String getCreateUserId() { return createUserId; } public void setCreateUserId(String createUserId) { this.createUserId = createUserId; } public String getCreateUserName() { return createUserName; } public void setCreateUserName(String createUserName) { this.createUserName = createUserName; } public Date getModifyTime() { return modifyTime; } public void setModifyTime(Timestamp modifyTime) { this.modifyTime = modifyTime; } public String getModifyIp() { return modifyIp; } public void setModifyIp(String modifyIp) { this.modifyIp = modifyIp; } public String getModifyUserId() { return modifyUserId; } public void setModifyUserId(String modifyUserId) { this.modifyUserId = modifyUserId; } public String getModifyUserName() { return modifyUserName; } public void setModifyUserName(String modifyUserName) { this.modifyUserName = modifyUserName; } public Date getDeleteTime() { return deleteTime; } public void setDeleteTime(Timestamp deleteTime) { this.deleteTime = deleteTime; } public String getDeleteIp() { return deleteIp; } public void setDeleteIp(String deleteIp) { this.deleteIp = deleteIp; } public String getDeleteFlag() { return deleteFlag; } public void setDeleteFlag(String deleteFlag) { this.deleteFlag = deleteFlag; } public String getDeleteUserId() { return deleteUserId; } public void setDeleteUserId(String deleteUserId) { this.deleteUserId = deleteUserId; } public String getDeleteUserName() { return deleteUserName; } public void setDeleteUserName(String deleteUserName) { this.deleteUserName = deleteUserName; } public String getOrderCode() { return orderCode; } public void setOrderCode(String orderCode) { this.orderCode = orderCode; } public String getAttribute1() { return attribute4; } public void setAttribute1(String attribute1) { this.attribute1 = attribute1; } public String getAttribute2() { return attribute2; } public void setAttribute2(String attribute2) { this.attribute2 = attribute2; } public String getAttribute3() { return attribute3; } public void setAttribute3(String attribute3) { this.attribute3 = attribute3; } public String getAttribute4() { return attribute4; } public void setAttribute4(String attribute4) { this.attribute4 = attribute4; } public String getContractProvision() { return contractProvision; } public void setContractProvision(String contractProvision) { this.contractProvision = contractProvision; } } 后台方法: @RequestMapping(params = {"method=insert"}, method = {org.springframework.web.bind.annotation.RequestMethod.POST}, consumes = {"application/x-www-form-urlencoded"}, produces = {"application/json"}) @ResponseBody public Map<String, Object> insert(HttpServletRequest request, @Valid TransportVo vo){。。。。。} 为什么TransportVo 这个实体没有值呢?如果把后面这个实体参数删掉就可以请求跳转到后台。但问题是,我的项目中其他的页面也是这么写的就可以传值---前台传一个JSONDATA,后台方法有两个参数,页面发送请求之后,后台方法中这两个参数都有值。而我新建的页面却不行 我想知道是什么地方给这另外加的实体类赋值了呢?
130 个相见恨晚的超实用网站,一次性分享出来
相见恨晚的超实用网站 持续更新中。。。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
win10系统安装教程(U盘PE+UEFI安装)
一、准备工作 u盘,电脑一台,win10原版镜像(msdn官网) 二、下载wepe工具箱 极力推荐微pe(微pe官方下载) 下载64位的win10 pe,使用工具箱制作启动U盘打开软件, 选择安装到U盘(按照操作无需更改) 三、重启进入pe系统 1、关机后,将U盘插入电脑 2、按下电源后,按住F12进入启动项选择(技嘉主板是F12) 选择需要启...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Java描述设计模式(19):模板方法模式
本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景 通常一款互联网应用的开发流程如下:业务需求,规划产品,程序开发,测试交付。现在基于模板方法模式进行该过程描述。 public class C01_InScene { public static void main(String[] args) { DevelopApp developApp = n...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
第三个java程序(表白小卡片)
前言: &nbsp;向女神表白啦,作为一个程序员,当然也有爱情啦。只不过,虽然前面两个程序都只是学习了基础的语法结构和向量哈希表。这里涉及的是Swing,awt图形用户界面和一点文件输入输出流的知识。 &nbsp; 表白代码如下: 另附:里面的音乐和图片可以放在一个自己创建的包里面,也可以放在src里面,或者使用绝对路径。至于布局,我自己的使用的是简单的排班,简单的继承。后面的程序会慢慢实现。 ...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
化繁为简 - 腾讯计费高一致TDXA的实践之路
导语:腾讯计费是孵化于支撑腾讯内部业务千亿级营收的互联网计费平台,在如此庞大的业务体量下,腾讯计费要支撑业务的快速增长,同时还要保证每笔交易不错账。采用最终一致性或离线补...
Linux网络服务-----实验---PXE和Kickstart的无人值守装机
目录 一.PXE的原理 二.kickstart的原理 三.PXE与kickstart的结合使用自动装机 一.PXE的原理 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由支持通过网络启动操作系统,再启动过程中,终端要求服务器分配IP地址...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
A*搜索算法概述
编者按:本文作者奇舞团前端开发工程师魏川凯。A*搜索算法(A-star search algorithm)是一种常见且应用广泛的图搜索和寻径算法。A*搜索算法是通过使用启...
程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
从顶级黑客到上市公司老板
一看标题,很多老读者就知道我在写什么了。今天Ucloud成功上市,季昕华成为我所熟悉的朋友里又双叒叕一个成功上市的案例。我们认识大概是十五年多吧,如果没记错,第一次见面应该是2004年,...
蓝桥杯知识点汇总:基础知识和常用算法
文章目录基础语法部分:算法竞赛常用API:算法部分数据结构部分 此系列包含蓝桥杯绝大部分所考察的知识点,以及真题题解~ 基础语法部分: 备战蓝桥杯java(一):一般输入输出 和 快速输入输(BufferedReader&amp;BufferedWrite) 备战蓝桥杯java(二):java编程规范和常用数据类型 备战蓝桥杯java(三):常用功能符以及循环结构和分支结构 备战蓝桥杯java(四...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
强烈推荐10本程序员在家读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
Linux自学篇——linux命令英文全称及解释
man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 意思是密码。 su:Swith user 切换用户,切换到root用户 cd:Change directory 切换目录 ls:List files 列出目录下的文件 ps:Process Status 进程状态 mkdir:Make directory ...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
疫情数据接口api
返回json示例 { "errcode":0,//0标识接口正常 "data":{ "date":"2020-01-30 07:47:23",//实时更新时间 "diagnosed":7736,//确诊人数 "suspect":12167,//疑是病例人数 "death":170,//死亡人数 "cur...
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药...
相关热词 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数 c#日期精确到分钟 c#自定义异常必须继承 c#查表并返回值 c# 动态 表达式树 c# 监控方法耗时 c# listbox c#chart显示滚动条
立即提问