后台管理员登录
js代码
<!-- 实现后台登录js表单验证 -->
<script type="text/javascript">
$(function() {
//在加载函数中调用自动生成验证码方法
setAutoCode();
//点击验证码标签更新
$("#autocode").click(function() {
setAutoCode();
});
//定义开关变量
var flagUser = false;
var flagPwd = false;
var flagCode = false;
var flagAllow = true;
//找到所在标签元素
var $user_name = $("#username");
var $pwd = $("#password");
var $code = $("#code");
var $submit = $("#loginForm");
//用户输入框的失焦事件
$user_name.blur(function() {
//封装函数 调用函数
fnCheckUser()
});
function fnCheckUser() {
//获取数据
var vals = $user_name.val()
if(vals == ""){
$("#username_error").html("*必填");
flahUser = false;
return
}else{
$("#username_error").html("");
}
flagUser = true;
}
//密码输入框的失焦事件
$pwd.blur(function(){
// 封装函数,调用函数
fnCheckPwd()
});
function fnCheckPwd() {
var vals = $pwd.val();
if(vals == ""){
$("#password_error").html("*必填");
flagPwd = false;
}else{
$("#password_error").html("");
}
flagPwd = true;
}
//验证码
$code.blur(function(){
// 封装函数,调用函数
fnCheckCode()
});
function fnCheckCode() {
var vals = $code.val();
if(vals == ""){
alert("验证码不能为空");
flagCode = false;
return
}else{//输入框存在值
var autocodeSpan = $("#autocode").html();
if(vals!=autocodeSpan){
alert("验证码错误");
return false;
}
}
flagCode = true;
}
//表单阻止提交
$submit.submit(function() {
if(flagUser && flagPwd && flagCode){
return true
}else{
return false;
}
});
});
自动生成验证码功能
//自动生成验证码
//1.生成验证码----随机器 js----Random Math内置对象中的一个方法(0-1)
//2.验证码的生成 4位数 a-z A-Z 0-9
var chs = ['q','w','e','r','t','y','u','i','o','p',
'a','s','d','f','g','h','j','k','l',
'z','x','c','v','b','n','m',
'Q','W','E','R','T','Y','U','I','O','P',
'A','S','D','F','G','H','J','K','L',
'Z','X','C','V','B','N','M',
'0','1','2','3','4','5','6','7','8','9'
]
var code = "";//保存自动生成的验证码
function setAutoCode() {
//每次更新需要将上一次验证码清空
code = "";
//随机生成四个下标
for (var i = 0; i < 4; i++) {
var index = Math.floor(Math.random()*chs.length);
code+=chs[index];
}
$("#autocode").html(code);
}
Java代码
//通过表单的提交把数据带入新的页面进行数据库交互
<%@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"%>
<%
//设置request请求编码
request.setCharacterEncoding("utf-8");
//获取表单数据
String username = request.getParameter("username");
String password = request.getParameter("password");
//数据库交互
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//建立连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "triger");
//返回执行对象
String sql = "select * from tb_t281_news_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()) {
//转发
request.getRequestDispatcher("admin.jsp").forward(request, response);
} else {
//location
out.println("<script>alert('用户名或密码错误');location.href = 'login.jsp'</script>");
}
%>
发布新闻
Java部分
//发布新闻的主题下拉框数据绑定
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//建立连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "triger");
//返回执行对象
String sql = "select * from tb_t281_news_themes";
PreparedStatement ps = conn.prepareStatement(sql);
//返回结果集对象
ResultSet rs = ps.executeQuery();
while (rs.next()) {
out.println("<option value='" + rs.getInt(1) + "'>" + rs.getString(2) + "</option>");
}
整体
//通过admin页面超链接
<%@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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>新闻发布--管理后台</title>
<link rel="stylesheet" type="text/css" href="css/admin.css" />
</head>
<body>
<div id="header">
<div id="welcome">欢迎使用新闻管理系统!</div>
<div id="nav">
<div id="logo">
<img src="images/logo.jpg" alt="新闻中国" />
</div>
<div id="a_b01">
<img src="images/a_b01.gif" alt="" />
</div>
</div>
</div>
<div id="admin_bar">
<div id="status">
管理员: 登录     <a href="#">退出</a>
</div>
<div id="channel"></div>
</div>
<div id="main">
<div id="opt_list">
<ul>
<li><a href="admin.html">管 理 首 页</a></li>
<li><a href="admin_addNews.html">新 闻 发 布</a></li>
<li><a href="admin_themeMaintain.html">主 题 维 护</a></li>
<li><a style="color: red;" href="#">系统账号管理</a></li>
<li><a style="color: red;" href="#">注册用户管理</a></li>
</ul>
</div>
<div id="opt_area">
<h1 id="opt_type">添加新闻:</h1>
<form action="doAdminAddNews.jsp" method="post">
<p>
<label> 主题 </label> <select name="ntid">
<%
//发布新闻的主题下拉框数据绑定
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//建立连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "triger");
//返回执行对象
String sql = "select * from tb_t281_news_themes";
PreparedStatement ps = conn.prepareStatement(sql);
//返回结果集对象
ResultSet rs = ps.executeQuery();
while (rs.next()) {
out.println("<option value='" + rs.getInt(1) + "'>" + rs.getString(2) + "</option>");
}
%>
</select>
</p>
<p>
<label> 标题 </label> <input name="ntitle" type="text"
class="opt_input" />
</p>
<p>
<label> 作者 </label> <input name="nauthor" type="text"
class="opt_input" />
</p>
<p>
<label> 摘要 </label>
<textarea name="nsummary" cols="40" rows="3"></textarea>
</p>
<p>
<label> 内容 </label>
<textarea name="ncontent" cols="70" rows="10"></textarea>
</p>
<p>
<label> 上传图片 </label> <input name="file" type="file"
class="opt_input" />
</p>
<input name="action" type="hidden" value="addnews"> <input
type="submit" value="提交" class="opt_sub" /> <input type="reset"
value="重置" class="opt_sub" />
</form>
</div>
</div>
<div id="site_link">
<a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span>
<a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span>
<a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span>
<a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span>
<a href="#">留言反馈</a>
</div>
<div id="footer">
<p class="">
24小时客户服务热线:010-68988888      <a href="#">常见问题解答</a>
     新闻热线:010-627488888<br />
文明办网文明上网举报电话:010-627488888      举报邮箱:<a href="#">jubao@jb-aptech.com.cn</a>
</p>
<p class="copyright">
Copyright © 1999-2009 News China gov, All Right Reserver<br />
新闻中国 版权所有
</p>
</div>
</body>
</html>