关于css中1px的问题和解决方案 10C

图片说明

有些地方说设计稿中的单位是物理像素。。我也不认同。。。。如果1px的边框代表的是1个物理像素的宽度。
那么同理750的设计稿也就意味着iphoneX的手机页面只填满750个物理像素,其他地方留白吗?
不能一个设计稿有的等比例放大缩小,有的按照原始值吧?

2个回答

浏览器展示时候你就写1px,别想着让他给你分成0.33px,小于1有时候会展示成1也有时候不展示
缩放也一样,非要强行看着设计图计算,有时候反而容易出问题

newway007
newway007 这个是针对手机retina屏的。。就是存在1css像素可能会有多个物理像素去渲染
2 个月之前 回复

移動開發自適應絕決方案

<script type="text/javascript">
            "use strict";
            ! function(n, e) {
                var i = 750,
                    c = 1500,
                    a = 100,
                    r = n.documentElement,
                    o = "orientationchange" in window ? "orientationchange" : "resize",
                    t = function n() {
                        var e, o = r.clientWidth,
                            t = r.clientHeight;
                        if (o) return e = o < t ? 2 < o / t ? a * (t / c) : a * (o / i) : 2 < o / t ? a * (o / c) : a * (t / i), r.style.fontSize =
                            (110 < e ? 110 : e) + "px", n
                    }();
                n.addEventListener && e.addEventListener(o, t)
            }(document, window)
        </script>
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
IE浏览器CSS加载问题寻求解决方案
最近做项目遇到一个奇怪的问题;问题如下: # 1、问题介绍 1.1、我们的项目是使用css的预处理器sass编译生成的“*.css”文件;把所有的页面布局、组件、以及动画效果等等生成在同一个css文件里边; 界面在FireFox、google等浏览器下页面显示正常,而在IE浏览器下某些CSS样式没有应用上,注意并不是所有的CSS没有起作用,只是有一部分CSS在IE下没有起作用,这里我们可以排除没有引用JS文件或者引用JS路径不正常的问题了。 ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471416124_20548.jpg) 1.2、然后通过grunt server吧所有sass编译生成CSS文件; ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471416194_270790.jpg) # 2、样式代码的导入 页面统一引入一个css文件 <link rel="stylesheet" href="assets/styles/viewui-min.css" /> 2.1、在火狐、谷歌浏览器下访问页面显示正常;效果如下: ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471416452_190487.jpg) 2.2、IE浏览器下边不正常;效果如下: ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471416483_96377.jpg) # 3、代码情况 经过检查浏览器控制台发现css代码没有加载出来 3.1、火狐浏览器下的css代码如下图: ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471416967_146351.jpg) 3.2、IE浏览器下的css代码如下图: ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471417165_626627.jpg) 在IE浏览器下边根本找不到分页组件相关的代码; ``` .pagination { display: inline-block; padding-left: 0; margin: 0px; float: right; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; } ``` 但是这部分代码在viewui-min.css文件里边是可以找到的; 看看各位有没有遇到这种问题;给我个解决方案。 **谢谢**
JSP中引入CSS后,关于CSS中图片路径的问题
JSP中引入CSS后,关于CSS中图片路径的问题 我有一个JSP文件如下: <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="css/home.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="javascript/home.js"></script> <style> .content { height:500px; /* 使用相对路径,直接访问JSP没问题,通过Servlet的forward有问题 */ /*background:url(resources/images/homeModel.gif);*/ /* 使用绝对路径后,Servlet的forward也无问题 */ background:url(<%=request.getContextPath()%>/resources/images/homeModel.gif); } </style> </head> <body> <div class="content"> </div> </body> </html> 文件中通过link引入了一个外部的CSS文件。 如果我直接访问JSP的话,这个文件中的 background:url(../resources/images/model1.jpg); 属性没问题; 但是我通过Servlet的forward转发后,环境的上下文就发生了改变,像这样使用相对路径就无法访问到图片,虽然可以改用绝对路径解决。 但是,这样做就把整个路径写死了,由于项目名称http://ip:port/project 有可能发生改变,所以不希望使用写死的绝对路径。 如果这个css样式在jsp文件中,还好说,直接通过request.getContextPath()方法就可以等到上下文。但是外部的CSS文件无法使用这种方式。 我又不可能把所有的css都写在jsp页面中,对于JSP中引入外部CSS或者JS文件的情况,如何解决文件路径的问题的? 所以,想求一个方案,如何来实现这种css文件中的路径问题? 不知道大家在遇到这种问题的时候一般都是采取的什么方案? 我的web目录结构是: http://localhost:8080/project/ /project 是项目的根目录,也就是request.getContextPath()得到的内容 下面是项目整体的目录结构: project - css home.css - js home.js - resources - images - 所有图片都存放在此 - css - js
css,IIS,ASP.NET(c#)综合问题
css样式:我把所有input设有border-radius: 5px; 用VS2010本地预览网页,均有文本框,按钮圆角显示,但发布到IIS后样式失效,我在网上面搜索说winServer2003的安全级别高造成的,我把级别调到最低也没有解决,现求解决方案。
为什么body元素的background-image会渲染到margin上?
# 问题 我使用background-image属性给body元素添加背景图片,然后设置background-position到右下角,设置body的margin值后,背景图片没有按照background-origin属性渲染,从margin就开始渲染了。然后我测试div等元素,并没有这种情况。 # 代码 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>test</title> </head> <style> body { margin: 100px; height: 500px; border: 1px solid red; background-image: url("http://img1.imgtn.bdimg.com/it/u=1600553076,1284989575&fm=26&gp=0.jpg"); background-repeat: no-repeat; background-position: right bottom; background-origin: border-box; overflow-y: hidden; } </style> <body></body> </html> ``` 效果: ![图片说明](https://img-ask.csdn.net/upload/202001/08/1578457819_943635.png) 背景图片从margin就开始渲染了,但是换成div,不会出现这种情况。 **!!!在此提问此bug的原理,不询问解决方案。!!!**
怎么把网页1的导航完美移植到网页2的轮播图上边的位置使导航和轮播图结合成一个网页
网页1带导航的 <!DOCTYPE html> <html> <head> <link rel="icon" href="images/favicon.ico" type="img/x-ico" /> <title>山东金泽网络科技有限公司</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta charset="utf-8"> <meta name="keywords" content="" /> <script type="application/x-javascript"> addEventListener("load", function () { setTimeout(hideURLbar, 0); }, false); function hideURLbar() { window.scrollTo(0, 1); } </script> <link href="css/bootstrap.css" rel='stylesheet' type='text/css' /> <link rel="stylesheet" href="css/flexslider.css" type="text/css" media="screen" property="" /> <link href="css/style.css" rel='stylesheet' type='text/css' /> <link href="css/simpleLightbox.css" rel='stylesheet' type='text/css' /> <link href="css/fontawesome-all.css" rel="stylesheet"> <link href="http://fonts.googleapis.com/css?family=Poppins:100i,200,200i,300,400,400i,500,500i,600,600i,700,700i,800" rel="stylesheet"> </head> <body> <header> <div class="header_top" id="home"> <nav class="navbar navbar-toggleable-md navbar-light bg-faded"> <a class="navbar-brand" href="index.html"> <i class="fab fa-digital-ocean"></i> 金泽科技</a> <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mx-auto tp-nav text-center"> <li class="nav-item active"> <a class="nav-link" href="index.html">首页 <span class="sr-only">(current)</span> </a> </li> <li class="nav-item"> <a class="nav-link" href="about.html">关于</a> </li> <li class="nav-item"> <a class="nav-link" href="了解银豹.html">解决方案</a> </li> <li class="nav-item"> <a class="nav-link" href="blog.html">博客</a> </li> <li class="nav-item"> <a class="nav-link" href="contact.html">联系我们</a> </li> </ul> <form action="#" method="post" class="form-inline my-2 my-lg-0 search"> <input class="form-control mr-sm-2" type="search" placeholder="点击输入搜索..." name="Search" required> <button class="btn btn-outline-success my-2 my-sm-0" type="submit">搜索</button> </form> </div> </nav> </div> </header> <!--//header--> </body> </html> ``` 网页2 轮播图代码: ``` <!DOCTYPE html> <html> <head> <link rel="icon" href="images/favicon.ico" type="img/x-ico" /> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>山东金泽网络科技有限公司</title> <link rel="stylesheet" href="css/style.css" /> </head> <body> <div class="c-banner"> <div class="banner"> <ul> <li><img src="img/lunbo1.jpg"></li> <li><img src="img/lunbo2.jpg"></li> <li><img src="img/lunbo3.jpg"></li> </ul> </div> <div class="nexImg"> <img src="img/nexImg.png" /> </div> <div class="preImg"> <img src="img/preImg.png" /> </div> <div class="jumpBtn"> <ul> <li jumpImg="0"></li> <li jumpImg="1"></li> <li jumpImg="2"></li> </ul> </div> </div> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript"> //定时器返回值 var time=null; //记录当前位子 var nexImg = 0; //用于获取轮播图图片个数 var imgLength = $(".c-banner .banner ul li").length; //当时动态数据的时候使用,上面那个删除 // var imgLength =0; //设置底部第一个按钮样式 $(".c-banner .jumpBtn ul li[jumpImg="+nexImg+"]").css("background-color","black"); //页面加载 $(document).ready(function(){ // dynamicData(); //启动定时器,设置时间为3秒一次 time =setInterval(intervalImg,3000); }); //点击上一张 $(".preImg").click(function(){ //清楚定时器 clearInterval(time); var nowImg = nexImg; nexImg = nexImg-1; console.log(nexImg); if(nexImg<0){ nexImg=imgLength-1; } //底部按钮样式设置 $(".c-banner .jumpBtn ul li").css("background-color","white"); $(".c-banner .jumpBtn ul li[jumpImg="+nexImg+"]").css("background-color","black"); //将当前图片试用绝对定位,下一张图片试用相对定位 $(".c-banner .banner ul img").eq(nowImg).css("position","absolute"); $(".c-banner .banner ul img").eq(nexImg).css("position","relative"); //轮播淡入淡出 $(".c-banner .banner ul li").eq(nexImg).css("display","block"); $(".c-banner .banner ul li").eq(nexImg).stop().animate({"opacity":1},1000); $(".c-banner .banner ul li").eq(nowImg).stop().animate({"opacity":0},1000,function(){ $(".c-banner ul li").eq(nowImg).css("display","none"); }); //启动定时器,设置时间为3秒一次 time =setInterval(intervalImg,3000); }) //点击下一张 $(".nexImg").click(function(){ clearInterval(time); intervalImg(); time =setInterval(intervalImg,3000); }) //轮播图 function intervalImg(){ if(nexImg<imgLength-1){ nexImg++; }else{ nexImg=0; } //将当前图片试用绝对定位,下一张图片试用相对定位 $(".c-banner .banner ul img").eq(nexImg-1).css("position","absolute"); $(".c-banner .banner ul img").eq(nexImg).css("position","relative"); $(".c-banner .banner ul li").eq(nexImg).css("display","block"); $(".c-banner .banner ul li").eq(nexImg).stop().animate({"opacity":1},1000); $(".c-banner .banner ul li").eq(nexImg-1).stop().animate({"opacity":0},1000,function(){ $(".c-banner .banner ul li").eq(nexImg-1).css("display","none"); }); $(".c-banner .jumpBtn ul li").css("background-color","white"); $(".c-banner .jumpBtn ul li[jumpImg="+nexImg+"]").css("background-color","black"); } //轮播图底下按钮 //动态数据加载的试用应放在请求成功后执行该代码,否则按钮无法使用 $(".c-banner .jumpBtn ul li").each(function(){ //为每个按钮定义点击事件 $(this).click(function(){ clearInterval(time); $(".c-banner .jumpBtn ul li").css("background-color","white"); jumpImg = $(this).attr("jumpImg"); if(jumpImg!=nexImg){ var after =$(".c-banner .banner ul li").eq(jumpImg); var befor =$(".c-banner .banner ul li").eq(nexImg); //将当前图片试用绝对定位,下一张图片试用相对定位 $(".c-banner .banner ul img").eq(nexImg).css("position","absolute"); $(".c-banner .banner ul img").eq(jumpImg).css("position","relative"); after.css("display","block"); after.stop().animate({"opacity":1},1000); befor.stop().animate({"opacity":0},1000,function(){ befor.css("display","none"); }); nexImg=jumpImg; } $(this).css("background-color","black"); time =setInterval(intervalImg,3000); }); }); //动态数据轮播图 //动态数据加载的时候不要直接点击demo.html运行否则可能请求不到本地json数据 // function dynamicData(){ // $.ajax({ // url:"js/test.json", // type:"get", // dataType:"json", // success:function(data){ // if(data.code==1){ // var data = data.data; // $.each(data,function(i){ // $(".c-banner .banner ul").append('<li><img src="'+this.img+'"></li>'); // $(".c-banner .jumpBtn ul").append('<li jumpImg="'+i+'"></li>') // }) // } // //获取图片总数量 // imgLength = $(".c-banner .banner ul li").length; // //为底部按钮定义单击事件 // $(".c-banner .jumpBtn ul li").each(function(){ // //为每个按钮定义点击事件 // $(this).click(function(){ // clearInterval(time); // $(".c-banner .jumpBtn ul li").css("background-color","white"); // jumpImg = $(this).attr("jumpImg"); // if(jumpImg!=nexImg){ // var after =$(".c-banner .banner ul li").eq(jumpImg); // var befor =$(".c-banner .banner ul li").eq(nexImg); // // //将当前图片试用绝对定位,下一张图片试用相对定位 // $(".c-banner .banner ul img").eq(nexImg).css("position","absolute"); // $(".c-banner .banner ul img").eq(jumpImg).css("position","relative"); // // after.css("display","block"); // after.stop().animate({"opacity":1},1000); // befor.stop().animate({"opacity":0},1000,function(){ // befor.css("display","none"); // }); // nexImg=jumpImg; // } // $(this).css("background-color","black"); // time =setInterval(intervalImg,3000); // }); // }); // } // }) // } </script> <div style="text-align:center;margin:10px 0; font:normal 14px/24px 'MicroSoft YaHei';"> </div> </body> </html> ``` ```
如何删除inline-block元素之间的空格?
给定这个 HTML 和 CSS: ``` span { display:inline-block; width:100px; background-color:palevioletred;} <p> <span> Foo </span> <span> Bar </span></p> ``` 因此,SPAN 元素之间将有4个像素宽的空间。 演示:[ http://jsfiddle.net/dGHFV/](http://jsfiddle.net/dGHFV/ "") 我知道为什么会出现这种情况,我也知道可以通过删除 HTML 源代码中 SPAN 元素之间的空白来消除这种空白,如下所示: ``` <p> <span> Foo </span><span> Bar </span></p> ``` 然而,我希望有一个不需要篡改 HTML 源代码的 CSS 解决方案。 我知道如何用 JavaScript 来解决这个问题——通过从容器元素(段落)中移除文本节点,如下所示: ``` // jQuery $('p').contents().filter(function() { return this.nodeType === 3; }).remove(); ``` 演示:[ http://jsfiddle.net/dGHFV/1/](http://jsfiddle.net/dGHFV/1/ "") 但是这个问题能单独用 CSS 解决吗?
css/padding属性如何禁用
问题描述: 为了使ul-li居中对齐,采用text-align:center + display:inline方法 然而网上简单好用的方法拿到实际工作中就各种失效。最后检查问题发现了原因 这是正确的情况: ![图片说明](https://img-ask.csdn.net/upload/201602/14/1455416879_215475.png) 这是错误的情况: ![图片说明](https://img-ask.csdn.net/upload/201602/14/1455416900_110365.png) 竟然只需要将padding:0这个属性禁用掉就好了! 1.不理解为什么,padding:0应该是一个人畜无害的属性才对啊 2.怎么办,既不可能去修改公用的css样式,也不可能不引入这个css文件 css不存在"解除一个属性定义",只能"复写这个属性定义" 那么应该将padding属性设置成什么呢? 》》》附部分有效代码: ``` <style type="text/css"> #wizard ul { list-style: outside none none; text-align:center; padding:0;/*万恶之源*/ } #wizard ul li { color:#FFF; display:inline; float:left; width:14%; border-radius:5px; background-color:#000; } #wizard ul li div.index { float:left; width:24%; font-weight:bold; } #wizard ul li div.name { float:left; width:75%; text-align: left; } </style> </head> <body> <div id="wizard" class="swMain"> <ul id="0" class="" style="margin: 0px;"> <li id="prog0" isdone="1" class="selected"><div class="index">1</div><div class="name">&nbsp;标签名称</div> </li> <li id="prog1"><div class="index">2</div><div class="name">&nbsp;标签名称</div> </li> <li id="prog2"><div class="index">3</div><div class="name">&nbsp;标签名称</div> </li> <li id="prog3"><div class="index">4</div><div class="name">&nbsp;标签名称</div> </li> <li id="prog4"><div class="index">5</div><div class="name">&nbsp;标签名称</div> </li> <li id="prog5"><div class="index">6</div><div class="name">&nbsp;标签名称</div> </li> <li id="prog6"><div class="index">7</div><div class="name">&nbsp;标签名称</div> </li> </ul> </div> ``` 求解决方案
php+mvc模式的登陆口验证码可以点击刷新,不会自动刷新,求大神解决
1:描述问题:网站首页登陆口不管如何刷新[F5],验证码都不会变。但是点击验证码的话可以变为新的验证码!而且我们使用验证码登陆成功后同时退出来,此时登陆口的验证码还是之前使用过的验证码,没有更新!请大神帮我解决下,贴出正确的代码!因为本人不是很懂,只会照葫芦画瓢!万分感谢!无解决方案的请别回复了谢谢! 文件名:PassportController 代码如下,这个应该是控制器 /* 生成验证码 */ public function verify() { $config = [ 'fontSize' => 19, // 验证码字体大小 'length' => 4, // 验证码位数 'imageH' => 34 ]; $Verify = new Verify($config); $Verify->entry(); } /* 验证码校验 */ public function check_verify($code, $id = '') { $verify = new \Think\Verify(); $res = $verify->check($code, $id); $this->ajaxReturn($res, 'json'); } public function accessRules() { return array( array('allow', // 允许所有用户访问 'login' 动作. 'users'=>array('*'), ), array('allow', // 允许认证用户访问所有动作 'users'=>array('@'), ), array('deny', // 拒绝所有的用户。 'users'=>array('*'), ), ); } /* 异地登录检测 */ public function actionPlaceOtherLogin() { if(isset($_POST['username']) && $_POST['username']!="" && isset($_POST['pwd']) && $_POST['pwd']) { $siteLogin=new SiteLoginForm; $siteLogin->username=$_POST['username']; $siteLogin->password=$_POST['pwd']; $siteLogin->verifyCode=$_POST['verifyCode']; $siteLogin->rememberMe=false; if($siteLogin->validate())//用户名密码正确 { $userinfo=User::model()->findByAttributes(array( 'Username'=>$_POST['username'], 'PassWord'=>md5($_POST['pwd']) )); if($userinfo->Status==0)//用户帐号没有被冻结,处于正常状态 { if($userinfo->PlaceOtherLogin==0)//用户没有开启异地登录,则允许用户直接提交登录 { echo "true"; }else//开启异地登录 { //1.检查此次登录的ip与最近一次登录的ip是否相同 $lastLoginLog=Loginlog::model()->find(array( 'condition'=>'userid='.$userinfo->id, 'order'=>'id desc' )); if($lastLoginLog->loginip===XUtils::getClientIP())//如果本次登录ip与最近一次登录ip相同则允许用户直接提交 { echo "true"; }else//如果不同则返回通知使用短信验证 { echo $userinfo->Phon;//需要手机接手短信验证码,返回手机号码,以便发送短信进行验证 } } }else//帐号被冻结 { echo "LOCK"; } }else { echo "FAIL"; } } } // 登陆口的文件名:index 代码如下 // <link rel="stylesheet" type="text/css" href="<?php echo VERSION2;?>2_files/index.css"> <div class="banNer"><!--首页幻灯--> <ul class="rslides" id="slider"> <li style="background: url(<?php echo VERSION2;?>img/banner/banner_tg.jpg) no-repeat center top;"> <li style="background: url(<?php echo VERSION2;?>img/banner/003.jpg) no-repeat center top;"> </li> </ul> <!--登录区域--> <div class="login_frame_bg" <?php if(Yii::app()->user->getId())echo 'style="display:none;"';?>> <div class="login_frame"> <span class="warningSpan"<?php if(isset($_GET['loginStatus']) && $_GET['loginStatus']=='fail') echo 'style="display:block;"';?>>用户名或密码错误</span> <div id="myForm"> <table> <form method="post" onsubmit="return checkLogin()" action="<?php echo $this->createUrl('passport/login');?>"> <tbody> <tr> <td> <div class="login_mailbox"> <input type="hidden" name="User[position]" value="index" /> <input id="lusername" type="text" name="User[Username]" autocomplete="off" placeholder="用户名"> </div> </td> </tr> <tr> <td> <p class="zq" id="miaoname" style="margin:-15px 0px 10px;"></p> </td> </tr> <tr> <td> <div class="login_ps"> <input id="lpassword" type="password" name="User[PassWord]" name="LoginForm[password]" placeholder="请输入密码"> </div> </td> </tr> <tr> <td> <table> <tr> <td> <input type="text" name="User[VerifyCode]" class="" placeholder="请输入右边验证码" style=" width: 170px; margin-right: 5px; border-radius: 5px; line-height: 35px; border: 1px solid #fff; padding-left: 5px;" id="verifyCode" /> </td> <td> <?php $this->widget( 'CCaptcha', array('showRefreshButton'=>false, 'clickableImage'=>true, 'imageOptions'=>array( 'alt'=>'点击换图', 'title'=>'点击换图', 'style'=>'cursor:pointer; background:#fff; height:27px; border-radius:5px;' ) ) ); ?> </td> </tr> </table> </td> </tr> <tr> <td> <p class="zq" style="height: 10px;"></p> </td> </tr> <tr> <td> <p id="miaopwd" class="zq" style="margin:-15px 0px 10px;"></p> </td> </tr> <tr> <td> <li style=" color:#fff; font-size:12px;"><input name="User[rememberMe]" type="checkbox" style="position: relative; top: 3px; width:12px;" /> 下次自动登录<a href="javascript:;" class="forgetPwd" style=" float:right; margin-right:28px; color:white;">忘记密码?</a></li><br /> </td> </tr> <tr> <td> <button class="login-btn" id="login_btn">登录</button> </td> </tr> <tr> <td> <span><a href="<?php echo $this->createUrl('passport/regist');?>" id="a">还没有账号?点击注册>></a></span> </td> </tr> </tbody> <form> </table> </div> </div> </div> <div class="indIntr" style="background="achose.png" ><!--系统优势--> <div class="why_main4 clearfix"> </div> </div> <script> //登录表单检测 function checkLogin() { if($("#lusername").val()=="") { layer.tips('用户名不能为空', '#lusername'); return false; }else if($("#lpassword").val()=="") { layer.tips('密码不能为空', '#lpassword'); return false; }else if($("#verifyCode").val()=="") { layer.tips('验证码不能为空', '#verifyCode'); return false; }else { var submitStatus=0;//提交状态初始化verifyCode var phone=0;//手机号码初始化 //检查是否开启异地登录 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/placeOtherLogin');?>", data:{ "username":$("#lusername").val(), "pwd":$("#lpassword").val(), "verifyCode":$("#verifyCode").val(), }, async:false, success:function(msg) { if(msg=="true")//不用检测 { submitStatus=1; }else if(msg=="FAIL")//用户名或密码不正确 { } else if(msg=="LOCK")//用户帐户被冻结 { submitStatus=3; }else//需要发送手机验证码 { phone=msg;//赋值用户手机号 submitStatus=2; } } }); /*alert(submitStatus); exit;*/ //检查是否开启异地登录 if(submitStatus==0)//用户名密码不正确 { layer.tips('用户名,密码或验证码不正确', '#lusername', { tips: [1, '#0FA6D8'] //还可配置颜色 }); return false; }else if(submitStatus==3) { //询问框 layer.confirm('<span style="color:red;">您的帐户已被冻结,如有需要请联系客服人员</span>', { btn: ['知道了'] //按钮 }); return false; }else if(submitStatus==1)//直接提交 { return true; }else//2表示需要发送短信验证码 { //发送验证码 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('site/sms');?>", data:{"phone":phone,"phoneCode":"DONE"}, async:false, success:function(msgCode) { if(msgCode=="SUCCESS") { //询问框 layer.confirm('<span style="color:red;">短信发送成功(异地登录请输入手机验证码)</span><br/>验证码<input class="text1 phoneCodeVal" name="phoneCodeVal" />', { btn: ['确定提交'] //按钮 },function(){ if($(".phoneCodeVal").val()=="")//验证码不为空 { layer.tips('验证码不能为空', '.phoneCodeVal'); }else{ //发送手机号与验证码去验证正确性 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/userCheckPhoneAndCode');?>", data:{"phone":phone,"phoneCode":$(".phoneCodeVal").val()}, async:false, success:function(msgCertain) { if(msgCertain=="SUCCESS")//手机验证码检测通过 { //验证通过直接进行提交登录 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/codePassLogin');?>", data:{"username":$("#lusername").val(),"pwd":$("#lpassword").val()}, async:false, success:function(msglogin) { if(msglogin=="SUCCESS")//登录成功刷新当前页面 { location.reload(); //询问框 }else//登录异常刷新当前页面 { layer.confirm('<span style="color:red;">登录异常</span>,您可以联系客服人员', { btn: ['知道了'] //按钮 }); } } }); //验证通过直接进行提交登录 }else if(msgCertain=="CODEFAIL")//验证不正确 { layer.tips('验证码不正确', '.phoneCodeVal'); }else//手机号异常 { layer.tips('手机号码异常', '.phoneCodeVal'); } } }); //发送手机号与验证码去验证正确性 } }); }else { //询问框 layer.confirm('<span style="color:red;">异地登录验证-短信发送失败,可能发送次数过多</span>,您可以联系客服人员', { btn: ['知道了'] //按钮 }); phoneAndCodeCheckStatus=0; } } }); //发送短信验证码结束 return false; } } } //忘记密码 $(".forgetPwd").click(function(){ layer.open({ type: 2, title:'找回密码', area: ['375px','270px'], skin: 'layui-layer-rim', //加上边框 content: ['<?php echo $this->createUrl('passport/forgetPwd');?>', 'no'] }); }); </script> // 能帮我解决问题的才回复,或者还需要我提供什么的请留言,谢谢了,
asp.net image控件如何居中显示
asp.net image控件如何居中显示,图片始终在页面左边显示,如何让他在页面居中。 align:"center" style="text-align:center" CssClass="imgcenter" 在css内编辑 .imgcenter { margin:0px auto} 以上均没有效果,请各位大神出个解决方案
window.print()打印生成页面 chrome浏览器调用本地打印机,打印出来的效果很差
对比图 右边是word文档打印出来的效果,比左边打印出来的好,怎么解决这种问题?有什么方案吗? 是哪方面出现的问题 ![图片说明](https://img-ask.csdn.net/upload/201907/09/1562661825_6547.jpg) ``` <!DOCTYPE html> <html lang="zh" xmlns:th="http://www.thymeleaf.org"> <head> <th:block th:include="include :: header('修改零件编程')" /> <style type="text/css"> #printJS-form{ width:100%; } .print{ position: absolute; top: 40px; left: 40px; width: 20%; } .tab{ width: 100%; border: 2px solid #000; margin-bottom: 20px; font-size: 14px; word-break: break-all; } .surface input { padding-left: 10px; width: 80px; } .orderList .delect{ font-size: 12px; padding: 2px 5px; margin: 0; } .stuff{ width: 120%; margin-left: 0; /* padding-left: 4%; */ font-size: 20px; } .stuff .form-group{ float: left; width: 50%; } .stuffq .form-group{ float: left; width: 100%; } .stuffq{ /* padding-left: 4%; */ margin-left: 0; width: 110%; font-size: 20px; } .stuff .form-group input{ padding-right: 2px; padding-left: 5px; font-size: 13px; width: 90%; } /* .selectBox{width: 90%;} */ .surface_Date,.orderList{text-align: center;} .orderList{margin-bottom:0;border: none !important;} /* .orderList tbody select,.orderList tbody p{width: 75px;height: 27px;line-height: 27px;padding: 0 7px;} .orderList tbody input,.orderList tbody .input { padding: 0 7px; width: 60px; height: 27px; line-height: 27px; } */ .form-control{height: 30px;line-height: 30px;padding: 0px 7px;margin:0;border: none;font-size: 20px;} form .title{ text-align: center; line-height: 45px; font-size: 30px; font-weight: bold; margin-bottom: 20px; } .control-label{ height: 30px; line-height: 30px; padding:0px 0 0 7px !important; float:left; font-size: 20px; } .col-sm-3{ width: 40%; text-align: right; } .col-sm-7{ float:left; width: 60%; } .col-sm-5{ float: left; } .tab>tbody>tr>td,.tab>thead>tr>td{ padding: 8px; } .tab>tbody>.gongmian>td{ padding: 4px 6px; } .tab>tbody>tr>td,.tab>thead>tr>td{ border: 2px solid #000 !important; } .table{ border: 1px solid #000; } .tab >tr >td{ border: 2px solid #000; } .orderList>tbody>tr:nth-child(1)>td,.orderList>thead>tr:nth-child(1)>td{ border-top: none !important; } .orderList>tbody>tr>td:nth-last-child(1),.orderList>thead>tr>td:nth-last-child(1){ border-right: none !important; } .orderList>tbody>tr>td:nth-child(1),.orderList>thead>tr>td:nth-child(1){ border-left: none !important; } </style> </head> <body class="white-bg"> <div class="wrapper wrapper-content animated fadeInRight ibox-content"> <form class="form-horizontal m" th:object="${map}" id="printJS-form" > <div class="title"> <p>CNC加工程式单</p> </div> <div class="stuffq row"> <div class="form-group"> <div class="col-sm-12"> <span class="control-label">编程员:</span> <!-- <input id="" name="" class="form-control" type="text" disabled style="display:inline-block;"> --> <span class="form-control" th:text="*{programerManName}">dfsdf</span> </div> </div> <div class="form-group"> <div class="col-sm-12"> <span class="control-label" style="padding-right:0;" >工程单号:</span> <!-- <input id="" name="" class="form-control" type="text" disabled style="display:inline-block;"> --> <span class="form-control" th:text="*{orderNo}" ></span> </div> </div> <div class="form-group"> <div class="col-sm-12"> <span class="control-label" style="padding-right:0;">零件编号:</span> <!-- <input disabled class="form-control" type="text"> --> <span class="form-control" th:text="${componentsNo}"></span> </div> </div> <div class="form-group"> <div class="col-sm-12"> <span class=" control-label" style="padding-right:0;">材料类型:</span> <!-- <input id="" name="" class="form-control" type="text" disabled style="display:inline-block;"> --> <span class="form-control" th:text="*{material}"></span> </div> </div> <div class="form-group" style="width: 100%;text-align: center;"> <div class="col-sm-12"> <span class="control-label" style="padding-right:0;">交货日期:</span> <!-- <input type="text" class="form-control" id="time" disabled placeholder="yyyy-MM-dd HH:mm:ss"> --> <span class="form-control" th:text="*{getoutDay}"></span> </div> </div> </div> <div class="stuff row"> <div class="form-group"> <div class="col-sm-12"> <label class="control-label" style="padding-right:0;">数量:</label> <span class="form-control" th:text="*{quantity}"></span> </div> </div> <div class="form-group"> <div class="col-sm-12" style="padding-left:0;"> <label class="control-label" style="padding-right:0;">长:</label> <span id="Clength" class="form-control" style="padding-left:5px;"></span> </div> </div> <div class="form-group"> <div class="col-sm-12" style="padding-left:0;"> <label class="control-label" style="padding-right:0;">宽:</label> <span id="width" class="form-control" style="padding-left:5px;"></span> </div> </div> <div class="form-group"> <div class="col-sm-8" style="padding-left:0;"> <label class="control-label" style="padding-right:0;">高:</label> <span id="height" class="form-control" style="padding-left:5px;"></span> </div> </div> </div> <div class="form-group"> <!-- <label class="col-sm-0 "></label> --> <div class="col-sm-12"> <div id="surface" > </div> </div> </div> <div class="form-group print"> <div class="col-sm-11" onclick="doPrint()" style="text-align:center;"> <a class="btn btn-success">打印程式单</a> </div> </div> <!-- <button type="button" onclick="printJS('printJS-form', 'html')"> Print Form </button> --> </form> </div> <div th:include="include::footer"></div> <th:block th:include="include :: layout-latest-js" /> <script src="/bole-erp/src/main/resources/static/js/print.min.js"></script> <script th:inline="javascript"> var editFlag = [[${@permission.hasPermi('bole:componentsProgramerinfo:edit')}]]; var removeFlag = [[${@permission.hasPermi('bole:componentsProgramerinfo:remove')}]]; var prefix = ctx + "bole/componentsProgramerinfo"; var ListData = []; var componentsId = [[${componentsId}]]; var componentsNo = [[${componentsNo}]]; $(document).ready(function(){ getData(); }) var jiagongmianNum = 0; function getData(){ $.ajax({ url: prefix + "/getData", type:"POST", dataType:"JSON", data:{ 'componentsId':componentsId }, success:function(res){ var data = JSON.parse(res.data.data); console.log("res",data); var htmldata = ""; $("#Clength").text(res.otherData.componentsLong); $("#height").text(res.otherData.componentsHigh); $("#width").text(res.otherData.componentsWidth); $("#fileName").val(res.otherData.fileName); jiagongmianNum = data.length; var sort = 1; for(var i = 0;i<data.length;i++){ //z值 var num = data[i].number; var html = ""; //var num=0; //每一个面的刀次 if(data[i].list != null && data[i].list != undefined){ var sort2 = sort; for(var j=0;j<data[i].list.length;j++){ var knife = data[i].list[j].knife; var blade = data[i].list[j].blade; var clip = data[i].list[j].clip; //num++; if(j == data[i].list.length -1){ sort = sort + data[i].list.length; } html+=`<tr> <td>${componentsNo+sort2}</td> <td> ${data[i].list[j].specs} </td> <td> ${data[i].list[j].material} </td> <td> ${data[i].list[j].type} </td> <td> ${data[i].list[j].knife} </td> <td> ${data[i].list[j].blade} </td> <td> ${data[i].list[j].avoid} </td> <td> ${data[i].list[j].clip} </td> <td style="width:150px;"> ${data[i].list[j].remark} </td> </tr>`; sort2 +=1; } //console.log("num:"+num) htmldata += `<table class="tab surface surface_Date"> <tr class="surface_list gongmian"> <td rowspan="3" style="font-weight: bold;font-size: 20px;">${i+1}</td> <td rowspan="3" style="text-align: center;"> 加工面 </td> <td rowspan="3">工件原点</td> <td>X:</td> <td> ${data[i].Xselect} </td> </tr> <tr class="gongmian"> <td>Y:</td> <td> ${data[i].Yselect} </td> </tr> <tr class="gongmian"> <td>Z:</td> <td> ${data[i].Zvalue} </td> </tr> <tr> <td colspan="5" style="text-align: left;padding:0;border: none !important;"> <div class="addOrderList"> <table class="tab surface orderList" > <thead><tr> <td>刀号</td> <td>刀具规格</td> <td>材質</td> <td>類型</td> <td>刀补</td> <td>刃長</td> <td>避空</td> <td>夾长</td> <td>备 注</td> </tr></thead> <tbody>${html}</tbody> </table> </div> </td> </tr> </table>` $("#surface").html(htmldata); } } } }); } function submitHandler() { // if ($.validate.form()) { // // $.operate.save(prefix + "/edit", $('#form-componentsProgramerinfo-edit').serialize()); // } console.log("ListData",ListData); var config = { url: prefix + "/saveData", type: "post", dataType: "json", data: { "componentsId": componentsId, "ListData": JSON.stringify(ListData) }, beforeSend: function () { $.modal.loading("正在处理中,请稍后..."); $.modal.disable(); }, success: function(result) { console.log('result',result); if(result != null && result != undefined){ for(var i=0;i<result.length;i++){ console.log(result[i]); console.log(result[i].list[1]); } } if (typeof callback == "function") { callback(result); } $.operate.successCallback(result); } }; $.ajax(config); } function doPrint() { bdhtml=window.document.body.innerHTML; $(".print").css({"display":"none"}) // document.getElementsByTagName('body')[0].style.width="100%"; // document.getElementsByTagName('body')[0].style.zoom=0.4; window.print(); $(".print").css({"display":"block"}); // document.getElementsByTagName('body')[0].style.zoom=1; // document.getElementsByTagName('body')[0].style.width="90%"; } </script> </body> </html> ```
qtip2使用ajax取值问题
使用qtip2调用后台的程序,却发现无法取不到html元素的值,代码如下 script部分 <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="js/jquery.qtip/jquery.qtip.min.js"></script> <link rel="stylesheet" href="js/jquery.qtip/jquery.qtip.min.css"> <script> $(document).ready(function(){ alert( $(".demo1").text()); //带关闭按钮的提示 且延时3秒关闭 $(".demo1").qtip({ content: { text: "loading...", ajax: { url: 'test.action', type: 'POST', data: { title: **$(this).html()** }, dataType: 'text', success: function(){ alert($(this).html()); } }, title: "提示标题", button: "关闭" }, hide: { event: false, //设置不自动关闭 可配合inactive组合使用 inactive: 3000 //设置延时关闭 }, style: { //换样式 阴影 圆角叠加 classes: 'qtip-light qtip-shadow qtip-rounded' }, position: { my: 'bottom left', at: 'top center' } }); }); </script> html部分 <div style="margin-top:200px;"> <span class="demo1">Glioblastoma and Gliomas</span> </div> 这样的结果可以调用后台但发现传入的值是null,所以在success中调用alert,发现alert出来的也是空,那么就是$(this).html()的取值问题了 请问有什么解决方案? 希望大侠们不吝赐教
Jcrop 处理多张图片时,尺寸不正确的问题
1, ![图片说明](https://img-ask.csdn.net/upload/201605/04/1462332830_915683.png) 2, ![图片说明](https://img-ask.csdn.net/upload/201605/04/1462332843_797544.png) 3, 什么时候会动态加载照片? 用户异步上传图片时,例如使用ajaxfileupload.js. 当用户上传了一张图片后,又想换一张. 结果后来换的照片全部是按照第一张照片的尺寸显示的,发生扭曲变形. 即使用jQuery修改图片的尺寸也不行: $("#target").attr("width","400"); $("#target").attr("height","250"); 求解决方案,使得:每次动态加载的照片都能按照真实的尺寸显示,而且还可以用Jcrop来选区区域. 源码请下载附件, 所有的代码都是前端的,下载后即可访问,打开文件"crop.html". 下载链接: [Jcrop 例子源码](http://download.csdn.net/detail/timophy/9509718 "Jcrop 例子源码") crop.html的全部代码如下: ``` <!DOCTYPE html> <html lang="en"> <head> <script src="js/jquery.min.js"></script> <script src="js/jquery.Jcrop.js"></script> <script type="text/javascript"> jQuery(function($){ var jcrop_api; initJcrop(); $('#coords').on('change','input',function(e){ var x1 = $('#x1').val(), x2 = $('#x2').val(), y1 = $('#y1').val(), y2 = $('#y2').val(); jcrop_api.setSelect([x1,y1,x2,y2]); }); function initJcrop() { $('#target').Jcrop({ onChange: showCoords, onSelect: showCoords, onRelease: clearCoords },function(){ jcrop_api = this; }); }; $('#changeToWiderPicture').click(function(e) { jcrop_api.destroy(); $("#target").attr("src","img/2.jpg"); $("#target").attr("width","400"); $("#target").attr("height","250"); $("#normalPicture").attr("src","img/2.jpg"); $("#normanPicureIntroduction").html("Original picure:400X250"); $('#changeToWiderPicture').hide(); $('#changeBack').show(); initJcrop(); return false; }); $('#changeBack').click(function(e) { jcrop_api.destroy(); $("#target").attr("src","img/1.jpg"); $("#normalPicture").attr("src","img/1.jpg"); $("#normanPicureIntroduction").html("Original picure:250X400"); $('#changeBack').hide(); $('#changeToWiderPicture').show(); initJcrop(); return false; }); }); function showCoords(c) { $('#x1').val(c.x); $('#y1').val(c.y); $('#x2').val(c.x2); $('#y2').val(c.y2); $('#w').val(c.w); $('#h').val(c.h); }; function clearCoords() { $('#coords input').val(''); }; </script> <link rel="stylesheet" href="css/main.css" type="text/css" /> <link rel="stylesheet" href="css/demos.css" type="text/css" /> <link rel="stylesheet" href="css/jquery.Jcrop.css" type="text/css" /> </head> <body> <table> <tr> <td> <img src="img/1.jpg" id="target" /><br> Picture with Jcrop attached </td> <td width=40%> </td> <td> <img src="img/1.jpg" id="normalPicture" /><br> <span id='normanPicureIntroduction'>Original picure:250X400</span> </td> </tr> </table> <form id="coords" class="coords"> <div class="inline-labels"> <label>X1 <input type="text" size="4" id="x1" name="x1" /></label> <label>Y1 <input type="text" size="4" id="y1" name="y1" /></label> <label>X2 <input type="text" size="4" id="x2" name="x2" /></label> <label>Y2 <input type="text" size="4" id="y2" name="y2" /></label> <label>W <input type="text" size="4" id="w" name="w" /></label> <label>H <input type="text" size="4" id="h" name="h" /></label> </div> </form> <div style="padding-top:20px;"> <button id="changeToWiderPicture" class="btn btn-mini">changeToWiderPicture</button> <button id="changeBack" class="btn btn-mini" style="display:none;" >changeBack</button> </div> </body> </html> ```
考虑到访问安全,我把css/js/html/jsp文件都放到了WEB-INF下,结果导致不能访问静态文件。
<div class="iteye-blog-content-contain" style="font-size: 14px;"> <p>考虑到访问安全,我把css/js/html/jsp文件都放到了WEB-INF下,结果导致不能访问静态文件。这种问题该如何解决呢?各位是否有比较好的方案,分享一下。</p> </div>
div在IE中如果数据较多导致层掉下
在开发的时候 发现在IE中层(div) 里面显示数据如果比较多 会导致上面出现大面积空白(div掉下去了),这个问题有人遇到没?还是个例? 希望大哥们指点一二。。。。在ff中没问题 BS 下IE 史上最烂-_-!!! [b]问题补充:[/b] [code="javascript"] $("#simpletonebody").html(loading_text); $.get("/user/querypersonaltone.do?flag_t=0&tone_ids="+tone_ids+"&r="+Math.random(),function(obj){ jQuery("#simpletonebody").html(obj); }); [/code] 这是个调用的js代码,simpletonebody是个div 里面加载一个.do 返回的页面(.jsp),页面就是做显示 下面的两幅图是IE和FF分别得截图 晕。限制不能上传。。。 [b]问题补充:[/b] [code="css"]#simpletonebody{width:640px; height:450px; vertical-align:top;margin-top:0;margin-left:15px;}[/code] 这是样式 [b]问题补充:[/b] 蔡华江 大哥的也不行啊。。。还有什么解决方案不? [b]问题补充:[/b] 我们这破公司很恶心。所有的上传全部屏蔽了。网站都只能上几个技术网站 [b]问题补充:[/b] [code="java"] <div style="clear:both;"></div> [/code] 谢谢 蔡华江 大哥 加上这个真的可以了。。嘿嘿。刚才改错地方了没看到效果,以为不行。。。分不多,下次借个分多的补给您撒。。。又学习了一招。。。谢谢大家了
关于excel文件导入到mysql数据没有读取到文件问题
<p>  我最近在做一个oa项目,其中有一个excel文件导入到数据中去,用poi做的。我现在在后台能够得到文件的完整路径,但是HSSFWorkbook并没有创建一个工作簿。在网上找了很多资料,并没有找到解决方案,本人是只菜鸟,望各位大侠指路,帮忙看看。谢谢!</p> <p>前台import.jsp代码:</p> <div class="quote_title">写道</div> <div class="quote_div">&lt;%@ page contentType="text/html;charset=GBK"%&gt; <br>&lt;%@ page session="true" %&gt; <br>&lt;%@ page isThreadSafe="true" %&gt; <br>&lt;head&gt; <br><br>&lt;style type="text/css"&gt; <br>&lt;!-- <br>body,td,th { <br>font-size: 12px; <br>} <br>--&gt; <br>&lt;/style&gt; <br>&lt;title&gt;&lt;/title&gt; <br>&lt;/head&gt; <br>&lt;body &gt; <br><br>&lt;script language="javascript"&gt; <br>function add(){ <br>var filePath = document.myform.Urlexcel.value; <br>alert(filePath); <br>myform.action="saveExcel.jsp?filePath="+filePath ; <br>myform.submit(); <br>} <br><br>&lt;/script&gt; <br>&lt;form action="saveExcel.jsp" enctype="multipart/form-data" name="myform" method="post" onSubmit="return check(this)"&gt; <br><br>&lt;p&gt; &lt;/p&gt; <br>&lt;p&gt; &lt;/p&gt; <br>&lt;p&gt; &lt;/p&gt; <br>&lt;table width="80%" border="0" align="center" cellpadding="0" cellspacing="0"&gt; <br>&lt;tr&gt; <br>&lt;td height="50" align="center" valign="middle"&gt; &lt;/td&gt; <br>&lt;td height="50" align="left" valign="middle"&gt; Excel文件: <br>&lt;input name="Urlexcel" type="file" id="Urlexcel" size="41" /&gt;&lt;/td&gt; <br>&lt;td&gt; &lt;/td&gt; <br>&lt;/tr&gt; <br>&lt;tr&gt; <br><br>&lt;td height="50" align="center" valign="middle" colspan="2"&gt; <br>&lt;input type="button" onClick="add();" name="Submit1" value="确认提交" /&gt; <br>         <br>&lt;input type="submit" name="Submit2" value="取消重置" /&gt; <br>&lt;/td&gt; <br>&lt;td&gt; &lt;/td&gt; <br>&lt;/tr&gt; <br>&lt;/table&gt; <br>&lt;/form&gt; <br><br>&lt;/body&gt; <br>&lt;/html&gt;</div> <p> </p> <p>后台saveExcel.jsp代码:</p> <pre name="code" class="java">&lt;%@ page language="java"%&gt; &lt;%@ page session="true"%&gt; &lt;%@ page isThreadSafe="true"%&gt; &lt;%@ page contentType="text/html;charset=GBK"%&gt; &lt;%@page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"%&gt; &lt;%@page import="java.io.FileInputStream"%&gt; &lt;%@page import="org.apache.poi.hssf.usermodel.HSSFSheet"%&gt; &lt;%@page import="org.apache.poi.hssf.usermodel.HSSFCell"%&gt; &lt;%@page import="org.apache.poi.hssf.usermodel.HSSFRow"%&gt; &lt;%@page import="java.io.FileNotFoundException"%&gt; &lt;%@page import="java.io.IOException"%&gt; &lt;%@page import="org.apache.poi.poifs.filesystem.POIFSFileSystem"%&gt; &lt;% String filePath = request.getParameter("filePath"); out.println(filePath); try { // 创建对Excel工作簿文件的引用 FileInputStream fis = new FileInputStream(filePath); POIFSFileSystem fs = new POIFSFileSystem(fis); HSSFWorkbook wookbook = new HSSFWorkbook(fs); out.println(wookbook);//此处并没有打印出能容 HSSFSheet sheet = wookbook.getSheet("Sheet1"); // 获取到Excel文件中的所有行数 int rows = sheet.getPhysicalNumberOfRows(); out.println(rows); // 遍历行 for (int i = 0; i &lt; rows; i++) { // 读取左上端单元格? HSSFRow row = sheet.getRow(i); // 行不为空 if (row != null) { // 获取到Excel文件中的所有的列 int cells = row.getPhysicalNumberOfCells(); String value = ""; // 遍历列 for (short j = 0; j &lt; cells; j++) { // 获取到列的值 HSSFCell cell = row.getCell(j); if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_FORMULA: break; case HSSFCell.CELL_TYPE_NUMERIC: value += cell.getNumericCellValue() + ","; break; case HSSFCell.CELL_TYPE_STRING: value += cell.getStringCellValue() + ","; break; default: value += "0"; break; } } } // 将数据插入到mysql数据库中 String[] val = value.split(","); Nsxxb1 entity = new Nsxxb1() ; entity.setGLM(val[0]); entity.setQYMC(val[1]); entity.setXSE1(Double.parseDouble(val[2])); entity.setZZS1(Double.parseDouble(val[3])); entity.setYYS1(Double.parseDouble(val[4])); entity.setXFS1(Double.parseDouble(val[5])); entity.setQYSDS1(Double.parseDouble(val[6])); entity.setGRSDS1(Double.parseDouble(val[7])); entity.setYHS1(Double.parseDouble(val[8])); entity.setTDZZS1(Double.parseDouble(val[9])); entity.setCJS1(Double.parseDouble(val[10])); Nsxxb1Service.insert(entity); } } catch (FileNotFoundException e) { out.println("导入失败"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } %&gt; </pre> <p> </p>
Spring集成Hibernate,使用JPA注解方式,新增数据无法提交
<div class="iteye-blog-content-contain" style="font-size: 14px;"> <p>环境:</p> <p style="padding-left: 60px;">spring 3.1</p> <p style="padding-left: 60px;">hibernate 4.2.8 final </p> <p style="padding-left: 60px;">mysql 5.6</p> <p>问题描述:</p> <p style="padding-left: 30px;">调用controller的查询方法,可以正常返回数据</p> <p style="padding-left: 30px;">调用controller的创建方法,即:新增数据,控制台打印出了读取和修改序号表的sql,但是没有打印插入数据的sql,数据库表中也没有新增数据。</p> <p style="padding-left: 30px;">怀疑是spring控制的事务没有提交,但是排查了两三天,从网上找了各种方法,都没有解决问题。</p> <p style="padding-left: 30px;">请各位大侠拉小弟一把,实在是找不到事务为什么没有提交。</p> <p> </p> <p style="padding-left: 30px;">web.xml</p> <p style="padding-left: 30px;"> </p> <pre name="code" class="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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"&gt; &lt;!-- 欢迎界面 --&gt; &lt;welcome-file-list&gt; &lt;welcome-file&gt;index.html&lt;/welcome-file&gt; &lt;/welcome-file-list&gt; &lt;!-- spring框架 --&gt; &lt;listener&gt; &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt; &lt;/listener&gt; &lt;!-- 上下文配置 --&gt; &lt;context-param&gt; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; &lt;param-value&gt; /WEB-INF/applicationContext.xml, /WEB-INF/config/**/*.xml &lt;/param-value&gt; &lt;/context-param&gt; &lt;!-- spring mvc --&gt; &lt;servlet&gt; &lt;servlet-name&gt;dispatcher&lt;/servlet-name&gt; &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class&gt; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;dispatcher&lt;/servlet-name&gt; &lt;!-- 拦截所有url --&gt; &lt;url-pattern&gt;/&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; &lt;!-- 回话有效期30分钟 --&gt; &lt;session-config&gt; &lt;session-timeout&gt;30&lt;/session-timeout&gt; &lt;/session-config&gt; &lt;!-- log4j日志 --&gt; &lt;listener&gt; &lt;listener-class&gt;org.springframework.web.util.Log4jConfigListener&lt;/listener-class&gt; &lt;/listener&gt; &lt;!-- log4j日志配置 --&gt; &lt;context-param&gt; &lt;param-name&gt;log4jConfigLocation&lt;/param-name&gt; &lt;param-value&gt;/WEB-INF/properties/log4j.properties&lt;/param-value&gt; &lt;/context-param&gt; &lt;/web-app&gt;</pre> <p> applicationContext.xml</p> <p> </p> <p style="padding-left: 30px;"> </p> <pre name="code" class="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"&gt; &lt;!-- 注解配置 --&gt; &lt;context:annotation-config /&gt; &lt;!--允许使用注解方式配置事务 --&gt; &lt;tx:annotation-driven transaction-manager="transactionManager" /&gt; &lt;!-- 自动扫描的包名 --&gt; &lt;context:component-scan base-package="com.lxl" /&gt; &lt;!-- 对标注@PersistenceContext的类经行增强,引入代理后的EntityManager实例 --&gt; &lt;bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /&gt; &lt;!-- 对标注@Repository的类经行增强,将EntityManager异常转换为SpringDAO体系的异常 --&gt; &lt;bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" /&gt; &lt;!-- 属性文件 --&gt; &lt;context:property-placeholder location="/WEB-INF/properties/**/*.properties" /&gt; &lt;!-- 数据源 --&gt; &lt;bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt; &lt;property name="driverClassName" value="${jdbc.driverClassName}" /&gt; &lt;property name="url" value="${jdbc.url}" /&gt; &lt;property name="username" value="${jdbc.username}" /&gt; &lt;property name="password" value="${jdbc.password}" /&gt; &lt;/bean&gt; &lt;!-- JPA 实体管理工厂 --&gt; &lt;bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"&gt; &lt;property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml" /&gt; &lt;property name="dataSource" ref="dataSource" /&gt; &lt;property name="persistenceUnitName" value="ServicePlatform" /&gt; &lt;property name="jpaVendorAdapter"&gt; &lt;bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"&gt; &lt;property name="showSql" value="true" /&gt; &lt;property name="generateDdl" value="true" /&gt; &lt;property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect" /&gt; &lt;/bean&gt; &lt;/property&gt; &lt;/bean&gt; &lt;!-- JPA 事务管理 --&gt; &lt;bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"&gt; &lt;property name="dataSource" ref="dataSource" /&gt; &lt;property name="entityManagerFactory" ref="entityManagerFactory" /&gt; &lt;/bean&gt; &lt;/beans&gt;</pre> <p> dispatcher-servlet.xml</p> <p> </p> <p style="padding-left: 30px;"> </p> <pre name="code" class="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"&gt; &lt;!-- 默认的注解映射的支持 --&gt; &lt;mvc:annotation-driven /&gt; &lt;!-- 自动扫描的包名 --&gt; &lt;context:component-scan base-package="com.lxl" /&gt; &lt;!-- 配置一下对json数据的转换 &lt;bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&gt; &lt;property name="messageConverters"&gt; &lt;list&gt; &lt;bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"&gt;&lt;/bean&gt; &lt;/list&gt; &lt;/property&gt; &lt;/bean&gt; --&gt; &lt;!-- 视图解析器 --&gt; &lt;bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt; &lt;property name="prefix" value="/view" /&gt; &lt;property name="suffix" value=".jsp" /&gt; &lt;/bean&gt; &lt;!-- 对静态资源文件的访问 方案一 (二选一) --&gt; &lt;mvc:default-servlet-handler /&gt; &lt;!-- 对静态资源文件的访问 方案二 (二选一) &lt;mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/&gt; &lt;mvc:resources mapping="/js/**" location="/js/" cache-period="31556926"/&gt; &lt;mvc:resources mapping="/css/**" location="/css/" cache-period="31556926"/&gt; --&gt; &lt;/beans&gt;</pre> <p> </p> <p> </p> <p style="padding-left: 30px;">persistence.xml</p> <p style="padding-left: 30px;"> </p> <pre name="code" class="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"&gt; &lt;persistence-unit name="ServicePlatform" transaction-type="RESOURCE_LOCAL"&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt; </pre> <p> </p> <p> </p> <p style="padding-left: 30px;">实体bean</p> <p style="padding-left: 30px;"> </p> <pre name="code" class="java">package com.lxl.bsp.identity.entity; import java.io.Serializable; import java.sql.Timestamp; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "bd_id") public class Identity implements Serializable { private static final long serialVersionUID = -8763611811485844772L; @Id @GeneratedValue(strategy = GenerationType.TABLE) private Long id; @Column(length = 100) private String code; private Long value; @Column(length = 10) private String prefix; @Column(length = 10) private String suffix; @Column(length = 255) private String description; private Integer length; @Column(length = 30) private String creator; @Column(name = "create_date") private Timestamp createDate; @Column(length = 30) private String modifier; @Column(name = "modify_Date") private Timestamp modifyDate; private Boolean dr; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public Long getValue() { return value; } public void setValue(Long value) { this.value = value; } public String getPrefix() { return prefix; } public void setPrefix(String prefix) { this.prefix = prefix; } public String getSuffix() { return suffix; } public void setSuffix(String suffix) { this.suffix = suffix; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Integer getLength() { return length; } public void setLength(Integer length) { this.length = length; } public String getCreator() { return creator; } public void setCreator(String creator) { this.creator = creator; } public Timestamp getCreateDate() { return createDate; } public void setCreateDate(Timestamp createDate) { this.createDate = createDate; } public String getModifier() { return modifier; } public void setModifier(String modifier) { this.modifier = modifier; } public Timestamp getModifyDate() { return modifyDate; } public void setModifyDate(Timestamp modifyDate) { this.modifyDate = modifyDate; } public Boolean getDr() { return dr; } public void setDr(Boolean dr) { this.dr = dr; } @Override public String toString() { return "Identity [id=" + id + ", code=" + code + ", value=" + value + ", prefix=" + prefix + ", suffix=" + suffix + ", description=" + description + ", length=" + length + ", creator=" + creator + ", createDate=" + createDate + ", modifier=" + modifier + ", modifyDate=" + modifyDate + ", dr=" + dr + "]"; } } </pre> <p> </p> <p> </p> <p style="padding-left: 30px;">IdentityDaoImpl.java</p> <p style="padding-left: 30px;"> </p> <pre name="code" class="java">package com.lxl.bsp.identity.dao; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.lxl.bsp.api.exception.ServicePlatformException; import com.lxl.bsp.identity.entity.Identity; @Repository public class IdentityDaoImpl implements IIdentityDao { @PersistenceContext private EntityManager em; @Transactional(propagation = Propagation.REQUIRED) public Identity create(Identity data) { em.persist(data); return data; } @Override public Identity retriver(String id) throws ServicePlatformException { Long pk = Long.valueOf(id); return em.find(Identity.class, pk); } @Override public Identity update(Identity data) throws ServicePlatformException { em.persist(data); return data; } @Override public void delete(String id) throws ServicePlatformException { em.remove(retriver(id)); } } </pre> <p> IdentityController.java</p> <p> </p> <p style="padding-left: 30px;"> </p> <pre name="code" class="java">package com.lxl.bsp.identity.controller; import java.sql.Timestamp; import java.util.Calendar; import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.lxl.bsp.api.exception.ServicePlatformException; import com.lxl.bsp.identity.dao.IIdentityDao; import com.lxl.bsp.identity.entity.Identity; @Controller @RequestMapping("identity") public class IdentityController { private static Log log = LogFactory.getLog(IdentityController.class); @Resource private IIdentityDao dao; @RequestMapping("retriver") @ResponseBody public Identity retriver(@RequestParam String id) throws ServicePlatformException { return dao.retriver(id); } @RequestMapping("create") @ResponseBody public Identity create() throws ServicePlatformException { int i = 1; Identity data = new Identity(); data.setCode("code" + i); Calendar c = Calendar.getInstance(); data.setCreateDate(new Timestamp(c.getTime().getTime())); data.setCreator("creator" + i); data.setDescription("description" + i); data.setDr(false); // data.setId("id" + Integer.toString(i)); data.setLength(30); data.setModifier("modifier" + i); data.setModifyDate(new Timestamp(c.getTime().getTime())); data.setPrefix("prefix"); data.setSuffix("suffix"); data.setValue(0L); Identity returnData = dao.create(data); log.debug(returnData); return returnData; } @RequestMapping("update") @ResponseBody public Identity update() throws ServicePlatformException { int i = 1; Identity data = new Identity(); data.setCode("1"); Calendar c = Calendar.getInstance(); data.setCreateDate(new Timestamp(c.getTime().getTime())); data.setCreator("creator" + i); data.setDescription("description" + i); data.setDr(false); // data.setId("id" + Integer.toString(i)); data.setLength(30); data.setModifier("modifier" + i); data.setModifyDate(new Timestamp(c.getTime().getTime())); data.setPrefix("prefix"); data.setSuffix("suffix"); data.setValue(0L); Identity returnData = dao.update(data); log.debug(returnData); return returnData; } @RequestMapping("delete") public void delete(@RequestParam String id) throws ServicePlatformException { dao.delete(id); } } </pre> <p> </p> <p> </p> <p style="padding-left: 30px;">数据表结构DDL</p> <p style="padding-left: 30px;"> </p> <pre name="code" class="sql">-- ---------------------------- -- Table structure for bd_id -- ---------------------------- DROP TABLE IF EXISTS `bd_id`; CREATE TABLE `bd_id` ( `id` bigint(30) NOT NULL, `code` varchar(100) DEFAULT NULL, `create_date` datetime DEFAULT NULL, `creator` varchar(30) DEFAULT NULL, `description` varchar(255) DEFAULT NULL, `dr` tinyint(1) DEFAULT NULL, `length` int(11) DEFAULT NULL, `modifier` varchar(30) DEFAULT NULL, `modify_Date` datetime DEFAULT NULL, `prefix` varchar(10) DEFAULT NULL, `suffix` varchar(10) DEFAULT NULL, `value` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</pre> <p> </p> <p> </p> <p style="padding-left: 30px;">附件中是项目压缩包,只要电脑上安装了数据库,解压即可运行,数据库名称是osd</p> <p> </p> </div>
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
阿里P8数据架构师:顶级开发者都在用什么数据库?
其实从去年已经隐隐约约感觉到数据库的有变化,只是没有想到变得这么快。今年的一些事情实实在在地给了某些数据库重击,如果以前去某数据库还是喊喊,然后该用还用,今年从传统领域刮起的去某数据库的风,已经开始了,并且后面的乌云密布也看得见。 最近看一篇国外的开源产品提供厂商的一篇文字,主要是在询问了他的几百位客户后得出了下图中的2019年数据库的使用趋势。 从图中可以看出,MySQL以38.9...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
互联网公司分布式系统架构演进之路
介绍 分布式和集群的概念经常被搞混,现在一句话让你明白两者的区别。 分布式:一个业务拆分成多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 例如:电商系统可以拆分成商品,订单,用户等子系统。这就是分布式,而为了应对并发,同时部署好几个用户系统,这就是集群 1 单应用架构 2 应用服务器和数据库服务器分离 单机负载越来越来,所以要将应用服务器和数据库服务器分离 3 应用服务...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
程序员需要了解的硬核知识之汇编语言(一)
之前的系列文章从 CPU 和内存方面简单介绍了一下汇编语言,但是还没有系统的了解一下汇编语言,汇编语言作为第二代计算机语言,会用一些容易理解和记忆的字母,单词来代替一个特定的指令,作为高级编程语言的基础,有必要系统的了解一下汇编语言,那么本篇文章希望大家跟我一起来了解一下汇编语言。 汇编语言和本地代码 我们在之前的文章中探讨过,计算机 CPU 只能运行本地代码(机器语言)程序,用 C 语言等高级语...
OpenCV-Python 绘图功能 | 七
目标 学习使用OpenCV绘制不同的几何形状 您将学习以下功能:cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()等。 代码 在上述所有功能中,您将看到一些常见的参数,如下所示: img:您要绘制形状的图像 color:形状的颜色。对于BGR,将其作为元组传递,例如:(255,0,0)对于蓝色。对于灰度,只需传递...
GitHub 标星 1.6w+,我发现了一个宝藏项目,作为编程新手有福了!
大家好,我是 Rocky0429,一个最近老在 GitHub 上闲逛的蒟蒻… 特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。 后来自己花了一个星期看完了 Pyt...
Java知识体系最强总结(2020版)
更新于2019-12-15 10:38:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 文章目录...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Fiddler+夜神模拟器进行APP抓包
Fiddler+夜神模拟器进行APP抓包 作者:霞落满天 需求:对公司APP进行抓包获取详细的接口信息,这是现在开发必备的。 工具:Fiddler抓包,夜神模拟器 模拟手机 安装APP 1.下载Fiddler https://www.telerik.com/download/fiddler Fiddler正是在这里帮助您记录计算机和Internet之间传递的所有HTTP和HTTPS通信...
小白学 Python 爬虫(42):春节去哪里玩(系列终篇)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(...
一文带你看清 HTTP 所有概念
上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性。我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍 通用...
作为一个程序员,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、列名...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
[数据结构与算法] 排序算法之归并排序与基数排序
归并排序 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 基本思想 可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
史上最牛逼的 Eclipse 快捷键,提高开发效率!
如果你在使用IDEA,请参考博主另外的一篇idea快捷键的博客。
如何快速打好Java基础?
二哥,我是一名大学生,专业是电力工程,但想自学 Java,如何快速打好基础呢? 微信上 tison 向我提出了这个问题。我想我是有资格来回答的,从北京奥运会那年开始学 Java,到现在已经有 10 多个年头了,真的是从一名编程白痴一步步走到现在的。 我在各大技术网站上分享了不少 Java 方面的原创文章,不知道影响了多少初学者,反正文章的留言中经常能看到他们由衷的感谢。现在每天仍然有不少同学(...
在三线城市工作爽吗?
我是一名程序员,从正值青春年华的 24 岁回到三线城市洛阳工作,至今已经 6 年有余。一不小心又暴露了自己的实际年龄,但老读者都知道,我驻颜有术,上次去看房子,业务员肯定地说:“小哥肯定比我小,我今年还不到 24。”我只好强颜欢笑:“你说得对。” 从我拥有记忆到现在进入而立之年,我觉得,我做过最明智的选择有下面三个: 1)高中三年,和一位女同学保持着算不上朋友的冷淡关系;大学半年,把这位女同学追到...
CSS操作之你不得不知的一些小技巧(一)ヾ(Ő∀Ő๑)ノ太棒了!!
目录 CSS单行/多行文本,超出隐藏并显示省略号 1. CSS单行/多行文本,超出隐藏并显示省略号 方法一:使用CSS属性 单行文本溢出显示省略号 width: 100px; overflow: hidden; text-overflow:ellipsis; //文本溢出显示省略号 white-space: nowrap; //文本不会换...
相关热词 c# singleton c#中类的默认值是 c#各种进制之间的转换 c# 正则表达式保留汉字 c#后台跨域 c#基础代码大全 c#指定combox选择 c#关系 mono c# 相差毫秒 用c#做一个简易计算器
立即提问