目录
模拟用户登录
1.登录界面:
注意点:验证码
2.对登录界面与数据库实现数据交互:
3.登录成功页面:
新闻发布
1.发布新闻页面
2.发布新闻数据和数据交互:
注意点:新增id
3.发布新闻成功:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
新闻发布系统-管理员登录
版本信息
管理信息系统 2008 v2.0
1.是通过随机器和数组生成验证码。
2.网页刷新和点击验证码,验证码可以进行刷新。
3.单独封装生成验证码的方法,方便调用。
//获取验证码进行匹配
$("code").onblur = function(){
//获取输入项中的验证码
var inputCode = this.value;
//获取span标签随机生成保留的验证码
var spanCode = $("code_val").innerHTML;
if(!inputCode){
alert('验证码不能为空');
return false;
}else{//编写了验证码
if(inputCode!=spanCode){
alert('验证码输入错误');
this.value = "";
//重新生成
return false;
}
}
return true;
};
//问题:验证码的实现通过什么技术?
//随机生成的验证码 有四个字母或者数字? 随机
//javascript 随机器 Math.random() 0-1之间
//生成一个0-9的随机数
/* var sj = Math.random()*10;
// 向下取整
console.log(Math.floor(sj)); */
setCode();
/* 如果span中存储的验证码不清晰 需要重新修改 设置span的点击事件 */
$("code_val").onclick = function(){
setCode();
}
};
//封装验证码生成
function setCode(){
//清空上一次保留的验证码
code = "";
//通过Math.random();产生一个随机数
for(var i = 0;i<4;i++){
/* 取范围 乘 数组的长度个数 */
var sj = Math.floor(Math.random()*arr.length);
//console.log(sj)
//console.log(arr[sj]); //根据随机数获取数组中的元素
code+=arr[sj];
}
//获取存储验证码的span标签
$("code_val").innerHTML = code;
}
功能:通过查询方法来实现登录效果
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//该页面的作用:处理登录页面提交的数据进行数据库交互
//1.设置request请求对象的编码格式
request.setCharacterEncoding("utf-8");
//2.根据reuqest对象获取表单提交的值
String username = request.getParameter("username");
String password = request.getParameter("password");
//3.与数据库进行交互 判断数据库中是否存在username和passowrd
String uname = "";
String pwd = "";
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//建立连接
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection conn = DriverManager.getConnection(url, "scott", "123");
//编写登录的sql语句
String sql = "select * from tb_0325_users where username = ? and password = ?";
PreparedStatement ps = conn.prepareStatement(sql);
//给对应的占位符进行赋值
ps.setString(1, username);
ps.setString(2,password);
//返回结果集对象
ResultSet rs = ps.executeQuery();
//判断结果集中是否存在查询的数据
if(rs.next()){//判断结果集中存在下一条数据
uname = rs.getString(2);
pwd = rs.getString(3);
}
//判断uname和pwd是否为空 为空 说明提供的账号或密码错误 不为空 查到了 可以登录
if(""!=uname && ""!=pwd){//可以登录
//转发
request.getRequestDispatcher("success.jsp").forward(request, response);
}else{//为空 不可以登录
//重定向
response.sendRedirect("login.jsp");
}
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
欢迎<%=request.getParameter("username") %>来到主页!!!
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
新闻发布--管理后台
欢迎使用新闻管理系统!
管理员: 登录 退出
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//作用:获取新增表单的数据进行数据库交互
//1.编码格式
request.setCharacterEncoding("utf-8");
//2.获取表单提交的数据
//编号
int nid = 0;//定义一个变量保存最终的id
//链接数据库查询到最大的id 最后+1
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//建立连接
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection conn = DriverManager.getConnection(url, "scott", "123");
String sql = "select nvl(max(nid),0) from tb_news";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if(rs.next()){
nid = rs.getInt(1)+1;
}
//新闻分类id
String tid = request.getParameter("ntid");
int ntid = Integer.valueOf(tid);
//标题
String ntitle = request.getParameter("ntitle");
//作者
String nauthor = request.getParameter("nauthor");
//摘要
String nsummary = request.getParameter("nsummary");
//内容
String ncontent = request.getParameter("ncontent");
//图片 (默认 到时再说)
//日期 (获取系统时间)
//点击量 默认0
//新增新闻
sql = "insert into tb_news(nid,ntid,ntitle,nauthor,nsummary,ncontent,ndate,ncount) values (?,?,?,?,?,?,sysdate,0)";
ps = conn.prepareStatement(sql);
ps.setInt(1, nid);
ps.setInt(2,ntid);
ps.setString(3,ntitle);
ps.setString(4,nauthor);
ps.setString(5,nsummary);
ps.setString(6,ncontent);
int n = ps.executeUpdate();
if(n>0){
out.print("");
}else{
out.print("");
}
%>
1.查询到数据库中最大的id。
2.在最大id的基础上+1则是新增数据的id。
//2.获取表单提交的数据
//编号
int nid = 0;//定义一个变量保存最终的id
//链接数据库查询到最大的id 最后+1
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//建立连接
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection conn = DriverManager.getConnection(url, "scott", "123");
String sql = "select nvl(max(nid),0) from tb_news";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if(rs.next()){
nid = rs.getInt(1)+1;
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
新闻发布系统-后台主页
欢迎使用新闻管理系统!
管理员:<%=request.getParameter("username") %> 登录 login out
- 深足教练组:说我们买球是侮辱 朱广沪常暗中支招 作者:
sport
修改 删除
- 省政府500万悬赏建业登顶 球员:遗憾主场放跑国安 作者:
sport
修改 删除
- 洪元硕:北京人的脸就看你们了 最后一哆嗦看着办 作者:
sport
修改 删除
- 临界冠军京城夺票总动员 球迷:夺冠!让所有人闭嘴 作者:
sport
修改 删除
- 一纸传真暗含申花处理态度 国足征调杜威突生悬疑 作者:
sport
修改 删除
- 气候变化导致海平面上升 作者:news
修改 删除
- 商贸联委会在杭州开会 中美对贸易争端态度低调 作者:news
修改 删除
- 迟福林:“十二五”改革应向消费大国转型 作者:
news
修改 删除
- 伊朗称放弃美元作为外储地位 人民币或上位 作者:
out
修改 删除
- “持械抢劫,当场击毙” 浙江永康现超雷人标语 作者:
news
修改 删除
- 国内成品油价格上调几成定局 作者:
news
修改 删除
- 俄数百所幼儿园和学校因流感停课 作者:
news
修改 删除
- 喀布尔市中心传出爆炸和枪声 目前原因不明 作者:
out
修改 删除
- 国台办介绍大陆高校加大对台招生力度情况 作者:
news
修改 删除
- 国台办将授权福建等六省市部分赴台管理审批权 作者:
news
修改 删除
如果不能理解可以将代码实操一下。