SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取。这里主要讲这个注解
一、基本使用,获取提交的参数
后端代码:
@RequestMapping ("testRequestParam" )
public String filesUpload(@RequestParam String inputStr, HttpServletRequest request) {
System.out.println(inputStr);
int inputInt = Integer.valueOf(request.getParameter("inputInt" ));
System.out.println(inputInt);
return "index" ;
}
前端代码:
< form action ="/gadget/testRequestParam" method ="post" >
参数inputStr:< input type ="text" name ="inputStr" >
参数intputInt:< input type ="text" name ="inputInt" >
form >
前端界面:
执行结果:
test1
123
可以看到spring会自动根据参数名字封装进入,我们可以直接拿这个参数名来用
二、各种异常情况处理
1、可以对传入参数指定参数名
@RequestParam String inputStr
@RequestParam (value="aa" ) String inputStr
错误信息: HTTP Status 400 - Required String parameter 'aa' is not present
2、可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传
@RequestMapping ("testRequestParam" )
public String filesUpload(@RequestParam (value="aa" , required=true ) String inputStr, HttpServletRequest request)
3、如果用@RequestMapping注解的参数是int基本类型,但是required=false,这时如果不传参数值会报错,因为不传值,会赋值为null给int,这个不可以
@RequestMapping ("testRequestParam" )
public String filesUpload(@RequestParam (value="aa" , required=true ) String inputStr,
@RequestParam (value="inputInt" , required=false ) int inputInt
,HttpServletRequest request) {
return "index" ;
}
解决方法:
“Consider declaring it as object wrapper for the corresponding primitive type.”建议使用包装类型代替基本类型,如使用“Integer”代替“int”
self.location.href;//当前页面打开URL页面
window.location.href;//当前页面打开URL页面
this
.location.href;//当前页面打开URL页面
location.href;// 当前页面打开URL页面
parent.location.href;//在父页面打开新页面
top.location.href;//在顶层页面打开新页面
jQuery(function(){}) 或$(function(){}); 它是$(document).ready() 的简写
自SpringMVC4.2之后,RequestParam内部有4个参数:
1、String name
2、String value
3、boolean required
4、String defaultValue
其中name和value分别是对方的别名,即二者没区别,我个人比较喜欢用name,因为它的某些特性使得name这个名字更直观,下面会说到。
先看第一个映射方法的定义:
@RequestMapping("/paramTest0")
public @ResponseBody String paramTest(Long id){
String result = "";
result += id;
return result;
}
①然后我在浏览器地址栏上输入:http://localhost:8080/test/hello/paramTest0
浏览器显示:null
这里引申出了SpringMVC的一个特性,即当浏览器中没有输入 相应参数和值 ,那么SpringMVC不会给id赋值即id值是默认值null,因此参数都最好不要用 基础类型。
②在浏览器中输入:http://localhost:8080/test/hello/paramTest0?userName=zhang&userName=li&id=9 &userName=shit
浏览器显示:9
说明浏览器中只要有输入需要的参数即可,而不管是否包含多余的参数,且没有规定顺序(因为后台是可以根据key来获取值的,而如果是通过QueryString则顺序也不影响解析参数)。
③在浏览器中输入:http://localhost:8080/test/hello/paramTest0?id=6
显示为:6
这个就不解释了。
#########################################分隔符##################################################
再看第二个映射方法的定义:
@RequestMapping("/paramTest")
public @ResponseBody String paramTest(@RequestParam(name="userName ", required = false ) String[] userNames , Long id){
String result = "";
if (userNames != null ){
for (int i=0;i){
result += userNames[i] + "#";
}
}
result += id;
return result;
}
①然后在浏览器输入:http://localhost:8080/test/hello/paramTest?userName =zhang&userName=li&id =5 &userName=fuck
显示为:zhang#li#fuck #5
由此引申出:首先URL请求的参数部分可以有多对参数 的参数名一样,如上面的userName,且它们中间可以用其它参数隔开(上面用了id=5隔开)而不会影响这几个参数名一样的参数值构成“数组”(对于浏览器而言它只是URL中的字符串而已是否重复没半毛钱关系,Tomcat也不会主动将它拼成数组),
相同的参数名的值会被SpringMVC通过request.getQueryString()方法获取完整的参数然后再将相同key的Entry转换成数组(应该是SpringMVC判断参数里有数组就不用getParameter方法而用getQueryString方法获取参数),这里的元素值的顺序则是跟在URL请求中的顺序是对应的 。
然后看我们方法参数里的是userNames而非 userName,但是仍然显示正确,这是因为RequestParam的name或value属性的值userName才是和
浏览器那边传过来的参数名对应 (个人认为这是name比value更直观一点的原因),而它注解的参数userNames就是
此注解"userName"要“赋值”的变量(或说SpringMVC因为有RequestParam而做了个参数映射 将客户端请求中的参数值映射 到相应方法的参数上,即userNames)。
还要注意,一个@RequestParam只能注解一个参数 ,即后面的Long id上是没有该注解的。
RequestParam中的required是指这个参数是否客户端必须提供,defaultValue则是如果没有提供该参数默认值是什么(故required=true, defaultValue="xxx"就没意义了)。
作者:Silentdoer 欢迎任何形式的转载,但请务必注明出处。 限于本人水平,如果随笔/文章及代码有表述不当之处,还请不吝赐教。
①request.getParameter(“username”)等价于${param.username },它们一般用在服务器获取页面或客户端的内容,这些内容都是String的;
②request.getAttribute(“username”)等价于${requestScope.username},一般是从服务器传递数据到页面,在页面中获取服务器保存在其中的数据内容。
<%!%>是声明标签
<%=%>获取后台的变量值,比如后台一个session["ab"]="ab";前台<%=session["ab"]%>就能取到值;
<%:%>同<%=%>。
<%@ page ... %>
定义网页依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include ... %>
包含其他文件
<%@ taglib ... %>
引入标签库的定义
request
HttpServletRequest 类的实例
response
HttpServletResponse 类的实例
out
JspWriter 类的实例,用于把结果输出至网页上
session
HttpSession 类的实例
application
ServletContext 类的实例,与应用上下文有关
config
ServletConfig 类的实例
pageContext
PageContext 类的实例,提供对JSP页面所有对象以及命名空间的访问
page
类似于Java类中的this关键字
Exception
Exception 类的对象,代表发生错误的JSP页面中对应的异常对象
和 一样,也是需要嵌套在 当中的, 嵌套在当中
用于定义一个表格开始和结束
... 定义表头单元格。表格中的文字将以粗体显示,在表格中也可以不用此标签,标签必须放在 标签内
... 定义一行标签,一组行标签内可以建立多组由或 标签所定义的单元格
... 定义单元格标签,一组标签将将建立一个单元格, 标签必须放在 标签内
\n 用于字符串的换行 用于html的换行
JSP 读取表单数据
getParameter(): 使用 request.getParameter() 方法来获取表单参数的值。
getParameterValues(): 获得如checkbox类(名字相同,但值有多个)的数据。 接收数组变量 ,如checkbox类型
getParameterNames(): 该方法可以取得所有变量的名称,该方法返回一个Emumeration。
getInputStream(): 调用此方法来读取来自客户端的二进制数据流。
这两个应该是HTML标记吧? p是段落标记
b是加粗
@RequestParam
A) 常用来处理简单类型的绑定,通过Request.getParameter() 获取的String可直接转换为简单类型的情况( 由String到 简单类型的转换操作由ConversionService配置的转换器来完成);因为使用request.getParameter()方式获取参数,所以可以处理get 方式中queryString的值,也可以处理post方式中 body data的值。
B)用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容,提交方式GET、POST。(不设置这个属性,好像这就是默认值)
C) 该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定。
在方法参数里面如是:public @ResponseBody JsonResult getPublishedToposByConnStreamId(@RequestParam(value = "streamId", required = false) String streamId) {}
@RequestBody
A) GET、POST方式提时, 根据request header Content-Type的值来判断:
application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
multipart/form-data, 不能处理(次类型多用来上传文件类型---即使用@RequestBody不能处理这种格式的数据,@RequestParam这个却是可以处理的。);
其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);
B) PUT方式提交时, 根据request header Content-Type的值来判断:(表示没见过put方式滴,可以无视吧。)
application/x-www-form-urlencoded, 必须;
multipart/form-data, 不能处理;
其他格式, 必须;
说明:request的body部分的数据编码格式由header部分的Content-
你可能感兴趣的:(后台)
面试必考题:Android Binder 机制详解
大模型大数据攻城狮
android binder 面试 react native kotlin dalvik retrofit
目录第一章:Binder的基本概念什么是Binder?多角度解读Binder第二章:Binder的工作机制Binder的整体流程服务注册:从零到有的第一步服务查询:找到目标的“地图”服务调用:请求与响应的旅程Binder驱动的幕后功劳为什么Binder这么快?第三章:Binder在系统架构中的角色Activity:界面背后的通信枢纽Binder的角色实例分析Service:后台任务的跨进程支柱Bi
大数据技术笔记—spring入门
卿卿老祖
篇一spring介绍spring.io官网快速开始Aop面向切面编程,可以任何位置,并且可以细致到方法上连接框架与框架Spring就是IOCAOP思想有效的组织中间层对象一般都是切入service层spring组成前后端分离已学方式,前后台未分离:Spring的远程通信:明日更新创建第一个spring项目来源:科多大数据
最新二级域名分发系统网站源码 可商用
huihuixxx
程序源码 小鬼授权系统 源码全解密源码 授权代码 二级域名分发系统 网站源码
介绍:1.源码楼主网上买的没有后门是旧版本2.支付接口调用的是码支付来进行的3.支付接口需要登陆管理员后台安装4.支付接口必须信息正确只能装一次5.在线充值默认的充值比例是1:1【搭建教程】1.把源码上传主机并解压2.绑定根目录和域名并解析3.访问你的域名即可提示安装4.后台登陆地址:你的域名/admin5.登陆后台安装你的支付接口(需要的话)6.码支付怎么使用方法百度一下!网盘下载地址:http
每日面试题15:如何解决堆溢出?
℡余晖^
每日面试题 python 开发语言
在Java应用运行过程中,"java.lang.OutOfMemoryError:Javaheapspace"是最常见的错误之一。无论是高并发的电商大促场景,还是持续运行的后台服务,堆内存溢出都可能导致服务不可用、数据丢失,甚至引发系统崩溃。本文将结合实际排查经验,系统讲解堆溢出的底层逻辑、应急处理流程及长效预防策略。一、堆溢出的本质:内存分配的"收支失衡"Java堆是JVM管理的内存区域,用于存
MySql基础:事务
无敌摆烂仔
mysql 数据库
1.事务的简介1.1什么是事务事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。事务就是要做的或所做的事情,主要用于处理操作量大,复杂度高的数据。假设一种场景:你毕业了,学校的教务系统后台MySQL中,不在需要你的数据,要删除你的所有信息(一般不
rabbitmq java 乱码,透彻分析和解决一切javaWeb项目乱码问题
前言乱码是我们在程序开发中经常碰到且让人头疼的一件事,尤其是我们在做javaweb开发,如果我们没有清楚乱码产生的原理,碰到乱码问题了就容易摸不着头脑,无从下手。乱码主要出现在两部分,如下:第一,浏览器通过表单提交到后台,如果表单内容有中文,那么后台收到的数据可能会出现乱码。第二,后端服务器需要返回给浏览器数据,如果数据中带有中文,那么浏览器上可能会显示乱码。接下来我们逐一分析乱码产生的原因,以及
2018-10-28课堂活动
2d2cef5d0a9f
课堂作业:组员:周萍王嘉慧蔡力争项目:新浪微博APP产品介绍:新浪微博是一个基于用户关系信息分享、传播以及获取的平台。大家可以在微博随时随地分享新鲜事。痛点:用户容易触到顶部从而自动刷新页面导致刚刚未看完的微博瞬间被刷走且消失在讯息茫茫的新浪微博里解决方法:1.后台直接删掉这个顶部触发按钮2.可以在设置里添加一个用户自主选择是否点击顶端就会自动刷新微博的设定
【antdv4.0FormItem更新tooltip属性引发的思考】
北京时间2023-10-19,ant-design-vue最近发布了4.0.4-4.0.6的小版本更新,其中4.0.4新增了对Form组件中FormItem的tooltip属性支持,这个功能我觉得在后台管理场景下还是非常实用的,tooltip属性作用于FormItem中的FormItemLabel区域,用来配置提示信息,当用户不确定该行的用处或者不知道填什么内容时,可以作为input里placeh
没有公网ip怎么访问家里内网?简单操作通用的内网让外网访问的方法步骤
搬码临时工
tcp/ip 网络 网络协议
有公网IP时,可以用路由器管理后台做端口映射转发规则,实现内网本地提供外网访问。在无公网IP时,就需要用到nat123端口映射工具了。没有公网IP下,简单几步操作,将内网IP端口让外网可以访问:1、内网业务先确定家里内网是什么应用需要让外面连接访问的,先本地正常开启,并在内网其他电脑可以正常访问先。常见的有如:管理计算机(远程桌面连接、SSH访问),网站web服务,数据库mysql,监控系统应用,
2023-5-10晨间日记
佳悦_1b1d
今天是什么日子今天是周三,下雨了,昨晚上因为微信转账转错人了的事情,搞得我睡得不安稳,差不多5点就醒了,睡不着了,去账单看那人还没有确认收款,我就想着我还能做些什么呢?于是我就通过自己摸索,在腾讯后台,自己把微信支付的账户给冻结了,没想到账户冻结了以后,只要对方在24小时之内接收也是可以收款的,而且十点多钟,客服给我打电话说是否需要他们帮助通知对方,我说需要,那时钱还是没接收的,没想到可能是因为他
网络入门:防火墙、路由器、交换机三者到底有啥区别?
wljslmz
网络技术 防火墙 路由器 交换机
你好,这里是网络技术联盟站,我是瑞哥。公众号后台有粉丝表示,自己是刚入行的网络从业者,每天接触防火墙、路由器、交换机,但是没有师傅跟他讲三者到底有啥区别,网上的文章一大堆,不知道哪个是对的哪个是错的,希望瑞哥能够出一篇文章详细介绍一下。在这里,非常感谢这位粉丝的信任!今天瑞哥如约分享,希望能够对这位朋友以及有相同需求的朋友有所帮助!目录:文章目录防火墙防火墙的功能和作用防火墙的类型防火墙的工作原理
期望,其实是一种负能量
晓玉_5c35
所有关系,父母子女关系也好,夫妻情侣关系也罢,兄弟姐妹关系也好,亲戚朋友关系也罢,都只是锦上添花的幸福。一个人精神上的长久幸福,最终还是来自于自己心灵的丰盈。有很多人在我的后台留言,抱怨她们的另一半,抱怨婚姻生活不幸福,然后这些抱怨都会回归到同一个问题——该去还是留?我们都知道,亲密关系是修行最好的道场,你的配偶就是你修行的最佳对象,否则你也不会遇见他。可是每个人的功课都不一样。该去该留,外人岂能
基于SpringBoot生鲜水果商城管理系统
专业毕设vx dahusheji234
JSP毕设 源码分享 asp.net java 开发语言 学习
生鲜水果商城的实现主要包括:用户模块,后台管理模块其中用户模块包含有:首页商品显示用户登录注册,如果没有登录先提醒用户"请先登录.…,然后跳到登录界面,登录成功后再跳回到原来界面如果已经登录,加入购物车前,先判断该商品购物车中是否已经存在,如果存在则直接加数量,如果不存在则添加次商品信息到购物车。3、订单管理:用户可以根据自己需求购买商品,用户可以查看自己的订单信息,填写收货地址后端管理模块包含有
速来!!!淘宝那些隐藏的大额优惠卷都在这儿领取!
凌风导师
首先我们要知道一点。那就是在网上购物要付钱时,要先看看这店铺是否有优惠卷。亚瑟士跑鞋,我买的这一款颜色清新靓丽,穿上之后在学校的操场上跑步。高省-各大应用商城下载即可-购物领劵返利高,邀请码切记填500888,凌风高省邀请码500888,全网唯一教你技术的老师码填对码直送2皇冠总裁等级,送靓号邀请码一枚哦《凌风导师V:125130414》送价值百万引流技术推广绝密大礼包,后台联系老师进高省官方素材
企业级网站源码:一键优化与全站静态生成
DIY飞跃计划
本文还有配套的精品资源,点击获取简介:本文介绍了一个具有商业价值的企业级网站源码包,包含了完整的前后端设计和逻辑处理。源码具备后台一键优化功能,可通过简单操作提升网站性能,如数据库优化、资源压缩和缓存管理。源码支持生成全站静态页面,以提高加载速度和SEO表现。同时提供了详细的安装和使用文档,以及相关的调试和部署工具,使得开发者能够快速搭建和维护定制化的网站解决方案。1.企业级网站源码的商业价值与应
常用git命令集锦
gitinit初始化将当前目录初始化为git本地仓库,此时会在本地创建一个.git的文件夹gitinit-q静默执行,就是在后台执行gitinit--bare–bare参数,一般用来初始化一个空的目录,作为远程存储仓库gitinit--templatedir–template参数,相当于将已有的git仓库目录复制一份出来,生成新的仓库,dir是原git目录;gitinit--template../
SSM+Vue共享充电宝管理系统 充电宝投放管理系统 共享充电宝维护管理系统Java
计算机程序老哥
作者主页:计算机毕业设计老哥有问题可以主页问我一、开发介绍1.1开发环境开发语言:Java数据库:MySQL系统架构:B/S后端:SSM(Spring+SpringMVC+Mybatis)前端:Vue工具:IDEA或者Eclipse,JDK1.8,Maven二、系统介绍2.1图片展示注册登录页面:登陆前端页面功能:首页、合作商户、充电宝投放、公告栏、个人中心、后台管理首页.png充电宝投放.png
基于Spring Boot的网上订餐系统设计与实现
不若浮生一梦
计算机毕设 spring boot 后端 java
一、项目简介随着生活节奏加快,传统线下订餐逐渐不能满足人们对效率和便利的需求,网上订餐成为趋势。为了提升用户体验并优化商家运营管理,我开发了一套基于SpringBoot的网上订餐系统,实现用户在线浏览菜品、下单、查询配送,管理员可后台管理订单、菜品、会员等功能模块。本系统采用流行的SpringBoot框架,结合JSP技术开发前端页面,MySQL作为后台数据库,支持B/S架构下的完整订餐流程,具有界
今日头条极速版邀请码多少?(哪些今日头条极速版邀请码值得填写)
e95cfad15310
今日头条极速版邀请码(1542137748或1712201738或1805884301)是官方为每一位用户后台编辑的活动识别码,为了明确大家邀请好友时的从属关系,当你的好友首次下载了今日头条极速版并在活动页面输入提交了你的邀请码,那么双方就都可以获得福利奖励,且活动好友数量无限制,多多益善。2023新老用户下载的新版今日头条极速版,在注册登录后,来到输入邀请码的地方却无从获得所需要的邀请码,更不知
抖音优惠券如何设置?详细步骤解析
好项目氧券
抖音优惠券设置详细步骤解析随着抖音的普及,越来越多的商家开始在抖音上开展营销活动,其中优惠券作为一种常用的营销工具,能够有效提高用户的购买意愿和转化率。那么,如何在抖音上设置优惠券呢?本文将为您详细解析抖音优惠券的设置步骤。第一步:登录抖音小店后台首先,您需要登录抖音小店后台。如果没有抖音小店,需要先注册并开通抖音小店。第二步:进入营销中心登录后台后,进入【营销中心】-【营销工具】-【优惠券】。第
tmux 左下角会话名显示不全的解决方法
超级大福宝
运维 服务器 linux
在tmux中显示完整的会话名有时候我们要在服务器上长时间跑某个任务,但不可能时时刻刻保持终端模拟器开启,这时候就需要用到tmux,可以在关闭会话的同时让任务继续在后台跑,后续还可以连回来。但在tmux会话中,左下角的会话名预留空间并不大,会话名一旦过长,就显示不全了,解决方法如下。修改~/.tmux.conf,没有这个文件的话直接创建即可vim~/.tmux.conf添加如下内容,可以选择自己喜欢
拼多多商家怎么转人工
氧惠好项目
在运营拼多多店铺的时候,很多卖家朋友会遇到一些问题,比如说活动规则,处罚申诉等等,需要寻求官方客服的帮助,但是很多人都是遇到的系统客服,那么拼多多商家怎么转人工客服呢?拼多多商家客服分为热线和在线两种。1.联系热线客服,请拨打热线021-533950882.联系在线客服有三种方式(1)PC端登录商家管理后台,通过拼多多机器人咨询图片.png转入人工。(2)APP登录商家版APP,点击“我的”,然后
vue+element-ui实现主子表
征尘bjajmd
vue.js elementui javascript
https://www.cnblogs.com/falcon-fei/p/11060040.html需要实现如下效果一般ERP中,订单数据都分为汇总信息与明细信息,然后在查询的时候一次性从后台查询多条订单json数据,并将汇总信息展示到表格中。但是明细信息也是用户需要关注的,比如用户可能会想知道某个订单里面具体包含哪些商品,下单数量分别是多少。这时候就需要能够点击具体汇总信息行数据的时候,在下方展
C/C++ Linux 后台服务器开发高级架构师学习知识路(架构师篇)
诗筱涵
C/C++Linux后台服务器开发高级架构师学习知识路(架构师篇)学习2019-12-18摘自:https://www.bilibili.com/read/cv4180195114阅读1点赞0评论前言:小编从事c方面10多年的工作经验、今天跟大家分享一下我总结出来的一系列C/CLinux后台服务器开发的学习路线。从Linux开发工程师-Linux后台开发工程师-Linux高级互联网架构师。上篇写编
springboot+elementUI 多文件上传(带表单参数)
springboot+elementUI多文件上传代码htmljs后台图代码下面展示一些内联代码片。html新增修改选取文件上传文件不超过10MB取消确定jsdata(){isInsert:false//是否新增操作files:[],//新增文件fileList:[],//文件列表removeList:[],//删除的文件列表dialogForm:{name:"测试"}}updateFile(){
代谢组数据分析(二十四):基于tidymass包从质谱原始数据到代谢物注释结果的实践指南
生信学习者1
代谢组数据分析 (2025版) 数据分析 数据挖掘 r语言 数据可视化
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者!文章目录介绍加载R包数据准备原始数据处理导入massDataset数据对象交互图数据探索更新样本表格信息峰分布情况缺失值情况数据清洗数据质量评估去除噪声代谢特征过滤立群样本填补缺失值数据标准化和整合预处理后评估代谢物注释增加MS2图谱到数据对象数据库1注释数据库2注释数据库3注释结果统计分析剔除无注释代谢物追踪数据对象的相
重磅要闻!庆衍书院郭庆旺送你一万开户余额只是数字,KSD2.0光伏就是数字十选五骗局,盈亏都不会让你出金!
正义青天
骗子通过发布一些所谓“资深老师郭庆旺”的讲课,不断给被害人洗脑,当被害人向网站平台或手机App注入大额资金后,就会被后台操作造成“持续快速亏损”或“系统故障、无法提现”假象骗走资金。不要通过不明链接或二维码下载App。不要随便进群,说稳赚不赔的都是诈骗。天上不会掉馅饼,坚信“高额回报”“快速致富”等投资理财项目都是陷阱。不轻信网络投资理财推介。对低风险高回报的投资建议提高警惕。他们通常通过股票交流
vue3项目初始化完整流程,vue3+TypeScript+vue-router+pinia+element-plus+axios+unocss+mock
2.1项目初始化今天来带大家从0开始搭建一个vue3版本的后台管理系统。一个项目要有统一的规范,需要使用eslint+stylelint+prettier来对我们的代码质量做检测和修复,需要使用husky来做commit拦截,需要使用commitlint来统一提交规范,需要使用preinstall来统一包管理工具。下面我们就用这一套规范来初始化我们的项目,集成一个规范的模版。2.1.1环境准备no
计算机毕业设计之SpringBoot+Vue.js互动课堂小程序 作业管理系统 作业管理小程序 在线考试小程序
计算机毕业设计大全
功能1.微信小程序。老师和学生可通过微信端注册用户。老师:新建班级->新建课程(添加现有的班级)->老师分享班级二维码可邀请学生加入班级。学生通过二维码加入班级,课堂讨论、做试卷。2.PC后台系统。老师可以管理自己学生信息、管理班级信息、上传课件、查看作业。学生登录可以上传作业。开发技术springbootvue.jsmysql运行截图互动课堂小程序互动课堂小程序互动课堂小程序互动课堂小程序互动课
微信公众号精选留言点赞100个多少钱,买赞会被发现嘛
神州网络公司
微信公众号精选留言点赞100个多少钱,买赞会被发现嘛现在做公众号的人越来越多,而关于微信公众号文章的留言点赞怎么算的这个问题,相信很多朋友都不是很清楚,所以下面就给大家分享一下微信公众号文章留言点赞怎么算的相关内容,希望对大家有所帮助。一般都是0.2元一个,一百个起做,可能价格会有起伏公众号后台留言能显示多少个一般情况下,公众号后台留言最多可以显示10条留言。但是,这个数据是有限制的,具体显示多少
算法 单链的创建与删除
换个号韩国红果果
c 算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
zeus持久层spring事务单元测试
deng520159
java DAO spring jdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
Rss 订阅 开发
周凡杨
html xml 订阅 rss 规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
highCharts柱状图
布衣凌宇
hightCharts 柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
spring mvc Spring 教程 spring3 教程 Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
TLS java简单实现
antlove
java ssl keystore tls secure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
Zip解压压缩文件
百合不是茶
Zip格式解压 Zip流的使用 文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
underscore.js 学习(一)
bijian1013
JavaScript underscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
java jvm jstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
[JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
单一功能原则
dcj3sjt126com
面向对象的程序设计 软件设计 编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
POJO、VO和JavaBean区别和联系
fanmingxing
VO POJO javabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
scala如何读取和写入文件内容?
qindongliang1922
java jvm scala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
C语言算法之百元买百鸡
qiufeihu
c 算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,