目录

模拟用户登录

1.登录界面:

注意点:验证码

2.对登录界面与数据库实现数据交互:

3.登录成功页面:

新闻发布

1.发布新闻页面

2.发布新闻数据和数据交互:

注意点:新增id

3.发布新闻成功:


模拟用户登录

1.登录界面:

<%@ 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>
<!-- 引入login.css -->
<link rel="stylesheet" type="text/css" href="css/login.css"/>
<!-- JavaScript 验证表单区域 -->
<script type="text/javascript">var code = "";//保存验证码//验证的需求:利用随机数  +拼接+数组存储需要随机的字符var arr =['a','b','c','d','e','f','g','h','i','j','k','l','0','1','2','3','4','5','6','7','8','9'];function $(id){return document.getElementById(id);}//加载函数window.onload = function(){//设置username的焦点事件$("username").onblur = function(){var usernameValue = this.value;if(!usernameValue){alert('用户名不能为空')return false;}return true;}//设置password的焦点事件$("password").onblur = function(){var passwordValue = this.value;if(!passwordValue){alert('密码不能为空')return false;}return true; }//获取表单设置表单的阻止提交事件$("myForm").onsubmit = function(){if(!$("username").onblur() || !$("password").onblur() || !$("code").onblur()){return false;}return true;}//获取验证码进行匹配$("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;}</script>   </head><body><!-- 登录大容器 --><div id="login"><!-- 上 --><div id="top"><div id="top_left"><img src="data:images/login_03.gif" /></div><div id="top_center"></div></div><!-- 中 --><div id="center"><div id="center_left"></div><!-- 表单区域 --><div id="center_middle" style = "background:pink"><form id = "myForm" action = "doLogin.jsp" method = "post"><div id="user">用 户<input type="text" id= "username" name="username" /></div><div id="pwd">密 码<input type="password" id = "password" name="password" /></div><!-- 登录前需要验证码进行验证 --><div id = "yzm">验证码 <input type ="text" name = "code" id = "code"/><span id = "code_val">SBSB</span></div><!-- 区域留出来   7天免登录--><div id = "mdl"></div><div id="btn"><input type = "submit" value = "登录"/><input type = "reset" value = "清空"/></div></form></div><div id="center_right"></div></div><!-- 下 --><div id="down"><div id="down_left"><div id="inf"><span class="inf_text">版本信息</span><span class="copyright">管理信息系统 2008 v2.0</span></div></div><div id="down_center"></div></div></div></body>
</html>

注意点:验证码

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;}

2.对登录界面与数据库实现数据交互:

功能:通过查询方法来实现登录效果

<%@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和passowrdString 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");}%>

3.登录成功页面:

<%@ 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>Insert title here</title>
</head>
<body><h1>欢迎<%=request.getParameter("username") %>来到主页!!!</h1>
</body>
</html>

新闻发布

1.发布新闻页面

<%@ 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="data:images/logo.jpg" alt="新闻中国" /></div><div id="a_b01"><img src="data: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">管&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="doAddNews.jsp" method="post"><p><label> 主题 </label><select name="ntid"><option value="1">国际</option><option value="2">美女</option><option value="3">游戏</option><option value="4">娱乐</option><option value="5">体育</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 &copy; 1999-2009 News China gov, All Right Reserver<br />新闻中国 版权所有</p></div></body>
</html>

2.发布新闻数据和数据交互:

<%@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;}//新闻分类idString 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("<script>alert('发布成功');location.href='admin.jsp'</script>");}else{out.print("<script>alert('发布失败');location.href='add_news.jsp'</script>");}%>

注意点:新增id

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;}

3.发布新闻成功:

<%@ 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="data:images/logo.jpg" alt="新闻中国" /></div><div id="a_b01"><img src="data:images/a_b01.gif" alt="" /></div></div></div><div id="admin_bar"><div id="status">管理员:<%=request.getParameter("username") %> 登录      <a href="#">login out</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="add_news.jsp">新&nbsp;&nbsp;闻&nbsp;&nbsp;发&nbsp;&nbsp;布</a></li><li><a href="admin_themeMaintain.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"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><script language="javascript">function clickdel() {return confirm("删除请点击确认");}</script><ul class="classlist"><li> <a href="admin_newsDetail.html">深足教练组:说我们买球是侮辱 朱广沪常暗中支招</a> <span> 作者:sport     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 省政府500万悬赏建业登顶 球员:遗憾主场放跑国安 <span> 作者:sport     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 洪元硕:北京人的脸就看你们了 最后一哆嗦看着办 <span> 作者:sport     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 临界冠军京城夺票总动员 球迷:夺冠!让所有人闭嘴 <span> 作者:sport     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 一纸传真暗含申花处理态度 国足征调杜威突生悬疑 <span> 作者:sport     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li class='space'></li><li> 气候变化导致海平面上升 <span> 作者:news     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 商贸联委会在杭州开会 中美对贸易争端态度低调 <span> 作者:news     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 迟福林:“十二五”改革应向消费大国转型 <span> 作者:news     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 伊朗称放弃美元作为外储地位 人民币或上位 <span> 作者:out     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> “持械抢劫,当场击毙” 浙江永康现超雷人标语 <span> 作者:news     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li class='space'></li><li> 国内成品油价格上调几成定局 <span> 作者:news     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 俄数百所幼儿园和学校因流感停课 <span> 作者:news     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 喀布尔市中心传出爆炸和枪声 目前原因不明 <span> 作者:out     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 国台办介绍大陆高校加大对台招生力度情况 <span> 作者:news     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li> 国台办将授权福建等六省市部分赴台管理审批权 <span> 作者:news     <a href='admin_editNews.html'>修改</a>      <a href='#' onclick='return clickdel()'>删除</a></span> </li><li class='space'></li><p align="right"> 当前页数:[1/3]&nbsp; <a href="#">下一页</a> <a href="#">末页</a> </p></ul></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 &copy; 1999-2009 News China gov, All Right Reserver<br />新闻中国 版权所有</p></div></body>
</html>

如果不能理解可以将代码实操一下。

javaweb——模拟用户登录和新闻发布相关推荐

  1. 简易新闻系统,功能包含用户登录、新闻发布删除、评论管理等

    首页框架 实现登录页面并跳转 管理员登录成功跳转至管理员页面 实现注册页面并跳转 在主题列表页面实现弹框添加主题,并提示输入主题是否存在 编辑主题 删除主题 新闻发布 管理员登录后,点击查看新闻进入新 ...

  2. 【javaweb:eljstl】通过模拟用户登录,使网页登录测试部分变成“用户”和“退出”

    1.模拟用户登录部分,访问一个jsp,在jsp中嵌入java代码,然后再session域中存入user对象, 表示用户已经登录了.代码如下: <%@ page language="ja ...

  3. scrapy模拟用户登录

    scrapy框架编写模拟用户登录的三种方式: 方式一:携带cookie登录,携带cookie一般请求的url为登录后的页面,获取cookie信息应在登录后的页面获取,cookie参数应转成字典形式 # ...

  4. xpath技术解析xml以及案例模拟用户登录效果

    问题:当使用dom4j查询比较深的层次结构的节点(标签,属性,文本),比较麻烦!!! xpath就在此情况下产生了--主要是用于快速获取所需的[节点对象]. 在dom4j中如何使用xPath技术 1) ...

  5. python小练习--模拟用户登录,(3次重试机会,登录成功展示登录账号密码)

    知识点使用:1.格式化输出的两种方法---% .formate 2.while循环的使用,及跳出循环的两种方法---break(跳出循环体).continue(结束本次循环,继续下次循环) 3.if条 ...

  6. python3.0实例_python3.0 模拟用户登录,三次错误锁定的实例

    python用户登录三次锁定怎么修改 1.normal_user是存放用户id及密码的文件 2.lock_file是存放被锁定的用户id的文档,默认为空. 3.程序会对normal_user里的合法用 ...

  7. python登录验证程序_Python模拟用户登录验证

    本文实例为大家分享了Python模拟用户登录验证的具体代码,供大家参考,具体内容如下 1.功能简介 此程序模拟用户登录验证的过程,实现用户名输入.黑名单检测.用户有效性判别.密码输入及验证等.用户在3 ...

  8. C语言:模拟用户登录

    编写代码实现模拟用户登录情景,密码输入正确则登录成功,输入错误提示"密码有误,请再次输入!" 只能输三次,三次均输入错误退出程序. 代码如下: #define _CRT_SECUR ...

  9. C语言实现模拟用户登录

    目录 一.问题要求 二.解决思路 库函数strcmp() 用法: 例子: 一.问题要求 模拟用户登录情况,用户输入密码,如果密码正确就提示登陆成功,错误就显示登录失败,且只能有三次机会,输入错误三次就 ...

最新文章

  1. 时玉:微生物地理分布的分析方法与技术
  2. thinkphp链接mssql以及查询中文乱码问题
  3. ZOJ-2366 Weird Dissimilarity 动态规划+贪心
  4. springboot设置运行内存_docker run容器 设置 jvm 运行springboot 程序
  5. 诸神战纪2java_诸神战纪2死神归来
  6. 如何提高Debug效率
  7. jsp--cookie
  8. 重读经典:完全解析特征学习大杀器 ResNet
  9. 一个简单的例子带你理解HashMap
  10. Android Studio1.4.x JNI开发基础-基本环境配置
  11. win10计算机属性快捷键,win 10 电脑常用快捷键汇总
  12. 冲压模具设计之弹簧导套连续拉深模具设计方法
  13. matlab 维纳滤波器算法实现
  14. 存用部首查字典如何查_存的部首,存的偏旁部首,存的拼音,存的笔画数,存的组词,存的意思...
  15. 分布式事务框架TX-LCN
  16. 方正飞鸿智能信息平台(FIX ES2007)帮助手册+知识库
  17. android 格式化后关机,Android系统为什么用久了会卡?那格式化还原后还会卡吗?...
  18. 微信公众号鸿蒙盾额度认证为什么要交钱,微信公众号收费标准是什么?认证流程介绍!...
  19. cdn投资骗收租_为研究直播的投资点,才意识到CDN对内容分发的基础性意义。迟到3年才看到这一点,错过20倍的网宿科技...
  20. 制作往图片里插入视频,视频添加到图片上播放

热门文章

  1. z世代消费力白皮书_Z世代来了!你懂TA们吗?
  2. 绘画遇到瓶颈期怎么办?拒绝正面刚跨过瓶颈期
  3. Dart 2.12 现已发布
  4. mBio | 青岛能源所崔球组揭示生物质降解菌热纤梭菌的糖摄取机制
  5. 手机计算机打不开了,手机连接到电脑上打不开怎么办
  6. H5新版盲盒交友新增心动推荐炮灰域名易支付虎皮椒等功能
  7. 互联网如何获取流量,产品推广之路该如何做
  8. 数据库的基本概念与模式结构
  9. 鞍点 Hessian矩阵
  10. java.lang.ClassNotFoundException: Cannot find class: com.***.****.***.***.NewStudentDto