河北省重大技术需求征集系统原型
Posted 念17836527558
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了河北省重大技术需求征集系统原型相关的知识,希望对你有一定的参考价值。
该项目今天全部完成套用了一个框架比较生疏,许多东西以后会完善的。
今天完善过程遇到很多问题后面会一个个列举并写出解决方法:
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"
target定义和用法
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" ></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 = /(^\\d11$)/; 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" ></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" ></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" ></td> </tr> <tr > <td></td> <td ><input type="submit" value="提交" class="wzc-btn" ></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 > <col > <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 > <col > <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.print以上是关于河北省重大技术需求征集系统原型的主要内容,如果未能解决你的问题,请参考以下文章
基于《河北省重大技术需求征集系统》的可用性和可修改性战术分析
阅读《大型网站技术架构:核心原理与案例分析》第七章,结合《河北省重大技术需求征集系统》,列举实例分析采用的可用性和可修改性战术