目录
想要的东西,尽量自己努力去得到,别人给你的,终究是带着利息的
登陆
orcale数据建立
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 login( --用户表
zh varchar2(12) primary key,
pwd varchar2(10)
);
commit; --创建好表格记得提交
实现简单登陆
bootstrap-3.3.7-dist是美化包
dologin.jsp是实现登陆的功能界面
login.jsp是登陆界面
功能实现
登陆界面代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="doLogin.jsp" method="post">
<p> <input name="uname" placeholder="请输入用户名"> </p>
<p> <input name="upwd" placeholder="请输入密码" > </p>
<p> <button>登陆</button></p>
</form>
</body>
</html>
实现登陆功能代码
<%@page import="oracle.jdbc.driver.OracleDriver" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.nio.charset.StandardCharsets" %>
<%@ page import="java.util.Arrays" %>
<%@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");
try {
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//定义连接字符串
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
//获得连接
Connection con = DriverManager.getConnection(url, "ZYH", "zkingedu");
//获得执行对象
PreparedStatement ps = con.prepareStatement("select * from login where zh=? and pwd=?");
ps.setString(1, yh);
ps.setString(2, mm);
//获得结果集
ResultSet rs = ps.executeQuery();
//判断结果
if (rs.next()) {
// localhost:8080/当前项目/news/index.jsp
request.getRequestDispatcher("index.jsp").forward(request, response);
} else {
//重定向 客户端
response.sendRedirect("login.jsp");
}
//资源关闭
if (!con.isClosed()) {
con.close();
}
ps.close();
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
%>
简单增加新闻
<%@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();
}
%>
想要的东西,尽量自己努力去得到,别人给你的,终究是带着利息的
——2022.3.29