该项目今天全部完成套用了一个框架比较生疏,许多东西以后会完善的。
今天完善过程遇到很多问题后面会一个个列举并写出解决方法:
1、验证码问题(checkcode.java、login.jsp、login.java)
在后续代码中(checkcode.java、login.jsp、login.java)三部分展示。checkcode.java生成验证码图片在login.html中显示图片并设置点击事件,login.java中验证验证码的正确性,
2、框架页面点击跳转不存在于一个页面问题(代码在indexmain.jsp中)
用到了HTML中的<iframe标签>,标签定义及使用说明<iframe> ;标签规定一个内联框架。一个内联框架被用来在当前 HTML 文档中嵌入另一个文档。然后在点击链接中加入 target="mainframe"
HTML5 不支持 <link> target 属性。target 属性规定在哪个窗口或框架中加载被链接文档。语法<link target="_blank|_self|_parent|_top|framename">
| 值 | 描述 |
|---|---|
| _blank | 在新窗口中打开被链接文档。 |
| _self | 默认。在相同的框架中打开被链接文档。 |
| _parent | 在父框架集中打开被链接文档。 |
| _top | 在整个窗口中打开被链接文档。 |
| framename | 在指定的框架中打开被链接文档。 |
3、后台数据如何在HTMl显示
这一块用到了,html+ajax+servlet展示后台数据大家可以看大佬(5条消息) html+ajax+servlet展示后台数据_不吃豆芽儿的博客-CSDN博客
4、文本框输入500超出范围(zhengji.html)
这个问题取决于数据库的定义类型刚开始我定义的varchar类型后面查看资料采用text类型有的推荐使用longtext我的不能添加长度就直接过了,之后将文本框换为文本域该问题也就解决了
5、eclipse中jsp文件修改浏览器没有同步,问题之解决
jsp文件改了,但是浏览器显示的效果都没有变化。删了cookies,重启Tomcat都没解决。(有时可以解决)虽然只是小问题,但确实让人讨厌。
个人经验:碰到这种情况,右击Tomcat服务器,clean,再start一下就可以了!
其余便是一些小问题了,下面我先呈上本次项目的所有代码以及结构框架
前端
indexmain.jsp
<%@page import="util.util"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="Bean.zhengjis"%>
<%@page import="Dao.dao"%>
<%@page import="javax.servlet.http.HttpSession"%>
<%@page import="javax.servlet.http.HttpServletRequest"%>
<%@page import="javax.servlet.http.HttpServletResponse"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>后台用户中心</title>
<link rel="stylesheet" type="text/css" href="statics/css/iconfont.css" />
<link rel="stylesheet" type="text/css" href="statics/css/style.css" />
<link rel="stylesheet" type="text/css" href="static/css/app.css"></link>
</head>
<body>
<%
HttpSession sess=request.getSession();
String name=(String) sess.getAttribute("name");//学生姓名
%>
<div class="header">
<div class="bar">
<div class="w1200">
<span class="l">xxx网<font>用户中心</font></span>
<span class="r"><a href="#"><i class="icon iconfont icon-dianyuan"></i>退出</a></span>
</div>
</div>
<div class="user-info">
<div class="w1200">
<div class="user-headface">
<img src="statics/images/user_face.jpg"/>
</div>
<div class="user-account">
<p class="tip">下午好,<%=name%></p>
<p class="account">
<span>帐户名:<%=name%></span>
</p>
</div>
</div>
</div></div>
<div class="main w1200">
<div class="left">
<ul>
<li>
<a href="zhengji.html" target="mainframe" class="active">
<i class="icon iconfont icon-lingdang"></i>
需求征集
</a>
</li>
<li>
<a href="index.jsp?act=select2 "target="mainframe">
<i class="icon iconfont icon-fangzidichan"></i>
游览需求
</a>
</li>
<li>
<a href="index.jsp"target="mainframe">
<i class="icon iconfont icon-wenda"></i>
需求审核
</a>
</li>
<li>
<a href="register.html">
<i class="icon iconfont icon-icon--"></i>
用户注册
</a>
</li>
<li>
<a href="mima.html">
<i class="icon iconfont icon-geren"></i>
修改密码
</a>
</li>
</ul>
</div>
<div class="right">
<div class="tap">
<span>系统消息</span>
</div>
<div class="container-main">
<iframe name="mainframe" src="work.jsp" frameborder="0"width="1000"height="500" ></iframe>
</div>
</div></div>
</body>
</html>
login.java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<title></title>
<link type="text/css" rel="stylesheet" href="css/style.css" />
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var height=$(document).height();
$('body').css('height',height);
var mart=height-500;
mart = mart/2;
$('.loginBox').css('marginTop',mart);
})
</script>
<script>
onload = function () {
document.getElementById("img").onclick = function () {
this.src = "CheckCode?time"+new Date().getTime();
}
}
</script>
</head>
S
<body>
<form action="login" method="post">
<div class="loginBox">
<h1>欢迎登陆</h1>
<div class="item">
<div class="icon"><img src="images/icon1.png" /></div>
<div class="txt"><input name="username" type="text" placeholder="请输入您的用户名"/></div>
</div>
<div class="item">
<div class="icon"><img src="images/icon2.png" /></div>
<div class="txt"><input name="password1" type="password" placeholder="请输入您的密码"/></div>
</div>
<div class="item">
<div class="icon"><img src="images/icon3.png" /></div>
<div class="txt">
<input type="text" name="yanzhengma"placeholder="请输入验证码" >
</div>
<div><img src="CheckCode" id="img" ></img></div>
</div>
<div class="item_3">
<input name="submi1" type="submit" onclick="sublim()" value="安全登录" class="btn"/>
</div>
<div class="item_4">
还没有账号?<a href="register.html">立即注册</a>
</div>
</div>
</from>
</body>
</html>
mima.java(修改密码)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<title></title>
<link type="text/css" rel="stylesheet" href="css/style.css" />
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var height=$(document).height();
$('body').css('height',height);
var mart=height-500;
mart = mart/2;
$('.loginBox').css('marginTop',mart);
})
</script>
</head>
<body>
<form action="mima" method="post">
<div class="loginBox">
<h1>注册</h1>
<div class="item">
<div class="icon"><img src="images/icon1.png" /></div>
<div class="txt"><input name="yonghu" type="text" placeholder="请输入您的用户名"/></div>
</div>
<div class="item">
<div class="icon"><img src="images/icon2.png" /></div>
<div class="txt"><input name="password" type="password" placeholder="请输入您的新密码"/></div>
</div>
<div class="item">
<div class="icon"><img src="images/icon2.png" /></div>
<div class="txt"><input name="password1" type="password" placeholder="请再次输入您的密码"/></div>
</div>
<div class="item_3">
<input name="" type="submit" value="修改" class="btn"/>
</div>
<div class="item_4">
已注册<a href="index.html">返回</a>
</div>
</div>
</form>
</body>
</html>
register.java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<title></title>
<link type="text/css" rel="stylesheet" href="css/style.css" />
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var height=$(document).height();
$('body').css('height',height);
var mart=height-500;
mart = mart/2;
$('.loginBox').css('marginTop',mart);
})
</script>
</head>
<body>
<form action="register" method="post">
<div class="loginBox">
<h1>注册</h1>
<div class="item">
<div class="icon"><img src="images/icon1.png" /></div>
<div class="txt"><input name="yonghu" type="text" placeholder="请输入您的用户名"/></div>
</div>
<div class="item">
<div class="icon"><img src="images/icon2.png" /></div>
<div class="txt"><input name="password" type="password" placeholder="请输入您的密码"/></div>
</div>
<div class="item">
<div class="icon"><img src="images/icon2.png" /></div>
<div class="txt"><input name="password1" type="password" placeholder="请再次输入您的密码"/></div>
</div>
<div class="item">
<div class="icon"><img src="images/icon2.png" /></div>
<div class="txt"><input name="id" id="id" type="text" placeholder="手机号码" onblur="isCardNo(this.value)" />
</div>
</div>
<div class="item">
<div class="icon"><img src="images/icon2.png" /></div>
<div class="txt"><input name="address" type="text" placeholder="所属单位"/></div>
</div>
<div class="item_3">
<input name="" type="submit" value="注册" class="btn"/>
</div>
<div class="item_4">
已注册<a href="login.html">我要登录</a>
</div>
</div>
</form>
</body>
<script type="text/javascript">
function isCardNo(card)
{
var reg = /(^\d{11}$)/;
if(reg.test(card) === false)
{
alert("电话号码不为11位");
document.getElementById('id').value="";
}
}
</script>
</html>
work.jsp(无用东西可加可不加)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>jQuery/HTML5/css3精美唯美图片Y轴展示</title>
<link rel="stylesheet" href="bbb/css/style.css">
</head>
<body>
<div class="wrapper init">
<ul class="content">
<li class="item" >
<div class="inner">
<div class="bjPic" ></div>
<div class="dir" >
<h2>那一瞬</h2>
</div>
<div class="showBox">
<div class="showBox-dir" >
<h2> 那一瞬,我飞升成仙,不为长生,只为佑你平安喜乐</h2></a>
</div>
<div class="close">
</div>
</div>
</div>
</li>
<li class="item">
<div class="inner">
<div class="bjPic"></div>
<div class="dir">
<h2>那一刻</h2>
</div>
<div class="showBox">
<div class="showBox-dir">
<h2>那一刻,我升起风马,不为祈福,只为守候你的到来</h2>
</div>
<div class="close">
</div>
</div>
</div>
</li>
<li class="item">
<div class="inner">
<div class="bjPic"></div>
<div class="dir">
<h2>那一日</h2>
</div>
<div class="showBox">
<div class="showBox-dir">
<h2>那一日,我磨一砂石,不为修性,只为丢进你的心海</h2>
</div>
<div class="close">
</div>
</div>
</div>
</li>
<li class="item">
<div class="inner">
<div class="bjPic"></div>
<div class="dir">
<h2>那一夜</h2>
</div>
<div class="showBox">
<div class="showBox-dir">
<h2>那一夜,我彻宿低吟,不为参悟,只为寻你的气息</h2>
</div>
<div class="close">
</div>
</div>
</div>
</li>
<li class="item">
<div class="inner">
<div class="bjPic"></div>
<div class="dir">
<h2>那一天</h2>
</div>
<div class="showBox">
<div class="showBox-dir">
<h2>那一天,闭目在经殿香雾中,蓦然听见,你颂经中的真言</h2>
</div>
<div class="close">
</div>
</div>
</div>
</li>
<li class="item">
<div class="inner">
<div class="bjPic"></div>
<div class="dir">
<h2>那一月</h2>
</div>
<div class="showBox">
<div class="showBox-dir">
<h2>那一月,我摇动所有经筒,不为超度,只为触摸你指尖</h2>
</div>
<div class="close">
</div>
</div>
</div>
</li>
<li class="item">
<div class="inner">
<div class="bjPic"></div>
<div class="dir">
<h2>那一年</h2>
</div>
<div class="showBox">
<div class="showBox-dir">
<h2>那一年,磕长头匍匐在山路,不为觐见,只为贴着你的温暖</h2>
</div>
<div class="close">
</div>
</div>
</div>
</li>
<li class="item">
<div class="inner">
<div class="bjPic"></div>
<div class="dir">
<h2>那一世</h2>
</div>
<div class="showBox">
<div class="showBox-dir">
<a href="index.jsp"></a>
<h2>那一世,转山转水转佛塔,不为修来世,只为途中相见</h2>
</div>
<div class="close">
</div>
</div>
</div>
</li>
</ul>
</div>
<script src="bbb/js/jquery.min.js"></script>
<script src="bbb/js/index.js"></script>
<script src="bbb/js/snowflake.js"></script>
</body>
</html>
zhengji.html(征集信息填报)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<SCRIPT LANGUAGE="JavaScript">
var strTime, strDate;
function webClock()
{
var dNow = new Date();
var dHours = dNow.getHours();
var dMinutes = dNow.getMinutes();
var dSeconds = dNow.getSeconds();
strTime = dHours;
strTime += ((dMinutes<10) ? ":0" : ":") + dMinutes;
strTime += ((dSeconds<10) ? ":0" : ":") + dSeconds;
clock.time.value = strTime;
var dDate = dNow.getDate();
var dMonth = dNow.getMonth() + 1;
var dYear = dNow.getYear();
strDate = dMonth;
strDate += ((dDate<10) ? "/0" : "/") + dDate;
strDate += "/" + dYear;
clock.date.value = strDate;
setTimeout("webClock()",1000);
}
</SCRIPT>
</head>
</HTML>
<body ONLOAD="webClock()">
<h1 class="callout" align="center">河北省重大技术需求征集表</h1>
<form action="zhengji1" method="post"align="center" >
<table class="wzc-table" border="1" cellspacing="0">
<tr>
<th>技术需求名称:</th>
<td><input type="text" name="mingcheng" size="20" style="width:700px;height: 40px;"></td>
</tr>
<tr>
<th>重大科技需求概述:</th>
<td colspan="3">
<textarea cols="100" rows="5"name="gaishu"></textarea>
</td>
</tr>
<tr>
<th>研究类型:</th>
<td>
<input type="checkbox" name="leixing" value="基础研究 ">基础研究
<input type="checkbox" name="leixing" value="应用研究">应用研究
<input type="checkbox" name="leixing" value="试验发展">试验发展
<input type="checkbox" name="leixing" value="研究发展与成果应用">研究发展与成果应用
<input type="checkbox" name="leixing" value="技术推广与科技服务 ">技术推广与科技服务
</td>
</tr>
<tr>
<th>时间:</th>
<td><input type="text" name="date" size="20" style="width:700px;height: 40px;"></td>
</tr>
<tr>
<th>技术需求合作模式:</th>
<td>
<input type="radio" name="moshi" value="独立开发">独立开发
<input type="radio" name="moshi" value="技术转让" checked>技术转让
<input type="radio" name="moshi" value="合作开发">合作开发
<input type="radio" name="moshi" value="技术入股">技术入股
</td>
</tr>
<tr>
<th>计划总投资</th>
<td><input type="text" name="touzi" size="20" style="width:700px;height: 40px;"></td>
</tr>
<tr >
<td></td>
<td ><input type="submit" value="提交" class="wzc-btn" style="width: 200px;"></td>
</tr>
</table>
</form>
</body>
</html>
index.jsp(显示所有基本数据并不完善)
<%@page import="util.util"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="Bean.zhengjis"%>
<%@page import="Dao.dao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>展示数据</title>
<link rel="stylesheet" href="./layui/css/layui.css"><script src="//unpkg.com/layui@2.6.8/dist/layui.js"></script>
<script> layui.use('form', function() { var form = layui.form; form.render(); }); </script>
</head>
<body>
<form action="select" method="post">
<table class="layui-table">
<colgroup>
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>序号</th>
<th>技术需求名称</th>
<th>提交日期</th>
<th>需求状态</th>
</tr>
</thead>
<tbody>
<%
ArrayList <zhengjis> zhengjis = new ArrayList<zhengjis>();
dao dao = new dao();
int num=0;
dao.showall(zhengjis);
for (int i =0; i < zhengjis.size(); i++) {
zhengjis A = zhengjis.get(i);
num+=1;
%>
<tr>
<td><%=num%></td>
<td><a href="select?mm=<%=A.getMingcheng()%>"><%=A.getMingcheng()%></a></td>
<th><%=A.getDate() %></th>
<td><%=A.getShenghe()%></td>
</tr>
<%
}
%>
</tbody>
</table>
</body>
</html>
index2.jsp(显示查询信息此jsp文件与index.jsp相关联无法自己启动会因为要从index.jsp获取数据)
<%@page import="util.util"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="Bean.zhengjis"%>
<%@page import="Dao.dao"%>
<%@page import="servlet.shenhe"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>展示数据</title> <link rel="stylesheet" href="./layui/css/layui.css"><script src="//unpkg.com/layui@2.6.8/dist/layui.js"></script>
<script> layui.use('form', function() { var form = layui.form; form.render(); }); </script>
</head>
<body>
<form action="shenhe" method="post" align="center">
<table class="layui-table">
<colgroup>
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>技术需求名称</th>
<th>重大科技需求概述</th>
<th>研究类型</th>
<th>技术需求合作模式</th>
<th>计划总投资</th>
</tr>
</thead>
<tbody>
<%
ArrayList <zhengjis> zhengjis =(ArrayList<zhengjis>)request.getAttribute("zhengji");;
int num=0;
for (int i =0; i < zhengjis.size(); i++) {
zhengjis A = zhengjis.get(i);
%>
<tr>
<td><%=A.getMingcheng()%></td>
<td><%=A.getGaishu()%></td>
<td><%=A.getLeixing() %></td>
<td><%=A.getMoshi()%></td>
<td><%=A.getTouzi()%></td>
<td><a href="shenhe?mm=<%=A.getMingcheng()%>&nn=<%=1%>"><input type = "button" onclick = "btnRst_Click()" value = "审核通过" ></a>
<script>
function btnRst_Click()
{
undefined
alert("审核通过");
}
</script>
</input></td>
<td><a href="shenhe?mm=<%=A.getMingcheng()%>&nn=<%=0%>"><input type = "button" onclick = "btnRst_Click2()" value = "审核不通过" >
<script>
function btnRst_Click2()
{undefined
alert("审核不通过");
}
</script>
</input></td>
</tr>
<%
}
%>
</tbody>
</table>
</body>
</html>
后端:
Bean包
user.java
package Bean;
public class user {
private String number;
private String password;
private String phone;
private String address;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
zhengjis.java
package Bean;
public class zhengjis {
private String mingcheng;
private String gaishu;
private String leixing;
private String moshi;
private String touzi;
private String shenghe;
private String date;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getMingcheng() {
return mingcheng;
}
public void setMingcheng(String mingcheng) {
this.mingcheng = mingcheng;
}
public String getShenghe() {
return shenghe;
}
public void setShenghe(String shenghe) {
this.shenghe = shenghe;
}
public String getGaishu() {
return gaishu;
}
public void setGaishu(String gaishu) {
this.gaishu = gaishu;
}
public String getLeixing() {
return leixing;
}
public void setLeixing(String leixing) {
this.leixing = leixing;
}
public String getMoshi() {
return moshi;
}
public void setMoshi(String moshi) {
this.moshi = moshi;
}
public String getTouzi() {
return touzi;
}
public void setTouzi(String touzi) {
this.touzi = touzi;
}
}
Dao包下(工具类):
dao.java
package Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import Bean.user;
import Bean.zhengjis;
import util.util;
public class dao {
public void add(user A) throws ClassNotFoundException, SQLException {
Connection connection = util.getConnection();
String sql = "insert into user(number,password,phone,address) values(?,?,?,?)";
PreparedStatement preparedStatement = null;
try {
//������䴫�����
preparedStatement = connection.prepareStatement(sql);
// preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, A.getNumber());
preparedStatement.setString(2, A.getPassword());
preparedStatement.setString(3, A.getPhone());
preparedStatement.setString(4, A.getAddress());
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
}
}
public void add1(zhengjis A) throws ClassNotFoundException, SQLException {
Connection connection = util.getConnection();
String sql = "insert into zhengji(mingcheng,gaishu,leixing,moshi,touzi,shenghe,shijian) values(?,?,?,?,?,?,?)";
PreparedStatement preparedStatement = null;
try {
//������䴫�����
preparedStatement = connection.prepareStatement(sql);
// preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, A.getMingcheng());
preparedStatement.setString(2, A.getGaishu());
preparedStatement.setString(3, A.getLeixing());
preparedStatement.setString(4, A.getMoshi());
preparedStatement.setString(5, A.getTouzi());
preparedStatement.setString(6, A.getShenghe());
preparedStatement.setString(7, A.getDate());
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
}
}
public void xiugaimima(String yonghu,String password2) throws ClassNotFoundException, SQLException {
Connection connection = util.getConnection();
String sql = " update user set password = ? where number = ?";
PreparedStatement preparedStatement = null;
try {
//������䴫�����
preparedStatement = connection.prepareStatement(sql);
// preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, password2);
preparedStatement.setString(2, yonghu);
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
}}
public void showall(ArrayList<zhengjis> ke) throws ClassNotFoundException, SQLException{
String sql1 ="select * from zhengji";
//������䴫�����
Connection connection = util.getConnection();
try {
PreparedStatement ps = connection.prepareStatement(sql1);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
System.out.println("1”");
zhengjis A = new zhengjis();
A.setMingcheng(rs.getString(1));
A.setShenghe(rs.getString(6));
A.setDate(rs.getString(7));
ke.add(A);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void showall1(ArrayList<zhengjis> ke) throws ClassNotFoundException, SQLException{
String sql1 ="select * from zhengji";
//������䴫�����
Connection connection = util.getConnection();
try {
PreparedStatement ps = connection.prepareStatement(sql1);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
System.out.println("1”");
zhengjis A = new zhengjis();
A.setMingcheng(rs.getString(1));
A.setGaishu(rs.getString(2));
A.setLeixing(rs.getString(3));
A.setMoshi(rs.getString(4));
A.setTouzi(rs.getString(5));
A.setShenghe(rs.getString(6));
ke.add(A);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void update(String mm,String result) throws ClassNotFoundException, SQLException {
Connection connection = util.getConnection();
String sql = "update zhengji set shenghe = ? where mingcheng = ?";
PreparedStatement preparedStatement = null;
try {
//������䴫�����
preparedStatement = connection.prepareStatement(sql);
// preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1,result);
preparedStatement.setString(2, mm);
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
}
}
public void select(ArrayList<zhengjis> zhengjis,String name) throws ClassNotFoundException, SQLException{
String sql1 ="select * from zhengji where mingcheng = ?";
Connection connection = util.getConnection();
try {
PreparedStatement ps = connection.prepareStatement(sql1);
ps.setString(1, name);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
zhengjis A = new zhengjis();
A.setGaishu(rs.getString(2));
A.setLeixing(rs.getString(3));
A.setMoshi(rs.getString(4));
A.setTouzi(rs.getString(5));
A.setMingcheng(rs.getString(1));
zhengjis.add(A);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// }
// public void add2(agent A) throws ClassNotFoundException, SQLException {
// Connection connection = util.getConnection();
// String sql = "insert into agent(AgentAddress,AgentName,AgentID,AgentPhone) values(?,?,?,?)";
// PreparedStatement preparedStatement = null;
// try {
// //������䴫�����
// preparedStatement = connection.prepareStatement(sql);
// // preparedStatement = connection.prepareStatement(sql);
// preparedStatement.setString(1, A.getAgentAddress());
// preparedStatement.setString(2, A.getAgentName());
// preparedStatement.setString(3, A.getAgentID());
// preparedStatement.setString(4, A.getAgentPhone());
// preparedStatement.executeUpdate();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }finally {
//
// }
// }
}
servlet包下:
checkcode.java:这个文件中是我遇到的第一个问题验证码,主要生成验证码的图片再通过session获取生成验证码数据在login.java里进行与前端的数据比较
package servlet;
import javax.imageio.ImageIO;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
@WebServlet(name = "CheckCode", value = "/CheckCode")
public class CheckCode extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//创建一个对象
int width = 100;
int height = 50;
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_3BYTE_BGR);
//填充背景颜色
Graphics g = image.getGraphics();//画笔
g.setColor(Color.cyan);//设置画笔颜色
g.fillRect(0,0,width,height);
//画边框
g.setColor(Color.black);
g.drawRect(0,0,width-1,height-1);
//随机码
String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random ran = new Random();
StringBuilder sb = new StringBuilder();
for(int i=1;i<=4;i++){
int index = ran.nextInt(str.length());
char ch = str.charAt(index);
sb.append(ch);
g.drawString(ch+"",width/5*i,height/2);
}
String checkCode_session = sb.toString();
//将验证码存入session
request.getSession().setAttribute("checkCode_session",checkCode_session);
//随机划线
g.setColor(Color.BLUE);
for(int i=1;i<4;i++){
int x1 = ran.nextInt(width);
int y1 = ran.nextInt(height);
int x2 = ran.nextInt(width);
int y2 = ran.nextInt(height);
g.drawLine(x1,y1,x2,y2);
}
//图片输出
ImageIO.write(image,"png",response.getOutputStream());
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
login.java:这个登录我加入了一些账号、密码、验证码是否存在是否正确并给出相应的结果。
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.swing.WindowConstants;
import Bean.user;
import util.util;
/**
* Servlet implementation class register
*/
@WebServlet("/login")
public class login extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public login() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
//������Ӧ���ı�����
int index=-1;
response.setContentType("text/html;charset=utf-8");//设置字符集
String usernames = request.getParameter("username");
String passwords=request.getParameter("password1");
String works=request.getParameter("work");
String verifyc = request.getParameter("yanzhengma");
HttpSession sess=request.getSession();
String name11=(String) sess.getAttribute("checkCode_session");//验证码
System.out.println(name11);
String svc =(String) request.getSession().getAttribute("sessionverify");
PrintWriter out=response.getWriter();
HttpSession session=request.getSession();
session.setAttribute("name", usernames);//获取登录者信息
Connection connection = null;
int i=0;int count=0;
String username1[]=new String[50];
String password2[]=new String[50];
String shenfen1[]=new String[50];
try {
connection = util.getConnection();
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PreparedStatement pre = null;
try {
pre = connection.prepareStatement("select * from user");
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ResultSet set = null;
try {
set = pre.executeQuery("select * from user");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
while(set.next())
{
username1[i]=set.getString("number");
password2[i]=set.getString("password");
i++;
count++;
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(verifyc.equals(name11))
{
System.out.println("验证码");
for(int j=0;j<count;j++) {
if(username1[j].equals(usernames))
{
System.out.println("dasdasd");
if(password2[j].equals(passwords))
{
System.out.println("shuichen");
index=1;
response.sendRedirect("indexmain.jsp");
}
else
{
System.out.println("chen");
out.print("<script>alert('密码错误');window.location.href='login.html'</script>");
}
}
else
{
System.out.println("huo");
out.print("<script>alert('输入账号不存在请重新输入');window.location.href='login.html'</script>");
}
}
}
else
{
out.print("<script>alert('验证码错误请重新输入');window.location.href='login.html'</script>");
}
// System.out.println(number);
}}
mima.java(这个时用来修改密码的其中包括密码比较等)
package servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Dao.dao;
import util.util;
import Bean.user;
/**
* Servlet implementation class dengji
*/
@WebServlet("/mima")
public class mima extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public mima() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
//������Ӧ���ı�����
response.setContentType("text/html;charset=utf-8");//������Ӧ����,����ֹ��������
System.out.println("dasdasd");
String yonghu=request.getParameter("yonghu");
String password=request.getParameter("password");
String password1=request.getParameter("password1");
if(password.equals(password1)) {
Connection connection = null;
int i=0;int count=0;
String username1[]=new String[50];
dao A=new dao();
try {
connection = util.getConnection();
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PreparedStatement pre = null;
try {
pre = connection.prepareStatement("select * from user");
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ResultSet set = null;
try {
set = pre.executeQuery("select * from user");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
while(set.next())
{
username1[i]=set.getString("number");
System.out.println(username1[i]);
i++;
count++;
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for(int j=0;j<count;j++) {
if(username1[j].equals(yonghu))
{
try {
A.xiugaimima(yonghu, password1);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}}
else
{
response.getWriter().print("<script>alert('输入密码错误请重新输入!');window.location.href='mima.html'</script>");
}
}}
register.java(注册)
package servlet;
import java.io.IOException;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Dao.dao;
import Bean.user;
/**
* Servlet implementation class dengji
*/
@WebServlet("/register")
public class register extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public register() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
//������Ӧ���ı�����
response.setContentType("text/html;charset=utf-8");//������Ӧ����,����ֹ��������
dao A =new dao();
String password = request.getParameter("password");
String username=request.getParameter("yonghu");
String phone=request.getParameter("id");
String password1=request.getParameter("password1");
String address=request.getParameter("address");
if(password.equals(password1))
{user B = new user();
B.setNumber(username);
B.setPassword(password);
B.setPhone(phone);
B.setAddress(address);
try {
A.add(B);
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else {
System.out.println("密码");
response.getWriter().print("<script>alert('输入密码错误请重新输入!');window.location.href='register.html'</script>");
}
}
}
select.java
package servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Bean.zhengjis;
import Dao.dao;
import util.util;
/**
* Servlet implementation class add
*/
@WebServlet("/select")
public class select extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public select() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String mingcheng = request.getParameter("mm");;
ArrayList <zhengjis> zhengji = new ArrayList<zhengjis>();
dao dao=new dao();
if(mingcheng!=null)
{
try {
dao.select(zhengji,mingcheng);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("zhengji",zhengji);//setAttribute() 方法添加指定的属性,并为其赋指定的值。
request.getRequestDispatcher("index2.jsp").forward(request, response);
}
else {
response.getWriter().write("查询数据不存在请重新输入。");
}
// else if(number!=null) {
// try {
// dao.select1(book,number);
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// request.setAttribute("people",people);
// request.getRequestDispatcher("chakan.jsp").forward(request, response);
// }
// else if(minzu!=null) {
// try {
// dao.select4(people,minzu);
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// request.setAttribute("people",people);
// request.getRequestDispatcher("chakan.jsp").forward(request, response);
// }
// else {
// try {
// dao.select5(people,jiaoyuchengdu);
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// request.setAttribute("people",people);
// request.getRequestDispatcher("chakan.jsp").forward(request, response);
// }
}}
shenhe.java对数据进行审核
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.swing.WindowConstants;
import Bean.user;
import Bean.zhengjis;
import util.util;
import Dao.dao;
/**
* Servlet implementation class sehnhe
*/
@WebServlet("/shenhe")
public class shenhe extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public shenhe() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
//������Ӧ���ı�����
response.setContentType("text/html;charset=utf-8");//������Ӧ����,����ֹ��������
System.out.println("chen");
String mm=request.getParameter("mm");
String nn=request.getParameter("nn");
dao A=new dao();
String result="";
System.out.println(mm);
if(nn.equals("1"))
{
result="通过";
}
else
{
result="未通过";
}
zhengjis B = new zhengjis();
try {
A.update(mm,result);
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.sendRedirect("index.jsp");
}
}
zhengji1.java(相当于上传一个数据表了)
package servlet;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Arrays;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Bean.zhengjis;
import Dao.dao;
/**
* Servlet implementation class zhengji1
*/
@WebServlet("/zhengji1")
public class zhengji1 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public zhengji1() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
//������Ӧ���ı�����
response.setContentType("text/html;charset=utf-8");//������Ӧ����,����ֹ��������
dao A =new dao();
String mingcheng = request.getParameter("mingcheng");
String gaishu=request.getParameter("gaishu");
String leixing=request.getParameter("leixing");
String [] lei = request.getParameterValues("leixing");
leixing = Arrays.toString(lei);
String moshi=request.getParameter("moshi");
String touzi=request.getParameter("touzi");
String shijian=request.getParameter("date");
// System.out.println();
System.out.println(mingcheng);
String shenghe="未审核";
zhengjis B = new zhengjis();
System.out.println("213123");
B.setMingcheng(mingcheng);
B.setGaishu(gaishu);
B.setLeixing(leixing);
B.setTouzi(touzi);
B.setMoshi(moshi);
B.setShenghe(shenghe);
B.setDate(shijian);
try {
A.add1(B);
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.getWriter().print("<script>alert('征集上传成功请等候消息');window.location.href='index.html'</script>");
}
}
这是本次项目文件以及css样式大家可以提取
链接:https://pan.baidu.com/s/1gHHWfzzsG6fwdv1Mmdv10A
提取码:jyt9
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实
在Ruby中,以毫秒为单位获取自纪元(1970)以来的当前系统时间的正确方法是什么?我试过了Time.now.to_i,好像不是我想要的结果。我需要结果显示毫秒并且使用long类型,而不是float或double。 最佳答案 (Time.now.to_f*1000).to_iTime.now.to_f显示包含十进制数字的时间。要获得毫秒数,只需将时间乘以1000。 关于ruby-以毫秒为单位获取当前系统时间,我们在StackOverflow上找到一个类似的问题:
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我们有以下(以及更多)系统,我们将数据从一个应用推送/拉取到另一个:托管CRM(InsideSales.com)Asterisk电话系统(内部)横幅广告系统(openx,我们托管)潜在客户生成系统(自行开发)电子商务商店(spree,我们托管)工作板(本土)一些工作网站抓取+入站工作提要电子邮件传送系统(如Mailchimp,自主开发)事件管理系统(如eventbrite,自主开发)仪表板系统(大量图表和
我正在尝试找出一种方法来显示来自不在RAILS_ROOT下(在RedHat或Ubuntu环境中)的已安装文件系统的图像。我不想使用符号链接(symboliclink),因为这个应用程序实际上是通过Tomcat部署的,而当我关闭Tomcat时,Tomcat会尝试跟随符号链接(symboliclink)并删除挂载中的所有图像。由于这些文件的数量和大小,将图像放在public/images下也不是一种选择。我查看了send_file,但它只会显示一张图片。我需要在一个格式良好的页面中显示6个请求的图像。由于膨胀,我宁愿不使用Base64编码,但我不知道如何将图像数据与呈现的页面一起传递下去。
我刚刚看到whitehouse.gov正在使用drupal作为CMS和门户技术。drupal的优点之一似乎是很容易添加插件,而且编程最少,即重新发明轮子最少。这实际上正是Ruby-on-Rails的DRY理念。所以:drupal的缺点是什么?Rails或其他基于Ruby的技术有哪些不符合whitehouse.org(或其他CMS门户)门户技术的资格? 最佳答案 Whatarethedrawbacksofdrupal?对于Ruby和Rails,这确实是一个相当主观的问题。Drupal是一个可靠的内容管理选项,非常适合面向社区的站点。它