JavaWEB (项目分析&用户登录&发布新闻) [新闻发布系统01]

后台管理员登录

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">
			管理员: 登录 &#160;&#160;&#160;&#160;<a href="#">退出</a>
		</div>
		<div id="channel"></div>
	</div>
	<div id="main">
		<div id="opt_list">
			<ul>
				<li><a href="admin.html">管&nbsp;&nbsp;理&nbsp;&nbsp;首&nbsp;&nbsp;页</a></li>
				<li><a href="admin_addNews.html">新&nbsp;&nbsp;闻&nbsp;&nbsp;发&nbsp;&nbsp;布</a></li>
				<li><a href="admin_themeMaintain.html">主&nbsp;&nbsp;题&nbsp;&nbsp;维&nbsp;&nbsp;护</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 &#160;&#160;&#160;&#160; <a href="#">常见问题解答</a>
			&#160;&#160;&#160;&#160; 新闻热线:010-627488888<br />
			文明办网文明上网举报电话:010-627488888 &#160;&#160;&#160;&#160; 举报邮箱:<a href="#">jubao@jb-aptech.com.cn</a>
		</p>
		<p class="copyright">
			Copyright &copy; 1999-2009 News China gov, All Right Reserver<br />
			新闻中国 版权所有
		</p>
	</div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值