大家好,今天小编来为大家解答springmvc中@PathVariable和@RequestParam的区别这个问题,不建议用requestparam注解很多人还不知道,现在让我们一起来看看吧!
本文目录
@requestmapping包含多个参数,前台怎么传参
@RequestMapping(value="/list",method=RequestMethod.GET)
publicStringgetAll(Modelmodel){
Set<GroupSecure>secures=redisDao.get();
model.addAttribute("secures",secures);
return"group/list";
}
@RequestMapping(value="/list",method=RequestMethod.GET,params="method=one")
publicStringgetOneUser(@RequestParam(value="name")Stringname,Modelmodel){
Set<GroupSecure>secures=redisDao.getByName(name);
model.addAttribute("secures",secures);
return"group/list";
}
怎样的能力才算进入java初级程序员行列
由于Java编程语言本身属于全场景编程语言之一,所以不同领域对于Java初级程序员的要求也会有所不同,比如Web开发领域和大数据开发领域对于Java程序员的知识结构就有不同的要求,另外随着云计算的广泛应用,Java程序员也在逐渐向全栈方向发展。
虽然不同领域对于Java初级程序员的要求会有所不同,但是以下几部分知识是Java初级程序员应该具备的:
第一:Java开发框架知识。Java语言由于其自身的特点,在编程的过程中对于开发框架的依赖程度比较高,虽然在JDK1.9之后,Java语言增强了模块化管理方式,但是要想提升Java开发效率,依然离不开开发框架的支撑。目前Spring系列框架的应用就比较广泛,初学者目前可以重点关注一下SpringBoot。
第二:数据库知识。Java开发对于数据库的依赖程度也是比较高的,所以掌握数据库知识对于Java初级程序员来说也是非常重要的。实际上,很多初级Java程序员都会经历一段“增删改查”的开发期。由于Java在大数据领域也有比较广泛的应用,所以Java程序员应该重点关注一下数据库知识,以便于未来向大数据方向发展。
第三:前端知识。Java程序员目前需要具备一定的前端知识,而且未来前端知识的掌握情况对于Java初级程序员的就业会起到重要的作用。前端知识需要重点关注一下JavaScript的学习,另外还需要关注一下移动端的相关知识,如果能再掌握一定的Android开发知识会更好一些。
最后,Java初级程序员也需要熟练使用开发工具,而且要具备一定的程序调试能力,而要想提升程序调试能力,一定要多做实验。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!
java应该学习什么
深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗。为此我呕心沥血整理了这套Java教程,不管你是不懂电脑的小白,还是已经步入开发的大牛,这套路线路你都值得拥有,小白看上面的视频可以成功学会Java并且顺利工作,大神看了上面的资源肯定会谆谆乐道,教程的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习。
首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发,首先就是要把这个环境准备好,之后就可以去做各种尝试,尝试过程中就能逐渐建立信心。初学者往往在环境配置中被各种预想不到的问题弄得很沮丧。不用担心,下面有详细的开发软件。
百度网盘一键下载:https://pan.baidu.com/s/1c2alCgo密码:gywj
然后是Java教程的流程图,学习要由浅入深,一步一步来,流程图为大家列出学习的先后顺序,不要急,把基础打牢固,后面的难题自会迎刃而解。
Java教程—流程篇:
接下来就是Java教程的具体视频。
Java教程—视频篇:
Java视频篇第一阶段-Java基础入门
本阶段Java课程共计11个知识,1个免费学习视频推荐
1、周期与目标:
学习周期:35天
学完后目标:可进行小型应用程序开发,对数据库进行基本的增删改查管理
2、知识点:
1)计算机基础知识(理解)
计算机基础、DOS常用命令、Java概述、JDK环境安装配置、环境变量配置、Java程序入门
2)编程基础(掌握)
常量与变量、数据类型、运算符、流程控制语句、方法、数组
3)面相对象(重点)
类与对象、封装、继承、多态、抽象类、接口
4)常用类(理解)
常用类介绍、正则表达式
5)集合(重点)
Collection集合、List集合、Set集合、Map集合
6)异常(理解)
异常处理方式、自定义异常
7)IO(掌握)File类、递归、字节流、字符流、转换流、缓冲流
8)多线程(理解)多线程、线程池
9)网络编程(理解)网络编程
10)反射(理解)反射
11)MySQL及JDBC开发(重点)MySQL数据库、JDBC、DBUtils、DBCP连接池
Java基础视频教程:http://pan.baidu.com/s/1pLhN7ib
Java视频篇第二阶段-JavaWeb阶段
本阶段Java课程共计4个大知识点,4个免费学习视频推荐
1、周期与目标:
学习周期:33天
学完后目标:可以仿制任何网站前端页面,解决网页浏览器兼容性问题,解决PC端和移动端兼容性问题;使用前端脚本进行相关网页功能特效编写,使用JavaWeb核心技术轻松写出任何网站功能模块,使用JavaWeb高级部分知识解决网站的相关高并发问题,无压力胜任javaEE开发工程师职位。
2、知识点:
1)前端技术(掌握)
HTML、CSS、JavaScript、jQuery、bootstrap
2)Mysql及JDBC(重点)
MySQL数据库回顾、JDBC开发回顾、连接池和DBUtil
3)JavaWeb开发核心内容(重点)
XML、HTTP及Tomcat、Servlet、request与response、cookie与session、Jsp技术、jdbc高级、Ajax开发、Filter/Listener高级开发技术、Redis、Linux
4)阶段案例(掌握)
系统封装:BaseServlet抽取、缓存技术Redis应用、在线支付接口开发、文件上传、JavaMail、Linux项目部署
Java视频教程:
(1)轻松掌握JavaWeb视频教程:http://pan.baidu.com/s/1dFoT7Vz?
(2)6天玩转mysql视频教程:http://pan.baidu.com/s/1mhYXBM4?
(3)超全面的JavaWeb视频教:http://pan.baidu.com/s/1o8TSHrc?
(4)阶段案例--JavaWeb网上图书商城完整:http://pan.baidu.com/s/1pLllwXt?
Java视频篇第三阶段-SSH框架阶段
本阶段Java课程共计4个大知识点,4个免费学习视频推荐
1、周期与目标:
学习周期:18天
学完后目标:能够开发JavaEE的后台系统,能够搭建企业级的JavaEE开发框架,能够使用Jquery的技术,能够使用ajax技术
2、知识点:
1)Hibernate5框架(重点)
hibernate.cfg.xml配置、hbm.xml映射文件详解、PO对象状态及状态的转换分析、Hibernate高级映射技术、Hibernate数据检索技术、Hibernate性能优化技术
2)Struts2框架(重点)
struts.xml详解及使用、使用通配符定义action、动态方法调用、ActionContext及ServletActionContext使用、模型驱动ModelDriven、属性驱动、默认拦截器分析、自定义拦截器、OGNL表达式、值栈ValueStack分析
3)Spring框架(重点)
applicationContext.xml配置文件编写、IoC思想、DI依赖注入、使用AspectJ进行切面编程、JdbcTemplate模板使用、声明式事务管理、SSH整合
4)CRM项目实战(掌握)
使用struts2+spring4+hibernate5+svn来开发项目、使用JqueryEasyUI进行布局、使用svn进行代码管理
Java视频教程
(1)Hibernate5框架:http://pan.baidu.com/s/1qYrUBxi
(2)Struts2框架:https://pan.baidu.com/s/1c1Tq55A
(3)Spring2.5视频教程:http://pan.baidu.com/s/1c222JE4
(4)struts2.1.8视频教程:https://pan.baidu.com/s/1jIa17wE?srx
Java视频篇第四阶段-项目实战一阶段
本阶段Java课程共计3个大知识点,4大项目实战,1个免费学习视频推荐
1、周期与目标:
学习周期:16天
学完后目标:可进行SSH系统框架的搭建,能独立基于SSH框架进行功能模块开发,可熟练操作oracle数据库,基于Oracle数据进行应用开发,可使用Quartz框架完成定时任务调度功能开发,可使用Shiro框架完成认证及授权功能开发,可使用CXF框架完成接口功能开发,可使用amChart完成图计报表功能开发,可使用ApachePOI组件完成导入及导出功能开发,可实现邮件的发送功能,可使用freemarker实现代码自动生成,据有一定的业务需求分析能力
2、知识点:
1)oracle(重点)
简单查询、oracle的常用函数、多表查询、集合操作、DDL操作管理表、DML管理数据、其它数据库对象、PL/SQL编程、存储过程与存储函数、触发器
2)maven(掌握)
maven介绍、maven安装、maven的入门程序、maven仓库、项目构建、依赖管理、maven综合案例、maven的私服
3)项目实战(重点)
(1)商务综合管理平台项目背景及项目需求、使用Maven进行项目构建、部门模块开发、用户管理及角色管理、使用shiro完成认证及授权功能开发、JavaMail、购销合同模块开发、购销合同报表及出货报表、海关数据导出功能开发、出口报运单功能开发、Quartz定时任务调度实现、FreeMarker+CodeMachine完成代码自动生成、委托单、催款单、财务报运单、生产厂家及产品信息
(2)BOS项目项目概述、环境搭建、zTree树及JqueryEasyUI、用户登陆与退出、密码修改、基础配置功能开发、取派员模块开发、区域导入导出、定区功能开发、webService及CXF框架、定区关联客户功能开发、业务通知单功能开发、权限管理模块开发、shiro认证框架、角色管理、系统部署
(3)ERP项目软件设计与环境搭建、部门管理模块开发、基础模块开发、登陆与密码管理、采购申请、主线业务流程开发、销售与库存管理、报表与图表、库存预警、数据导入与导出、CXF框架、权限分配、权限验证框架Shiro
(4)药品集中采购系统项目需求及业务流程、项目框架构建及封装、JqueryEasyUI框架、用户管理模块开发、使用Shiro框架完成认证、授权功能开发、使用ApachePOI完成药品目录导入导出功能开发、WebService及CXF框架、使用CXF框架完成药品目录同步接口开发、采购单模块开发、采用Quartz定义数据聚合定时任务工程开发、使用Jfreechart完成统计分析功能开发、系统测试及系统部署。
Java视频教程
(1)ORACLE经典视频教程:http://pan.baidu.com/s/1bpBspdX
Java视频篇第五阶段-SSM框架阶段
本阶段Java课程共计3个大知识点,1个免费学习视频推荐
1、周期与目标:
学习周期:6天
学完后目标:能独立搭建SSM项目架构,能独立基于SSM框架进行功能模块开发,能够独立使用bootstrap提供的UI组件实现系统功能,熟练使用Mysql数据库管理业务数据。
2、知识点:
1)mybatis(重点)
mybatis框架原理、mybatis入门案例、mybatis开发DAO方式、mybatis输入输出映射、动态sql、spring整合mybatis
2)springmvc(重点)
springmvc框架原理、springmvc入门案例、springmvc整合mybatis参数绑定、json数据交互、拦截器
3)Lucene&solr(重点)
什么是全文检索、Lucene实现全文检索、Analyzer分析器、索引维护、solr安装配置、solr索引、solr搜索、SolrJ
Java教程推荐:
(1)Springmvc+Mybatis由浅入深全套视频教程:http://pan.baidu.com/s/1eS3esgE
Java视频篇第六阶段-项目实战二阶段
本阶段Java课程共计2大项目,2个免费学习视频推荐
1、周期与目标:
学习周期:13天
学完后目标:能独立搭建SSM项目架构,能独立使用Maven构建项目工程,能独立基于SSM框架进行功能模块开发,熟练使用Mysql数据库管理业务数据;熟练使用Jquery常用API完成动态js代码编写,能够使用Freemarker完成页面静态化,能够使用dubbo框架进行分布式开发,使用nginx实现负载均衡;能够使用FastDFS搭建图片服务器,能够使用Solr完成全文检索功能开发,使用Redis缓存业务数据,提升系统性能;据有一定的业务需求分析能力
2、知识点:
新巴巴运动网项目&淘淘商城项目(重点)
项目介绍、环境搭建、使用Maven进行项目构建、使用dubbo完成分布式服务框架搭建、使用redis缓存数据提升系统性能、使用Solr实现搜索系统、消息队列activemq应用、freemarker页面静态化实现、SSO单点登陆系统开发、后台管理系统开发、前台管理系统开发、会员系统开发、购物车开发、订单系统开发
Java教程推荐:
(1)Java学科巴巴运动网视频教程106集:http://pan.baidu.com/s/1pJE0Drt
(2)巴巴运动网续集视频教程:http://pan.baidu.com/s/1jGgKQhS
springmvc中@PathVariable和@RequestParam的区别
1、@PathVariable
当使用@RequestMappingURItemplate样式映射时,即someUrl/{paramId},这时的paramId可通过@Pathvariable注解绑定它传过来的值到方法的参数上。
示例代码:
@Controller
@RequestMapping("/owners/{ownerId}")
publicclassRelativePathUriTemplateController{
@RequestMapping("/pets/{petId}")
publicvoidfindPet(@PathVariableStringownerId,@PathVariableStringpetId,Modelmodel){
//implementationomitted
}
}
上面代码把URItemplate中变量ownerId的值和petId的值,绑定到方法的参数上。若方法参数名称和需要绑定的uritemplate中变量名称不一致,需要在@PathVariable("name")指定uritemplate中的名称。
2、@RequestHeader、@CookieValue
@RequestHeader注解,可以把Request请求header部分的值绑定到方法的参数上。
示例代码:
这是一个Request的header部分:
Hostlocalhost:8080
Accepttext/html,application/xhtml+xml,application/xml;q=0.9
Accept-Languagefr,en-gb;q=0.7,en;q=0.3
Accept-Encodinggzip,deflate
Accept-CharsetISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive300
@RequestMapping("/displayHeaderInfo.do")
publicvoiddisplayHeaderInfo(@RequestHeader("Accept-Encoding")Stringencoding,
@RequestHeader("Keep-Alive")longkeepAlive){
}
上面的代码,把requestheader部分的Accept-Encoding的值,绑定到参数encoding上了,Keep-Aliveheader的值绑定到参数keepAlive上。
@CookieValue可以把Requestheader中关于cookie的值绑定到方法的参数上。
例如有如下Cookie值:
JSESSIONID=415A4AC178C59DACE0B2C9CA727CDD84
参数绑定的代码:
@RequestMapping("/displayHeaderInfo.do")
publicvoiddisplayHeaderInfo(@CookieValue("JSESSIONID")Stringcookie){
}
即把JSESSIONID的值绑定到参数cookie上。
3、@RequestParam,@RequestBody
@RequestParam
A)常用来处理简单类型的绑定,通过Request.getParameter()获取的String可直接转换为简单类型的情况(String-->简单类型的转换操作由ConversionService配置的转换器来完成);因为使用request.getParameter()方式获取参数,所以可以处理get方式中queryString的值,也可以处理post方式中bodydata的值;
B)用来处理Content-Type:为application/x-www-form-urlencoded编码的内容,提交方式GET、POST;
C)该注解有两个属性:value、required;value用来指定要传入值的id名称,required用来指示参数是否必须绑定;
示例代码:
@Controller
@RequestMapping("/pets")
@SessionAttributes("pet")
publicclassEditPetForm{
@RequestMapping(method=RequestMethod.GET)
publicStringsetupForm(@RequestParam("petId")intpetId,ModelMapmodel){
Petpet=this.clinic.loadPet(petId);
model.addAttribute("pet",pet);
return"petForm";
}
@RequestBody
该注解常用来处理Content-Type:不是application/x-www-form-urlencoded编码的内容,例如application/json,application/xml等;
它是通过使用HandlerAdapter配置的HttpMessageConverters来解析postdatabody,然后绑定到相应的bean上的。
因为配置有FormHttpMessageConverter,所以也可以用来处理application/x-www-form-urlencoded的内容,处理完的结果放在一个MultiValueMap<String,String>里,这种情况在某些特殊需求下使用,详情查看FormHttpMessageConverterapi;
好了,文章到此结束,希望可以帮助到大家。
声明:本文内容来自互联网不代表本站观点,转载请注明出处:https://bk.77788889.com/12/107958.html