项目素材:《新闻发布系统(项目素材)》
目录
登录注册的实现
oracle创建表格
create table t_topic --新闻标题表
(
topic_id number primary key,
topic_name varchar2(20) not null
);
select * from t_topic;
create table t_news( --新闻表
news_id number primary key ,
news_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
);
select * from t_news;
create table t_user( --用户表
user_id number primary key,
user_name varchar2(20) not null,
user_pwd varchar2(20) not null,
user_sex varchar2(3) check (user_sex='男' or user_sex='女'),
user_age number
);
commit; --创建好表格记得提交
将项目素材中的 bootstrap-3.3.7-dist news目录复制粘贴到webapps下login.html和regiest.html内容复制,在webapps下创建jsp文件,保留部分内容其余全部粘贴(news目录下html文件均以此操作)

导ojdbc的jar包,再创建路径(右键build path)

创建doLogin.jsp(登录验证页面)和doRegiest.jsp(注册验证页面)删除html内容保留下方内容语句声明

连接数据库语句7步
1.加载驱动
2.定义连接字符串
3.获得连接
4.获得执行对象
5.获得结果集
6.判断结果
7.资源关闭
//加载驱动
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_pwd=?");
ps.setString(1, yh);
ps.setString(2, mm);
//获得结果集
ResultSet rs=ps.executeQuery();
//判断结果
if(rs.next()){
// localhost:8080/web04/news/index.jsp
request.getRequestDispatcher("/news/index.jsp").forward(request, response);
}else{
//重定向 客户端
/**
(localhost:8080/web04/)跳转的时候:
a.jsp 跳转到同级路径下的a.jsp (localhost:8080/web04/a.jsp)
../a.jsp 跳转到上一级路径下的a.jsp (localhost:8080/a.jsp)
/a.jsp 根目录的a.jsp (localhost:8080/a.jsp)
**/
response.sendRedirect("login.jsp");
}
//资源关闭
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
注册功能的实现
<%@page import="java.sql.Time"%>
<%@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("yx1");
String pwd=request.getParameter("mm1");
String age=request.getParameter("nl");
String sex=request.getParameter("xb");
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:orcl";
Connection con=DriverManager.getConnection(url,"scott","sa123");
//找到用户表中id最大值,在其基础上加1
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_pwd,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('注册成功')</script>");
request.getRequestDispatcher("login.jsp").forward(request,response);
}else{
out.print("<script>alert('注册失败')</script>");
response.sendRedirect("regiest.jsp");
}
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
%>
登录功能的实现
<%@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 yh=request.getParameter("yh");
String mm=request.getParameter("mm");
//加载驱动
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_pwd=?");
ps.setString(1, yh);
ps.setString(2, mm);
//获得结果集
ResultSet rs=ps.executeQuery();
//判断结果
if(rs.next()){
// localhost:8080/web04/news/index.jsp
request.getRequestDispatcher("/news/index.jsp").forward(request, response);
}else{
//重定向 客户端
/**
(localhost:8080/web04/)跳转的时候:
a.jsp 跳转到同级路径下的a.jsp (localhost:8080/web04/a.jsp)
../a.jsp 跳转到上一级路径下的a.jsp (localhost:8080/a.jsp)
/a.jsp 根目录的a.jsp (localhost:8080/a.jsp)
**/
response.sendRedirect("login.jsp");
}
//资源关闭
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
%>
简单添加新闻
<%@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.setCharacterEncoding("utf-8");
//接受新闻的数据
String title=request.getParameter("title");
String author=request.getParameter("author");
String publisher=request.getParameter("publisher");
String topic=request.getParameter("topic");
String content=request.getParameter("content");
//新闻的添加(连接数据库)
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//定义连接字符串
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//获得连接
Connection con=DriverManager.getConnection(url,"scott","123");
// 主键不能不填
// 主键没有自增的选项(触发器+序列)
//获得执行对象【数据插入之前,先把主键查询出来】
PreparedStatement ps=con.prepareStatement("select nvl(max(news_id),0) from t_news");
ResultSet rs=ps.executeQuery();
int id=0;
if(rs.next()){
id=rs.getInt(1);//查询出来的最大id
}
id++; //为什么加一 【避免主键的重复】
//插入新闻的操作
ps=con.prepareStatement("insert into t_news(news_id, news_title, news_topic, news_author, news_publisher, news_content) values(?,?,?,?,?,?)");
//赋值
ps.setInt(1, id);
ps.setString(2, title);
ps.setInt(3, Integer.parseInt(topic));
ps.setString(4, author);
ps.setString(5, publisher);
ps.setString(6, content);
//执行结果
int n=ps.executeUpdate();
if(n>0){
out.print("<script>alert('增加成功');location.href='/web04/news/index.jsp'</script>");
}else{
out.print("<script>alert('增加失败');location.href='/web04/news/index.jsp'</script>");
}
//资源的关闭
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
%>
你要尽全力保护你的梦想。那些嘲笑你梦想的人,他们注定失败,他们想把你变成和他们一样。我坚信,只要心中有梦想,我就会与众不同。你也是。
本文介绍了一个新闻发布系统的实现过程,包括用户注册、登录验证及新闻发布的具体步骤,并提供了详细的JavaWeb与JDBC结合使用的代码示例。
1324

被折叠的 条评论
为什么被折叠?



