springmvc获取response时

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();

报错ServletRequestAttributes cannot be resolved to a type,不缺包

4个回答

看看你的XML中是否少了这一段配置:



org.springframework.web.context.request.RequestContextListener



写了呀

org.springframework.web.context.request.RequestContextListener

直接用modle转发出去不用response就行了
还有把你是在获取response出的错误,根本不是这么获取的,

HttpServletResponse response = ((ServletWebRequest)RequestContextHolder.getRequestAttributes()).getResponse();

weixin_43838265
weixin_43838265 这个会报类型转换错误吧
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SpringMvc能从servlet跳转到servlet吗?不用response这个内置对象
SpringMvc能从servlet跳转到servlet吗?不用response这个内置对象
SpringMVC如何不利用filter在切面中获得response对象
问题是这样的,希望利用一个切面和自定义注解去做统一灵活的API校验。之前使用filter做的,虽然也比较灵活,但是感觉又用注解又用filter比较麻烦。现在的问题是,在切面中获得response对象,知道的方法里除了利用joinPoint.getArgs之外,好像都仍需要利用filter(如threadlocal),有其它方法吗??谢谢!!!
用springMVC框架做文件上传时遇到问题
我是基于red5服务器。来用springMVC框架做文件上传。在上传文件时遇到错误。 @RequestMapping(value = "/upload.do",method = RequestMethod.POST) public String upload(HttpServletRequest request, HttpServletResponse response, String string) { System.out.println("==================run in import"); System.out.println("--------------" + request.getParameter("upload")); // 创建一个通用的多部分解析器. CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver( request.getSession().getServletContext()); // 设置编码 commonsMultipartResolver.setDefaultEncoding("utf-8"); System.out.println("++++++commonsMultipartResolver.isMultipart(request) : " + commonsMultipartResolver.isMultipart(request)); // 判断是否有文件上传 if (commonsMultipartResolver.isMultipart(request)) { MultipartHttpServletRequest multipartRequest = commonsMultipartResolver .resolveMultipart(request); Iterator<String> iter = multipartRequest.getFileNames(); System.out.println("+++++++++++iter = "+iter.toString()); // iter里面没有值 while (iter.hasNext()) { MultipartFile file = multipartRequest.getFile((String) iter.next()); if (file != null) { File localFile = new File("/WEB-INF/upload" + file.getOriginalFilename()); try { // file.transferTo(localFile); System.out.println("=======1111111111111===="); file.transferTo(localFile); System.out.println("====222222222222222======="); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } // 批量上传 // Map<String, MultipartFile> fileMap = request.getFileMap(); // for(Entry<String, MultipartFile> entry : fileMap.entrySet()){ // MultipartFile file = entry.getValue(); // try { // file.transferTo(new File("/WEB-INF/upload" + // file.getOriginalFilename())); // } catch(IllegalStateException e){ // e.printStackTrace(); // }catch (Exception e) { // // TODO: handle exception // e.printStackTrace(); // } // } return "up"; } } 上传文件后,在我指定的地方没有找到文件。测试发现 if (commonsMultipartResolver.isMultipart(request)) 这个地方获得的是false,我这个action没有接收到上传的文件,但是通过System.out.println("--------------" + request.getParameter("upload"));获取到了我上传文件的文件名。 通过上网查找,我在配置文件中配置了MultipartResolver处理器 <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 指定所上传文件的总大小不能超过200KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 --> <property name="maxUploadSize" value="200000"/> </bean> <!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException --> <!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 --> <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <!-- 遇到MaxUploadSizeExceededException异常时,自动跳转到/WEB-INF/jsp/error_fileupload.jsp页面 --> <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">error_fileupload</prop> </props> </property> </bean> 如果我在代码最上面写 MultipartHttpServletRequest rrr = (MultipartHttpServletRequest) request; 他就会报转化错误 java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest 不知道现在是什么问题,求解啊!
springmvc中的参数绑定有什么优点??
因为springmvc的controller也可以获取到httpservletrequest和response,通过两个属性可以获取前端的值,也可以向前端返回数据,那么参数绑定相比这个有啥优点呢???
SpringMvc当中的请求参数注入获取方式是什么?
<div class="iteye-blog-content-contain" style="font-size: 14px;"> <p>很好奇Spring是怎么去获取请求的参数的。</p> <pre name="code" class="java">@RequestMapping("/req") public void req(HttpServletRequest request,HttpServletResponse response,String id){ System.out.println(id); } </pre> <p> </p> <p>我在Spring的上一层做了一个Filter,尝试替换了<span style="font-size: 12px; line-height: 1.5;">getParameterMap、</span><span style="font-size: 12px; line-height: 1.5;">getParameter的内容,但是SpringMVC拿到的内容依旧是替换之前的。</span></p> <p>request.getParameterMap()、request.getParameter();、request.getReader()都不是,求解。</p> </div>
springmvc中可以不用jsp吗
1.能不能直接让controller返回数据给html而不经过jsp这一层哪? 需要的数据直接让response.getWriter().write(json)写出去,用html页面中的js来接受处理数据,需要展示的页面通过controller的返回值return "target.html"来实现。 ,然后在springmvc的配置项里面也不去配置后缀为jsp了。 2.还有一个问题就是如果用了setAttribute(json)的话,是不是就必须用到jsp了?因为我觉得它是java对象如果没有jsp解析的话,html中的js是没法解析的。
springMVC controller中方法接收参数问题,怎么接收json对象
后台配置及代码 <!-- controller多请求配置即多个方法 请求解析器配置--> <bean id="paramMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <property name="paramName" value="method"></property> </bean> <!-- 下边配置请求 --> <bean name="/busi/userInfo.action" class="com.mxci.busi.control.impl.UserInfoControllerImpl"> <property name="methodNameResolver"> <ref bean="paramMethodResolver"/><!-- 引用上边那个方法名称解析器 --> </property> </bean> public String regist(HttpServletRequest request, HttpServletResponse response, UserInfo userInfo) { // TODO Auto-generated method stub LOGGER.info("[CR]商户注册开始.请求商户信息:"+userInfo); MxciInsideResult mxciInsideResult = userInfoService.busiCustRegist(userInfo);//调用 //组装响应数据,并初始化进MxciResponseBody里面 MxciResponseServiceImpl mxciResponseService = new MxciResponseServiceImpl(mxciInsideResult.getRecode(),mxciInsideResult.getReData(),response); mxciResponseService.response();//响应结果到客户端 mxciResponseService=null;//置空 return null; } 目前请求地址这样写是可以封装层userId对象的 http://127.0.0.1:8090/mxciBusiness/busi/userInfo.action?method=regist&userId=wangyan&password=900613&certificateId=50022419901231739X&phoneNo=18696668026 请问怎么样修改才能用下边的地址访问能让后台接收到对象呢??? http://127.0.0.1:8090/mxciBusiness/busi/userInfo.action?method=regist&userInfo={"userId": "wangyan888","customerId": "BUSI20160125000001","lastErrorTime": null,"loginDate": null,"loginErrNum": 0,"password": "","phoneNo": "18696668026","reginDate": null,"status": 0,"valiDate":null}
dva的fetch请求如果是post类型,springmvc作为后台该如何接收并返回数据?
fetch请求如下(前段UI框架是antd): 1.导航栏上点击Uers按钮,跳转至/users ```javascript <Menu.Item key="/users"> <Link to="/users"><Icon type="bars" />Users</Link> </Menu.Item> ``` 2.路由跳转控制 ```javascript function RouterConfig({ history }) { return ( <Router history={history}> <Route path="/" component={IndexPage} /> <Route path="/users" component={Users} /> </Router> ); } ``` 3.上面的Users控件(component)如下 ```JavaScript function Users({ location }) { return ( <MainLayout location={location}> <div className={styles.normal}> <UsersComponent /> </div> </MainLayout> ); } ``` 4.最终地址会跳转到一个fetch方法中,该方法会调用yield call来执行一个请求,具体如下 ``` *fetch({ payload: { page = 1 } }, { call, put }) { const { data, headers } = yield call(usersService.fetch, { page }); yield put({ type: 'save', payload: { data, total: parseInt(headers['x-total-count'], 10), page: parseInt(page, 10), }, }); }, ``` 5.yield call方法里面的usersService.fetch方法如下(PAGESIZE目前是常量) ``` export function fetch({ page }) { return request('/api/user/userList', { method: 'POST', headers: { //'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 'Content-Type': 'application/json', }, body: { _page: { page }, _limit: { PAGE_SIZE }, }, }); // return request(`/api/user/userList?_page=${page}&_limit=${PAGE_SIZE}`); } ``` 6.request.js ``` import fetch from 'dva/fetch'; function parseJSON(response) { return response.json(); } function checkStatus(response) { if (response.status >= 200 && response.status < 300) { return response; } const error = new Error(response.statusText); error.response = response; throw error; } export default async function request(url, options) { console.log(1232131); console.log(options); const response = await fetch(url, options); // .then(checkStatus); // checkStatus(response); // const data = await response.json(); const ret = { data, headers: {}, }; if (response.headers.get('x-total-count')) { ret.headers['x-total-count'] = response.headers.get('x-total-count'); } return ret; } ``` 7.后台springmvc接收数据的方法 ``` //7.后台springmvc接收数据的方法 @Controller @RequestMapping("/user") public class UserController { private static final Logger logger = LoggerFactory.getLogger(UserController.class); @Autowired private UserService userService; @RequestMapping(value = "/userList") //@ResponseBody public void userList(final HttpServletRequest request, ModelMap modelMap) throws Exception{ String page = request.getParameter("_page"); String limit = request.getParameter("_limit"); List<CustBaseInfo> users = userService.getUserList(new CustBaseInfoExample()); modelMap.put("data", users); } } ``` **备注: 1.如果fetch方法用的是GET请求,我把参数拼接在URL后面是没有问题的,后台可以接收到,但是这种情况下,后台如何将数据返回给dva框架,我现在是将返回结果users放在了modelmap当中,但前台还是获取不到数据 2.如果fetch是post请求,前台连数据都发不出,我是f12下看netWork就没有数据发送** ![post请求时,后台接受到的数据,为null](https://img-ask.csdn.net/upload/201704/16/1492309110_210835.png) ![前台发送请求](https://img-ask.csdn.net/upload/201704/16/1492309143_988102.png) ![前台发送请求](https://img-ask.csdn.net/upload/201704/16/1492309165_929215.png) ![响应数据没有](https://img-ask.csdn.net/upload/201704/16/1492309234_633478.png)
springMVC返回视图名时多加了一个控制器类上的requestMapping的名字
```java @Controller @RequestMapping("res") // 控制器的请求映射 res public class StudyPlanController { // 获取学习计划列表 @RequestMapping(value = "getStudyPlans", method = RequestMethod.GET) public ModelAndView getStudyPlans(HttpServletRequest request, HttpServletResponse response) { //......操作........ ModelAndView mav = new ModelAndView(); // 设置视图名 mav.setViewName("plan"); // 返回逻辑视图名为: plan return mav; } } ``` **我想让它返回的视图名是 plan** 但是它返回的是:res/plan 它在前面加了控制器的requestMapping的名字 **请问一下这个怎么解决呢?????**
使用 springmvc 读取 form 表单元素
如题,各位大牛,小弟有一个 html页面的 form表单,内容为 name, email, intro 三个元素 使用 springmvc读取器内容 [code="java"]@RequestMapping(value="/register/", method=RequestMethod.POST) public ModelAndView handleRegisterRequest(HttpServletRequest request, HttpServletResponse response, @ModelAttribute("tempUser") User tempUser) { }[/code] 对于 User, 有 [code="java"]class User { String name; String email; }[/code] 对于使用了 ModelAttribute 的方法,可以很容易读取 form表单传递的 name 和 email, 并且生成一个相应的 User 实例,但是对于与 User无关的intro属性,却无法获取,请教各位大牛,这个应该怎么做? 我试了下面方法,不行 [code="java"]@RequestMapping(value="/register/intro/{intro}/", method=RequestMethod.POST) public ModelAndView handleRegisterRequest(HttpServletRequest request, HttpServletResponse response, @ModelAttribute("tempUser") User tempUser, @PathVariable String intro) { logger.debug(intro); // 打印的结果却是 {intro},说明没有传进该 controller }[/code] 万分感谢!
springmvc @requestbody 接收json字符串的原理
问题如上。贴出代码 @RequestMapping(value = "/sk/api/users", method = RequestMethod.POST) public void entitys(@RequestBody List<User> users, HttpServletRequest request, HttpServletResponse response) { System.out.println("获取到" + users.size() + "个用户"); for(User user : users){ System.out.println(user); } writeJson(response, "ok"); } 问怎么把通过ajax发出的json转换成List的,里面的逻辑是什么
springMVC怎么接受传来的对象的集合?
@RequestMapping(value = "insertDetails") @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) public void insertDetails( @RequestBody List<LisRecInfoDetailsObj> lisRecInfoDetailsObjs, @RequestParam(required = true , value ="examinationId")Integer examinationId, @RequestParam(required = true , value ="lisRecId")Integer lisRecId, @RequestParam(required = false , value ="userId")Integer userId, @RequestParam(required = true , value ="startTime")Date startTime, @RequestParam(required = true , value ="endTime")Date endTime, @RequestParam(required = true , value ="score")Integer score, @RequestParam(required = true , value ="totalQuestion")Integer totalQuestion, @RequestParam(required = true , value ="correctQuestion")Integer correctQuestion, @RequestParam(required = true , value ="errorQuestion")Integer errorQuestion, @RequestParam(required = true , value ="completeness")Integer completeness, HttpServletRequest request, HttpServletResponse response) {} 这样写有问题吗
SpringMVC 下使用 swf+uploadify上传图片问题
在SpringMVC下使用swf+uploadify上传图片,没有使用outputstream任何东西, 但是图片保存到 tomcat/bin目录下了,为什么? 下面是后台代码,后台是一个servlet: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); ServletFileUpload upload = new ServletFileUpload( new DiskFileItemFactory()); String imageId = ""; String imageSrc = ""; InputStream fileInputStream = null; try { List<?> items = upload.parseRequest(request); if (null != items) { Iterator<?> itr = items.iterator(); while (itr.hasNext()) { FileItem item = (FileItem) itr.next(); if (item.isFormField()) { continue; } else { int maxIndexNumber = getMaxIndexNumber( DscConsts.DSC_SPECIAL_AREA, DscConsts.UPLOAD_FILE_CLASS); fileInputStream = item.getInputStream(); String imgUrl = qiniuService.add(fileInputStream); //将图片保存到七牛 imageSrc = imgUrl; DisplayImage displayImage = new DisplayImage(); imageId = displayImage.getId(); displayImage.setClassId(DscConsts.DSC_SPECIAL_AREA); displayImage.setClassName(DscConsts.UPLOAD_FILE_CLASS); displayImage.setOriginal(imgUrl); if (maxIndexNumber >= 0) { displayImage.setIndexNumber(maxIndexNumber + 1); } else { displayImage.setIndexNumber(0); } displayImageService.add(displayImage); //将图片相关的信息保存到数据库 } } } } catch (Exception e) { e.printStackTrace(); } finally{ fileInputStream.close(); } out.print("{\"imageId\":\"" + imageId + "\",\"imageSrc\":\"" + imageSrc + "\"}"); } // 获取最大的MaxIndexNumber private int getMaxIndexNumber(String id, String className) { List<Object> result = displayImageDao .findByHql("select Max(indexNumber) from DisplayImage where classId = '" + id + "' and className = '" + className + "'"); if (result == null || result.size() == 0) return -1; return result.get(0) == null ? -1 : (Integer) result.get(0); }
springmvc框架,HandlerInterceptor拦截器跳转不了
**需求**:用户session十分钟内无请求就会自动删除。无论用户发送什么请求都要被拦截器拦截,并跳转到登录页面。 **问题**:拦截器能拦截到用户的访问行为,可是,跳转语句五法执行。 **我的代码**: HandlerInteceptor: ``` @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception { HttpSession session = request.getSession(true); // session中获取用户名信息 Object obj = session.getAttribute(Constant.LOGIN_SESSION); System.out.println("session中的数据:---> " + obj); if (obj == null || "".equals(obj.toString())) { String location = "/login.jsp" ; response.sendRedirect(location); return false; } return true; } ``` springmvc.xml拦截器配置: ``` <!-- Session失效拦截 --> <mvc:interceptors> <!-- 定义拦截器 --> <mvc:interceptor> <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller --> <mvc:mapping path="/**" /> <!-- 不需要拦截的地址 --> <!-- 直接用ip:端口号可以打开登录页 --> <mvc:exclude-mapping path="/" /> <!-- 可以浏览器地址栏输入login.jsp后缀访问登录页 --> <mvc:exclude-mapping path="/login.jsp" /> <!-- 以下为静态资源,不需要过滤 --> <mvc:exclude-mapping path="/App/**" /> <mvc:exclude-mapping path="/common/**" /> <mvc:exclude-mapping path="/css/**" /> <mvc:exclude-mapping path="/image/**" /> <mvc:exclude-mapping path="/js/**" /> <mvc:exclude-mapping path="/jsp/**" /> <mvc:exclude-mapping path="/kindeditor/**" /> <mvc:exclude-mapping path="/lib/**" /> <bean class="com.ryzh0310.interceptor.SystemSessionInterceptor"></bean> </mvc:interceptor> </mvc:interceptors> ``` web.xml中session删除配置(为了测试我写了最小时间1): ``` <!-- 登录退出session控制 --> <session-config> <session-timeout>1</session-timeout> </session-config> ``` 我的项目结构: ![图片说明](https://img-ask.csdn.net/upload/201712/15/1513299471_920782.png) 先谢谢你们啊 你们说我的重定向路径应该写成request.getContextPath() 而不应该直接写成/login.jsp 我打印了日志了,日志内容是: request.getContextPath() = /login.js 请帮我看下是不是其他问题吧。 我用的是springmvc+mybatis 抱歉,我是这么测试的,结果就是上面那行日志内容 ``` System.out.println("request.getContextPath() = " + request.getContextPath() + "/login.jsp"); ``` 先感谢大家了。 我改了改springmvc.xml配置文件, ``` <!-- Session失效拦截 --> <mvc:interceptors> <!-- 定义拦截器 --> <mvc:interceptor> <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller --> <mvc:mapping path="/**" /> <!-- 不需要拦截的地址 --> <mvc:exclude-mapping path="/login.jsp" /> <mvc:exclude-mapping path="/user/login" /> <mvc:exclude-mapping path="/App" /> <mvc:exclude-mapping path="/common" /> <mvc:exclude-mapping path="/css" /> <mvc:exclude-mapping path="/image" /> <mvc:exclude-mapping path="/js" /> <mvc:exclude-mapping path="/jsp" /> <mvc:exclude-mapping path="/kindeditor" /> <mvc:exclude-mapping path="/lib" /> <bean class="com.ryzh0310.interceptor.SystemSessionInterceptor"></bean> </mvc:interceptor> </mvc:interceptors> ``` mvn:mapping Path由 "/" 改为 "/**" mvc:exclude-mapping path也由 "/file/**"改成了"/file" **现在的情况是:** 1.可以跳转到登录界面了,然而地址栏上显示的是被拦截的请求所请求的目标界面的url。 2.这样跳转来的登陆界面,根本不能登录,可以输入帐号密码,却不能发送登录请求
HttpServletResponse 一直为null,是SpringMVC
![图片说明](https://img-ask.csdn.net/upload/201612/13/1481596349_943052.png) 做excel导出时,想要自定义路径导出,查找到的方法是res.getOutPutStream() 但是一直获取不到res,**或者可以自定义路径下载,不用response也可以**, 谢谢 前台是这样的 ![图片说明](https://img-ask.csdn.net/upload/201612/13/1481597924_499455.png)![图片说明](https://img-ask.csdn.net/upload/201612/13/1481598979_660168.png)
新手学SpringMvc存储session的问题
@Controller @SessionAttributes("user") public class UserController { @Resource private UserService userService; @RequestMapping("/login") public ModelAndView getLogin( User user,ModelMap model,HttpServletRequest request, HttpServletResponse response) { ModelAndView mav = new ModelAndView("login"); String userName = request.getParameter("uname").trim(); String userPassword = request.getParameter("upass").trim(); System.err.println("用户名和密码" + userName + userPassword); User user1= userService.selectLogin(userName, userPassword); model.addAttribute("user",user1); User uuser=(User)request.getSession().getAttribute("user"); System.out.println("管理用户邮箱/密码"+uuser.getUserEmail()+uuser.getUserName()); return mav; } } 为什么会获取不到session呢? 应该怎样做修改呢?
Springmvc如何根据请求参数有无callback,返回对应的jsonp或者json字符串
如题,需要获取json请求时需要ajax请求 ``` getData?callback=jQuery1830020447478396818042_1438937556784&_=1438937556855 ``` 返回的JSON字符串也带有callback参数 ``` jQuery1830020447478396818042_1438937556784(字符串) ``` 现在的问题是,怎样通过拦截器实现,判断请求中有无callback并返回对应的值。 拦截器中使用response.getWriter().write()方法时,总是会报outputstream流已被占用。
SpringMVC里如何实现不同用户的请求关键
各位大神,我在做一个网上商城的项目,目前遇到的瓶颈是:买家修改订单之后,如何主动通知卖家有订单变化? 实现过程中一开始希望在买家的控制器调用DAO的时候直接通过request或者session去获取卖家的响应连接,就能轻松通知卖家,但是request和session是单用户的,似乎是没办法去获取其他用户的请求的或者响应连接。 另一种想法是在oracle数据库里对订单表创建相关的触发器例如这样的触发器: CREATE OR REPLACE TRIGGER traigger_order AFTER INSERT OR UPDATE OF order_state ON torder BEGIN NULL; END; 这里针对torder表创建了一个监听order_state列的插入和更新的触发器trigger_order,但是问题是数据库在监听到触发器被触发后怎么样去告知java,java又怎么样去定向到卖家的response? 以上两个方法感觉都很难实现,是不是我的想法有问题还是没有捉住重点?这样的需求应该如何去实现?新手轻拍。。。
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时,后台可以取到
Kafka实战(三) - Kafka的自我修养与定位
Apache Kafka是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform) Kafka是LinkedIn公司内部孵化的项目。LinkedIn最开始有强烈的数据强实时处理方面的需求,其内部的诸多子系统要执行多种类型的数据处理与分析,主要包括业务系统和应用程序性能监控,以及用户行为数据处理等。 遇到的主要问题: 数据正确性不足 数据的收集主要...
volatile 与 synchronize 详解
Java支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是可以拥有一份拷贝,这样做的目的是加速程序的执行,这是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。 volatile 关键字volatile可以用来修饰字段(成员变量),就是告知程序任何对该变量...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
GitHub开源史上最大规模中文知识图谱
近日,一直致力于知识图谱研究的 OwnThink 平台在 Github 上开源了史上最大规模 1.4 亿中文知识图谱,其中数据是以(实体、属性、值),(实体、关系、实体)混合的形式组织,数据格式采用 csv 格式。 到目前为止,OwnThink 项目开放了对话机器人、知识图谱、语义理解、自然语言处理工具。知识图谱融合了两千五百多万的实体,拥有亿级别的实体属性关系,机器人采用了基于知识图谱的语义感...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
微信支付崩溃了,但是更让马化腾和张小龙崩溃的竟然是……
loonggg读完需要3分钟速读仅需1分钟事件还得还原到昨天晚上,10 月 29 日晚上 20:09-21:14 之间,微信支付发生故障,全国微信支付交易无法正常进行。然...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
相关热词 c# clr dll c# 如何orm c# 固定大小的字符数组 c#框架设计 c# 删除数据库 c# 中文文字 图片转 c# 成员属性 接口 c#如何将程序封装 16进制负数转换 c# c#练手项目
立即提问