目录

预备操作:

1.导包:

2.开启Oracle数据库服务&配置监听

3.创建数据库

(1)用户表

(2)新闻表

一,登录

1.界面(login)

2.登录验证(doLogin)

二,注册

1 界面(regiest)

2.注册处理(doRegiest)

三,主页

界面(index)

四,增加

1.界面(add)

2.增加新闻处理(doAdd)

五,注意事项


预备操作:

1.导包:

将准备好的素材文件以及jar包导入到项目中

tip:不要把文件位置放错了,素材必须是在webapp目录下,而jar包则是要在WEB-INF中的lib中

2.开启Oracle数据库服务&配置监听

具体操作:https://blog.csdn.net/m0_67376124/article/details/123797159

3.创建数据库

(1)用户表

CREATE TABLE T_USER(
USER_ID NUMBER PRIMARY KEY,--用户编号
USER_NAME VARCHAR2(30) NOT NULL,--用户姓名
USER_PASSWORD VARCHAR(30) NOT NULL,--用户密码
USER_SEX VARCHAR(3) NOT NULL CHECK(USER_SEX='男'OR USER_SEX='女'),--用户性别
USER_AGE NUMBER NOT NULL--用户年龄
);

(2)news表

create table t_news(news_id number primary key ,--IDnews_title varchar2(255) not null,--标题news_topic number not null,--类型news_author varchar2(255) not null,--作者news_publisher varchar2(255) not null,--发布时间news_content long not null--内容
);

一,登录

1.界面(login)

代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%/***登录界面*/%>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/css/bootstrap.css">
<script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script>
<script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/bootstrap.js"></script>
<style>
* {outline: none !important;
}html, body {background:#1abe9c;
}form {width: 300px;background: #ebeff2;box-shadow: 0px 0px 50px rgba(0, 0, 0, .5);border-radius: 5px;padding: 20px;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);
}.btn-group {width: 100%;
}.btn-group button {width: 50%;
}
</style>
</head><body><!-- methid的方式有两种:1.get(直接显示在状态栏上的) 2.post(不会显示在状态栏上的数据) --><form action="doLogin.jsp" method="post" id="myForm"><h3 class="text-center">欢迎使用一麟新闻管理</h3><div class="form-group"><input name="name" type="text" id="username" class="form-control" placeholder="请输入您的姓名"></div><div class="form-group"><input name="password" type="password" id="password" class="form-control" placeholder="请输入您的密码"></div><div class="btn-group"><button type="submit" class="btn btn-primary">登录</button><button type="button" class="btn btn-danger" onclick='location=href="regiest.jsp"'>没有账号?</button><!-- 没有账号就跳转到注册的界面 --></div></form><script type="text/javascript">//表单的提交验证//tip:这里只是做了非空判断,这里能使用很多方式做验证,比如jQuery插件,JavaScript验证,jQuery验证$("#myForm").submit(()=>{if($("#username").val().lenght==0){alert("用户名不能为空");return false;//return false;这个时候表单是不提交的}if($("#password").val().lenght==0){alert("密码不能为空");return false;}})</script>
</body>
</html>

2.登录验证(doLogin)

代码如下:

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%
/**
*登录数据库处理
*/
request.setCharacterEncoding("UTF-8");//设置编码语言,避免乱码
String name = request.getParameter("name");//从登录界面通过输入框中的name属性获取用户姓名
String pwd = request.getParameter("password");//从登录界面通过输入框中的name属性获取用户密码
//导包
//OracleDriver(alt+/)
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//定义连接字符串
String URL = "jdbc:oracle:thin:@localhost:1521:orcl";//可以封装成类
//获得连接
Connection con = DriverManager.getConnection(URL, "scott", "sa123");
//获取执行对象
PreparedStatement ps = con.prepareStatement("select * from t_user where user_name=? and user_password=?");
//占位符设值
ps.setString(1, name);
ps.setString(2, pwd);
//获得结果集
ResultSet rs = ps.executeQuery();
//判断结果
if (rs.next()) {request.getRequestDispatcher("/news/index.jsp").forward(request, response);/**在下述讲解中,我们就会发现我们的/news/index.jsp路径在页面中的跳转也是能够成功的,那么问题来了,按照理论知识来讲是不能进行跳转的,而且路径也该会变成localhost:8080/news/index.jsp其实原因很简单:我们的转发是属于服务器行为,而重定向则不然,是属于客户端行为,注意两者的区别!说到这里,我们就不难理解了,因为在此无论如何都是以项目为主的,就会跳转到我们项目的根目录,路径应该是localhost:8080/web04/news/index.jsp**/
} else {//重定向/**跳转的时候有两种情况:(1)a.jsp  跳转到当前路径下的a.jsp,假如当前路径是localhost:8080/web04,那么就会跳转到localhost:8080/web04/a.jsp(2)../a.jsp 跳转到上一级路径下的a.jsp 就上述路径而言,就会跳转到localhost:8080/a.jsp(3)/a.jsp 根目录的a.jsp 就上述路径而言,根目录是localhost:8080那么就会跳转到loaclhost:8080/a.jsp**/response.sendRedirect("${pageContext.request.contextPath}/login.jsp");//或者路径为login.jsp,因为是同级目录
}
//关闭资源
if (con != null && !con.isClosed()) {con.close();
}
if (ps != null) {ps.close();
}
if (rs != null) {rs.close();
}
%>

二,注册

1 界面(regiest)

代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%/***注册界面*/%>
<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><title>Document</title><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/css/bootstrap.css"><script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script><script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/bootstrap.js"></script><style>* {outline: none !important;}html,body {background: #1abe9c;}form {width: 300px;background: #ebeff2;box-shadow: 0px 0px 50px rgba(0, 0, 0, .5);border-radius: 5px;padding: 20px;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);}.btn-group {width: 100%;margin-bottom: 15px;}.btn-group > * {width: 50%;}</style>
</head><body>
<form action="doRegiest.jsp" method="post" id="myForm"><h3 class="text-center">欢迎注册</h3><div class="form-group"><input name="name" type="name" required id="username" class="form-control" placeholder="请输入您的姓名"></div><div class="form-group"><input name="password" type="password" required id="userpwd" class="form-control" placeholder="请输入您的密码"></div><div class="btn-group" data-toggle="buttons"><label class="btn btn-primary active">男<input type="radio" value="男" name="sex" checked></label><label class="btn btn-primary">女<input type="radio" value="女" name="sex"></label><!-- 性别是默认为男的 --></div><div class="form-group"><!-- 年龄在18-150之间 --><input name="age" type="number" required id="age" min="18" max="150" class="form-control" placeholder="请输入您的年龄"></div><div class="btn-group"><button type="submit" class="btn btn-primary">注册</button><button type="button" class="btn btn-danger" onclick='location=href="login.jsp"'>已有账号?</button><!-- 有账号就跳转到登录界面 --></div>
</form>
<script type="text/javascript">//表单的提交验证//tip:这里只是做了非空判断,这里能使用很多方式做验证,比如jQuery插件,JavaScript验证,jQuery验证$("#myForm").submit(()=>{if($("#username").val().lenght==0){//用户名alert("用户名不能为空");return false;//return false;这个时候表单是不提交的}if($("#password").val().lenght==0){//密码alert("密码不能为空");return false;}//性别因为是默认的,所以不需要做判断if($("#age").val().lenght==0){//年龄alert("年龄不能为空");return false;}})
</body></html>

2.注册处理(doRegiest)

代码如下:

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");//防止乱码//从注册界面接收用户注册的数据
//以下都是根据输入框的name属性进行取值
String name = request.getParameter("name");//姓名
String pwd = request.getParameter("password");//密码
String sex = request.getParameter("sex");//性别
String age = request.getParameter("age");//年龄//导包
//OracleDriver//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//定义连接字符串
//jdbc:oracle:thin:@localhost:1521:orcl
String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
//获得连接
Connection con = DriverManager.getConnection(URL, "scott", "sa123");//主键不能不填
//主键没有自增的选项(触发器+序列)
//获得执行对象[数据插入之前,先把主键查询出来]
PreparedStatement ps = con.prepareStatement("select nvl(max(user_id),0) from t_user");
//获得结果集
ResultSet rs = ps.executeQuery();int id = 0;
if (rs.next()) {id = rs.getInt(1);//获取最大ID
}
id++; //避免主键重复//增加用户
ps = con.prepareStatement("insert into t_user(user_id, user_name, user_password, user_sex, user_age) values(?,?,?,?,?)");
//赋值(注意:数据一定要一一对应)
ps.setInt(1, id);
ps.setString(2, name);
ps.setString(3, pwd);
ps.setString(4, sex);
ps.setInt(5, Integer.parseInt(age));//执行结果
int n = ps.executeUpdate();//判断结果
if (n > 0) {//表示注册成功了out.print("<script>alert('注册成功');location.href='${pageContext.request.contextPath}/news/index.jsp'</script>");
} else {//增加失败out.print("<script>alert('注册失败');location.href='${pageContext.request.contextPath}/news/index.jsp'</script>");
}
//资源的关闭
if (con != null && !con.isClosed()) {con.close();
}
if (ps != null) {ps.close();
}
if (rs != null) {rs.close();
}
%>

三,主页

界面(index)

代码如下:

<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><title>bootstrap</title><meta content="width=device-width, initial-scale=1" name="viewport"><link href="/web04/bootstrap-3.3.7-dist/css/bootstrap.css" rel="stylesheet"><script src="/web04/bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script><script src="/web04/bootstrap-3.3.7-dist/js/bootstrap.js"></script><style>* {outline: none !important;}body,html {background: #7f8d90;}nav,.breadcrumb {border-radius: 0px !important;margin-bottom: 0px !important;}.breadcrumb {margin-bottom: 20px !important;background: #36485c;color: white;}li h4 {width: 300px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.breadcrumb .active {color: yellow;}</style>
</head><body>
<nav class="navbar navbar-default hidden-sm hidden-xs"><div class="container-fluid"><div class="navbar-header"><a class="navbar-brand" href="index.html" style="font-size: 25px;">⭐</a></div><ul class="nav navbar-nav"><li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown"> 新闻管理<span class="caret"></span></a><ul class="dropdown-menu"><li><a href="/web04/news/add.jsp">新闻发布</a></li><li class="divider"></li><li><a href="#">类别管理</a></li></ul></li></ul><ul class="nav navbar-nav navbar-right"><li><a><%=request.getParameter("name") %></a></li><li><a href="#">退出<span class="glyphicon glyphicon-off"></span></a></li></ul></div>
</nav><ol class="breadcrumb"><li>您当前的位置是</li><li>新闻发布系统</li><li class="active">首页</li>
</ol><form class="form-inline" style="margin: 0px auto 20px;"><div class="form-group" style="display: block;text-align: center;"><div class="input-group"><div class="input-group-addon">新闻标题</div><input class="form-control" placeholder="请在此输入搜索的关键字" type="text"><span class="input-group-btn"><button class="btn btn-primary" type="submit">搜索												

Javaweb新闻管理系统01相关推荐

  1. Javaweb新闻管理系统02

    目录 数据库的更新(oracle) 一,主页(index) 二,阅读界面(read) 三,修改(update&doUpdate) 四,删除新闻(doDelete) 数据库的更新(oracle) ...

  2. javaweb新闻管理系统03

    目录 数据库更新 一,主页(实现模糊功能)index.jsp 二,实现评论功能 1增加评论(doAddPl.jsp) 2.删除评论(doDelPl.jsp) 三,阅读界面(点击量的实现)read.js ...

  3. javaweb JSP JAVA 新闻发布系统源码(新闻管理系统)jsp新闻发布系统

    javaweb JSP JAVA 新闻发布系统源码(新闻管理系统)jsp新闻发布系统 常见的Javaweb题材有 理财系统,就业管理系统,汽车租赁,简易网盘,疫情数据查看,在线招标房,屋租赁,教务管理 ...

  4. javaweb JSP JAVAJSP 新闻发布系统源码(JSP新闻管理系统)JSP新闻系统

    javaweb JSP JAVAJSP 新闻发布系统源码(JSP新闻管理系统)JSP新闻系统 protected void doGet(HttpServletRequest req, HttpServ ...

  5. 基于javaweb的新闻管理系统(java+ssm+html+js+jsp+mysql)

    基于javaweb的新闻管理系统(java+ssm+html+js+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecli ...

  6. javaWeb项目之新闻管理系统

    javaWeb项目之新闻管理系统 这是csdn保存的源码,如有需要,可自行下载:https://download.csdn.net/download/fzt12138/11776339 另外,根据各位 ...

  7. 基于javaweb的超简单新闻管理系统

    一.系统简介 本项目采用eclipse工具开发,jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具. 系统一共分为2个角色分别是:管理员,用户 管理 1.登 ...

  8. 新闻管理系统-javaWeb -大作业-更新版(之前的存在问题)

    引言 本文中的新闻管理系统主要的涉及的功能是新闻的浏览.新闻的发布.主题的编辑.用户信息管理.用户评论管理等.主要角色为:管理员.游客.用户(注册),其中游客可以浏览本网站的新闻,但是不能评论,登录网 ...

  9. Bootstrap4+MySQL前后端综合实训-Day08-PM【ajax获取表单标签内容、根据“栏目信息”添加“新闻信息”、新闻管理系统-项目展示】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 ajax获取表单标签内容 ajax根据数据库加载select下来列 ...

最新文章

  1. 卡耐基梅隆大学专家谈核心技术市场化:「AI 周边相关机遇最大」
  2. spring与memcache的集成
  3. [转]C#遍历局域网的几种方法及比较
  4. 即时通讯:XMPP基础
  5. Entity Framework Core 之数据库迁移
  6. oracle中scn(系统改变号)
  7. 【转载】ORM的概念
  8. Python OpenCV学习笔记之:灰度图像的直方图计算
  9. 基于高光谱技术的农作物常见病害监测研究
  10. 神舟战神怎么装win11系统
  11. code1068 乌龟棋
  12. Linux 目录结构及主要内容 2
  13. 机械革命Z3 Pro测试,从开箱到翻车到上岸到发烧(多图预警)
  14. python学习笔记_week19
  15. 说说 PWA 和微信小程序--Progressive Web App
  16. 01背包问题——大背包:
  17. xbox360链接pc_如何在Windows PC上使用Xbox 360控制器
  18. talib.AROON指标详解
  19. 抖音小店无货源玩法分享(五)抖店类目该如何选择
  20. 揭秘TPM安全芯片技术及加密应用

热门文章

  1. 又一所“理工大学”,来了!深圳理工大学(筹)首批将建设六大学院。
  2. 2022年中国冰晶石价格走势及进出口贸易情况分析[图]
  3. 笔记本wifi与台式机、内网服务器共网、共享wifi详细教程
  4. 中文分词word2vec和doc2vec句向量的理解
  5. windows 2012 重置开机密码
  6. 计算机主机不启动的原因,电脑开不了机怎么办 电脑不能开机的原因与解决办法 (全文)...
  7. 赞:凤凰卫视之黄永玉访谈
  8. 我遇到的在VS2019中使用Android设备管理器创建模拟器点击启动后提示 系统映像不完整,无法启动 问题的解决办法
  9. TMS320C6678 PLL时钟配置
  10. StackOverflowError问题