登录界面jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="com.sun.corba.se.spi.*"%>
<%@page import="com.sun.crypto.*"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册页面</title>
<style>
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
width: 100%;
overflow: hidden;
margin: 0;
padding: 0;
background: url(img/bgc1.jpg) no-repeat 0px 0px;
background-repeat: no-repeat;
background-size: 100% 100%;
-moz-background-size: 100% 100%;
}
body {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
/* background-image: url(img/bgc1.jpg); */
}
h1 {
text-align: center;
margin-bottom: 20px;
margin-top: 20px;
color: #f0edf3;
}
p {
margin-top: 10px;
margin-left: 20px;
color: azure;
}
input {
margin-left: 15px;
border-radius: 5px;
border-style: hidden;
height: 30px;
width: 140px;
outline: none;
color: #f0edf3;
padding-left: 10px;
}
select {
margin-left: 15px;
}
.favourite input,
.sex input {
width: 40px;
height: 25px;
}
#loginDiv {
position: relative;
width: 37%;
display: flex;
justify-content: center;
align-items: center;
height: 700px;
background-color: rgba(75, 81, 95, 0.3);
box-shadow: 7px 7px 17px rgba(52, 56, 66, 0.5);
border-radius: 5px;
}
#account,
#pw,
#repw {
position: absolute;
left: 150px;
background-color: rgba(216, 191, 216, 0.5);
}
span {
position: absolute;
left: 325px;
}
.button {
border-color: cornsilk;
background-color: rgba(100, 149, 237, .7);
color: aliceblue;
border-style: hidden;
border-radius: 5px;
width: 100px;
height: 31px;
font-size: 16px;
}
</style>
<script src="./js/jquery-3.6.0.js"></script>
<script type="text/javascript">
//onblur失去焦点的值
//定义一个变量用于存放XMLHttpRequest对象
var xmlHttp;
function checkIt() {
//获取文本框的值
var account = document.getElementById("account").value;
//alert("测试获取文本框的值:"+account);
//先创建XMLHttpRequest对象
// code for IE7+, Firefox, Chrome, Opera, Safari
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//服务器地址和数据
var url = "./UserCheckServlet";
//规定请求的类型、URL 以及是否异步处理请求。
xmlHttp.open("POST", url, true);
//向请求添加 HTTP 头。这个必加,是提交到后台的方式
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//将请求发送到服务器
xmlHttp.send("account=" + account);
//回调函数
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
//给div设置内容
document.getElementById("errorAccount").innerHTML = xmlHttp.responseText;
}
}
//给div设置内容
//document.getElementById("errorAccount").innerHTML=account;
}
</script>
</head>
<body>
<div id="loginDiv">
<form action="./logonServlet" method="post">
<h1 style="padding: 20px;">用户注册</h1>
<p>用户名: <input type="text" name="uname" id="account" onblur="checkIt()" required="required">
<span id="errorAccount" style="color:red;display:inline;"></span>
</p>
<p>密码: <input type="password" name="pass" required="required"
id="pw">
<span id="password_msg"></span>
</p>
<p>验证密码: <input type="password" name="pass_re" required="required" id="repw"><span id="tishi"></span>
<span id="repassword_msg"></span>
</p>
<p class="sex">性别: <input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女
</p>
<p class="favourite">爱好: <input type="checkbox" name="favourite" value="编程">编程
<input type="checkbox" name="favourite" value="旅游">旅游
<input type="checkbox" name="favourite" value="爬山">爬山
<input type="checkbox" name="favourite" value="瑜伽">瑜伽
</p>
<p>职业:
<select name="profession">
<option>请选择职业:</option>
<option>老师 </option>
<option>学生 </option>
<option>家长 </option>
</select>
</p>
<p>个人简介: <textarea rows="7" cols="20" name="note"></textarea></p>
<p style="text-align: center;"><button type="submit" value="注册" class="button">注册</button><button
type="reset" value="取消" class="button">取消</button></p>
<p>
<div style="text-align: center;color: #f0edf3;;">取消注册,去<a href="record.jsp" style="color:red;">登录</a>
</div>
</p>
</form>
</div>
</body>
<script type="text/javascript">
$(function() {
//是否为空
function ifnull(txt) {
if (txt.length == 0) {
return true;
}
var $reg = /\s+/;
return $reg.test(txt);
}
//在id为password的元素失去焦点时进行密码的验证
$("#pw").blur(function() {
if (ifnull($(this).val())) {
$("#password_msg").html("用户密码不能为空");
} else {
$("#password_msg").html("√");
}
});
//在id为repassword的元素失去焦点时进行密码的验证
$("#repw").blur(function() {
if (ifnull($(this).val())) {
$("#repassword_msg").html("请确认密码");
} else {
if ($("#pw").val() != $("#repw").val()) {
$("#repassword_msg").html("两次密码不一致");
} else {
$("#repassword_msg").html("√");
}
}
});
})
</script>
</html>
注册页面jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="com.sun.corba.se.spi.*"%>
<%@page import="com.sun.crypto.*"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册页面</title>
<style>
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
width: 100%;
overflow: hidden;
margin: 0;
padding: 0;
background: url(img/bgc1.jpg) no-repeat 0px 0px;
background-repeat: no-repeat;
background-size: 100% 100%;
-moz-background-size: 100% 100%;
}
body {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
/* background-image: url(img/bgc1.jpg); */
}
h1 {
text-align: center;
margin-bottom: 20px;
margin-top: 20px;
color: #f0edf3;
}
p {
margin-top: 10px;
margin-left: 20px;
color: azure;
}
input {
margin-left: 15px;
border-radius: 5px;
border-style: hidden;
height: 30px;
width: 140px;
outline: none;
color: #f0edf3;
padding-left: 10px;
}
select {
margin-left: 15px;
}
.favourite input,
.sex input {
width: 40px;
height: 25px;
}
#loginDiv {
position: relative;
width: 37%;
display: flex;
justify-content: center;
align-items: center;
height: 700px;
background-color: rgba(75, 81, 95, 0.3);
box-shadow: 7px 7px 17px rgba(52, 56, 66, 0.5);
border-radius: 5px;
}
#account,
#pw,
#repw {
position: absolute;
left: 150px;
background-color: rgba(216, 191, 216, 0.5);
}
span {
position: absolute;
left: 325px;
}
.button {
border-color: cornsilk;
background-color: rgba(100, 149, 237, .7);
color: aliceblue;
border-style: hidden;
border-radius: 5px;
width: 100px;
height: 31px;
font-size: 16px;
}
</style>
<script src="./js/jquery-3.6.0.js"></script>
<script type="text/javascript">
//onblur失去焦点的值
//定义一个变量用于存放XMLHttpRequest对象
var xmlHttp;
function checkIt() {
//获取文本框的值
var account = document.getElementById("account").value;
//alert("测试获取文本框的值:"+account);
//先创建XMLHttpRequest对象
// code for IE7+, Firefox, Chrome, Opera, Safari
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//服务器地址和数据
var url = "./UserCheckServlet";
//规定请求的类型、URL 以及是否异步处理请求。
xmlHttp.open("POST", url, true);
//向请求添加 HTTP 头。这个必加,是提交到后台的方式
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//将请求发送到服务器
xmlHttp.send("account=" + account);
//回调函数
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
//给div设置内容
document.getElementById("errorAccount").innerHTML = xmlHttp.responseText;
}
}
//给div设置内容
//document.getElementById("errorAccount").innerHTML=account;
}
</script>
</head>
<body>
<div id="loginDiv">
<form action="./logonServlet" method="post">
<h1 style="padding: 20px;">用户注册</h1>
<p>用户名: <input type="text" name="uname" id="account" onblur="checkIt()" required="required">
<span id="errorAccount" style="color:red;display:inline;"></span>
</p>
<p>密码: <input type="password" name="pass" required="required"
id="pw">
<span id="password_msg"></span>
</p>
<p>验证密码: <input type="password" name="pass_re" required="required" id="repw"><span id="tishi"></span>
<span id="repassword_msg"></span>
</p>
<p class="sex">性别: <input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女
</p>
<p class="favourite">爱好: <input type="checkbox" name="favourite" value="编程">编程
<input type="checkbox" name="favourite" value="旅游">旅游
<input type="checkbox" name="favourite" value="爬山">爬山
<input type="checkbox" name="favourite" value="瑜伽">瑜伽
</p>
<p>职业:
<select name="profession">
<option>请选择职业:</option>
<option>老师 </option>
<option>学生 </option>
<option>家长 </option>
</select>
</p>
<p>个人简介: <textarea rows="7" cols="20" name="note"></textarea></p>
<p style="text-align: center;"><button type="submit" value="注册" class="button">注册</button><button
type="reset" value="取消" class="button">取消</button></p>
<p>
<div style="text-align: center;color: #f0edf3;;">取消注册,去<a href="record.jsp" style="color:red;">登录</a>
</div>
</p>
</form>
</div>
</body>
<script type="text/javascript">
$(function() {
//是否为空
function ifnull(txt) {
if (txt.length == 0) {
return true;
}
var $reg = /\s+/;
return $reg.test(txt);
}
//在id为password的元素失去焦点时进行密码的验证
$("#pw").blur(function() {
if (ifnull($(this).val())) {
$("#password_msg").html("用户密码不能为空");
} else {
$("#password_msg").html("√");
}
});
//在id为repassword的元素失去焦点时进行密码的验证
$("#repw").blur(function() {
if (ifnull($(this).val())) {
$("#repassword_msg").html("请确认密码");
} else {
if ($("#pw").val() != $("#repw").val()) {
$("#repassword_msg").html("两次密码不一致");
} else {
$("#repassword_msg").html("√");
}
}
});
})
</script>
</html>
注册成功
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册成功页面</title>
</head>
<body>
<h1>注册成功!!!</h1><hr>
注册成功,请<a href="record.jsp">登录</a>!!!
</body>
</html>
登录错误界面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>错误页面</title>
<style type="text/css">
*{
padding:0 auto;
}
</style>
</head>
<center>
<body background="./bgc3.jfif">
账号或密码错误!!!
<br>
请<a href="record.jsp">重新登录</a>
</center>
</body>
</html>
主页(主) iframe
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="UserClass.User"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>iframe</title>
<style>
html {
background: url(./img/bgc2.jpg);
}
#iframeTop {
width: 100%;
height: 15%;
background-color: rgba(221, 210, 227, 0.7);
}
#iframeLeft {
width: 15%;
height: 763px;
float: left;
background-color: rgba(202, 186, 215, 0.7);
}
#iframeContent {
width: 84%;
height: 763px;
margin-left: 1%;
background-color: rgba(171, 170, 210, 0.7);
}
</style>
<body>
<div>
<iframe id="iframeTop" name="iframeTop" frameborder="0" src="Homepage_head.jsp.jsp"></iframe>
<iframe id="iframeLeft" name="iframeLeft" frameborder="0" src="Homepage_left.jsp"></iframe>
<iframe id="iframeContent" name="iframeContent" frameborder="0"></iframe>
</div>
</body>
</html>
主页(head) iframe
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="UserClass.User"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Insert title here</title>
</head>
<body style="text-align:center">
<%
User user=(User)session.getAttribute("user");
%>
<%-- [<%="【"+session.getAttribute("uname")+"】"%>]你好!<a href="exit.jsp">退出</a>--%>
[<%="【"+user.getUname()+"】"%>]你好!<a href="exit.jsp" target="_parent">退出</a>
<br>
人数:<%="【"+application.getAttribute("i")+"】" %> 登陆成功!
</body>
</html>
主页(left) iframe
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="UserClass.User"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Insert title here</title>
<style type="text/css">
div{
border: 2px solid #33333377;
border-radius: 5px;
text-align: center;
width:150px;
line-height: 35px;
}
a {
text-decoration:none;
color: black;
}
a:hover{
text-decoration:none;
cursor:pointer;
}
</style>
</head>
<body>
<div>
<!-- <a href="content.html" target="iframeContent">content</a>
<br/>
<a href="haha.html" target="iframeContent">haha</a> -->
<% //add
User user=(User)session.getAttribute("user");
if(user.getType()==1){
//if(session.setAttribute("sql_type")=="1"){
//if(Integer.parseInt(session.setAttribute("sql_type"))==1){
%>
<a href="user.jsp" target="iframeContent">用户管理</a>
<%
}
%>
<br />
<a href="news/New_Management.jsp" target="_parent">新闻管理</a>
<br />
<a href="Change_Password.jsp" target="iframeContent">修改密码</a>
<br />
</div>
</body>
</html>
用户管理
<%@page import="java.sql.ResultSet"%>
<%@page import="java.util.List"%>
<%@page import="UserClass.User"%>
<%@page import="com.sun.corba.se.spi.*"%>
<%@page import="com.sun.crypto.*"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ 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>
<style>
</style>
</head>
<body>
<%
//select uid,uname,pass,sex,profession,favorite,note,type,isValid from user
%>
<center>
<h2>新闻发布系统>>用户管理>>查询用户</h2><hr color ="black">
<form action="./selectServlet" method="post">
用户名:<input type="text" name="uname">
<input type="button" value="批量删除" onClick="batch()"/>
<input type="submit" value="查询">
<a href="./add.jsp?x=add">添加用户</a>
</form>
</center>
<p>
<%
List<User> List = (List)session.getAttribute("list");//add
session.setAttribute("list", List);
//ResultSet rs = (ResultSet)session.getAttribute("rs");
//if(rs == null){
if(List == null){
return;
}
%>
<table border="1" cellpading="0" cellSpacing="0" align="center" width="700px">
<tr>
<td>操作</td>
<td>编号</td>
<td>用户名</td>
<td>性别</td>
<td>职业</td>
<td>爱好</td>
<td>权限</td>
<td>状态</td>
<td>重置密码</td>
<td>修改权限</td>
<td>修改状态</td>
<td>删除用户</td>
</tr>
<%
//while(rs.next()){
%>
<c:forEach var="user" items="${sessionScope.list }">
<tr>
<td><input name="checkbox" type="checkbox" value="${user.uid}"></td>
<td>${user.uid }</td>
<td>${user.uname}</td>
<td>${user.sex }</td>
<td>${user.profession }</td>
<td>${user.favourite }</td>
<td>
<c:if test="${user.type==0 }">普通用户</c:if>
<c:if test="${user.type==1 }">管理员</c:if>
</td>
<td>
<c:if test="${user.isValid==0 }">无效</c:if>
<c:if test="${user.isValid==1 }">有效</c:if>
</td>
<td><a href="./passResetServlet?uid=${user.uid }">重置密码</a></td>
<td><a href="./changeTypeServlet?uid=${user.uid }&type=${user.type}">修改权限</a></td>
<td><a href="./changeIsvalidServlet?uid=${user.uid }&isValid=${user.isValid}">修改状态</a></td>
<%-- <td><a href="./deleteServlet?uid=${user.uid }" onclick="return confirmDel('确定要删除该用户吗?')">删除用户</a></td>--%>
<td><a href="./deleteServlet?uid=${user.uid }">删除用户</a></td>
</tr>
</c:forEach>
<%--
<tr>
<td><%=rs.getInt("uid") %></td>
<td><%=rs.getString("uname") %></td>
<td><%=rs.getString("sex") %></td>
<td><%=rs.getString("profession") %></td>
<td><%=rs.getString("favourite") %></td>
<td><%=rs.getString("type") %></td>
<td><%=rs.getString("isValid") %></td>
<td><a href="./passResetServlet?uid=<%=rs.getInt("uid") %>">重置密码</a></td>
<td><a href="./typeInput.jsp?uid=<%=rs.getInt("uid") %>">修改权限</a></td>
<td><a href="isValidInput.jsp?uid=<%=rs.getInt("uid") %>">修改状态</a></td>
<td><a href="./deleteServlet?uid=<%=rs.getInt("uid") %>" onclick="return confirmDel('确定要删除该用户吗?')">删除用户</a></td>
</tr>
--%>
<%
//}
%>
</table>
<script type="text/javascript">
function batch(){
if(confirm("确认删除?")){
var boxarray = "";
var box = document.getElementsByName("checkbox");
for(var i = 0 ; i < box.length ; i++){
if(box[i].checked){
boxarray += ""+box[i].value+",";
}
}
if(boxarray.length>1){
boxarray = boxarray.substring(0,boxarray.length-1);
}
if(boxarray.length>0){
window.location.href="./deleteBatchServlet?boxarray="+boxarray;
}else{
alert("请选择你要删除的信息!");
}
}else{
return ;
}
}
//function confirmDel(str){
//return confirm(str);
//}
</script>
</body>
</html>
添加用户
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册页面</title>
<style>
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
width: 100%;
overflow: hidden;
margin: 0;
padding: 0;
background: url(img/bgc1.jpg) repeat 0px 0px;
background-repeat: no-repeat;
background-size: 100% 100%;
-moz-background-size: 100% 100%;
}
body {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
/* background-image: url(img/bgc1.jpg); */
}
h1 {
text-align: center;
margin-bottom: 20px;
margin-top: 20px;
color: #f0edf3;
}
p {
margin-top: 10px;
margin-left: 20px;
color: azure;
}
input {
margin-left: 15px;
border-radius: 5px;
border-style: hidden;
height: 30px;
width: 140px;
outline: none;
color: #f0edf3;
padding-left: 10px;
}
select {
margin-left: 15px;
}
.favourite input,
.sex input {
width: 35px;
height: 25px;
}
#logonDiv {
position: relative;
width: 37%;
display: flex;
justify-content: center;
align-items: center;
height: 700px;
background-color: rgba(75, 81, 95, 0.3);
box-shadow: 7px 7px 17px rgba(52, 56, 66, 0.5);
border-radius: 5px;
}
#account,
#pw,
#repw {
position: absolute;
left: 150px;
background-color: rgba(216, 191, 216, 0.5);
}
span {
position: absolute;
left: 325px;
}
.button {
border-color: cornsilk;
background-color: rgba(100, 149, 237, .7);
color: aliceblue;
border-style: hidden;
border-radius: 5px;
width: 100px;
height: 31px;
font-size: 16px;
}
</style>
<script src="./js/jquery-3.6.0.js"></script>
<script type="text/javascript">
//onblur失去焦点的值
//定义一个变量用于存放XMLHttpRequest对象
var xmlHttp;
function checkIt() {
//获取文本框的值
var account = document.getElementById("account").value;
//alert("测试获取文本框的值:"+account);
//先创建XMLHttpRequest对象
// code for IE7+, Firefox, Chrome, Opera, Safari
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//服务器地址和数据
var url = "./UserCheckServlet";
//规定请求的类型、URL 以及是否异步处理请求。
xmlHttp.open("POST", url, true);
//向请求添加 HTTP 头。这个必加,是提交到后台的方式
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//将请求发送到服务器
xmlHttp.send("account=" + account);
//回调函数
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
//给div设置内容
document.getElementById("errorAccount").innerHTML = xmlHttp.responseText;
}
}
//给div设置内容
//document.getElementById("errorAccount").innerHTML=account;
}
</script>
</head>
<body>
<div id="logonDiv">
<form action="./logonServlet" method="post">
<h1 style="padding: 20px;">添加用户</h1>
<p>用户名: <input type="text" name="uname" id="account" onblur="checkIt()" required="required">
<span id="errorAccount" style="color:red;display:inline;"></span>
</p>
<p>密码: <input type="password" name="pass" required="required"
id="pw">
<span id="password_msg"></span>
</p>
<p>验证密码: <input type="password" name="pass_re" required="required" id="repw"><span id="tishi"></span>
<span id="repassword_msg"></span>
</p>
<p class="sex">性别: <input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女
</p>
<p class="favourite">爱好: <input type="checkbox" name="favourite" value="编程">编程
<input type="checkbox" name="favourite" value="旅游">旅游
<input type="checkbox" name="favourite" value="爬山">爬山
<input type="checkbox" name="favourite" value="瑜伽">瑜伽
</p>
<p>职业:
<select name="profession">
<option>请选择职业:</option>
<option>老师 </option>
<option>学生 </option>
<option>家长 </option>
</select>
</p>
<p>个人简介: <textarea rows="7" cols="20" name="note"></textarea></p>
<p style="text-align: center;"><button type="submit" value="注册" class="button">注册</button><button
type="reset" value="取消" class="button">取消</button></p>
<p>
<div style="text-align: center;color: #f0edf3;">取消添加,<a href="user.jsp" style="color:red;">返回查询页面</a>
</div>
</p>
</form>
</div>
</body>
<script type="text/javascript">
$(function() {
//是否为空
function ifnull(txt) {
if (txt.length == 0) {
return true;
}
var $reg = /\s+/;
return $reg.test(txt);
}
//在id为password的元素失去焦点时进行密码的验证
$("#pw").blur(function() {
if (ifnull($(this).val())) {
$("#password_msg").html("用户密码不能为空");
} else {
$("#password_msg").html("√");
}
});
//在id为repassword的元素失去焦点时进行密码的验证
$("#repw").blur(function() {
if (ifnull($(this).val())) {
$("#repassword_msg").html("请确认密码");
} else {
if ($("#pw").val() != $("#repw").val()) {
$("#repassword_msg").html("两次密码不一致");
} else {
$("#repassword_msg").html("√");
}
}
});
})
</script>
</html>
jdbc.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JDBC测试页面</title>
</head>
<body>
<h1>jdbc操作数据库的测试代码:初学写一步运行一 步以便知道哪里有问题,不要写完了才运行</h1><hr>
<%
//1-加载数据库驱动程序(如果有异常,要么是项目的lib下没有放数据库驱动,要么就是13行单词错了)
String className ="com.mysql.jdbc.Driver";
Class.forName(className);
//2-连接数据库(17- 19行访问数据库需要的信息通常是放在配置文件中,由程序读取,初学写死在程序中)
String url = "jdbc:mysql://localhost:3306/news_management?CharacterEncoding=UTF-8";//news__db是数据库的名字
String user = "root";// 访问数据库服务器的账号
String password = "123456";//访问数据库服务器的密码
Connection conn = DriverManager.getConnection(url,user, password);
//3-创建发送sql命令的陈述
Statement stmt = conn.createStatement();
//4-构造sq1命令并发送到数据库执行(初学的时候先在mysqlfront里把sql命令写好,没有问题后再贴到这里来)
//String sql = "update user set pass= '123456' where uid=1;";
//String sql = "DELETE from user where uid=1;";
String sql = "INSERT INTO USER (uname, pass, sex, profession, favourite )VALUES( '001', '666', '1', '教师', '影视娱乐' );";//这里有问题
int result = stmt.executeUpdate(sql);
//5-处理结果.
if(result >= 0){
out.print("添加用户成功");
}else{
out.print("添加用户夫败");
}
//6-关闭数据库,释放资源
stmt.close();
conn.close();
%>
</body>
</html>
退出登录
<%@ 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>
<%
// String id=(String) session.getAttribute("id"); //获取保存在session变量中的账号
Object number=application.getAttribute("i");
session.removeAttribute("uname");
int i=Integer.parseInt(number.toString());
if (i!=0){
i--;
application.setAttribute("i",i);
response.sendRedirect("record.jsp");
}else{
response.sendRedirect("record.jsp");
}
%>
</body>
</html>
jar包
背景图片
添加新闻
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="UserClass.User"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加新闻</title>
<style>
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
width: 100%;
overflow: hidden;
margin: 0;
padding: 0;
}
body {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
/* background-image: url(img/bgc1.jpg); */
}
h1 {
text-align: center;
margin-bottom: 20px;
margin-top: 20px;
color: #f0edf3;
}
p {
margin-top: 10px;
margin-left: 15px;
color: azure;
}
input {
margin-left: 15px;
border-radius: 5px;
border-style: hidden;
height: 30px;
width: 140px;
outline: none;
color: #f0edf3;
padding-left: 10px;
}
#logonDiv {
position: relative;
width: 37%;
display: flex;
justify-content: center;
align-items: center;
height: 500px;
background-color: rgba(75, 81, 95, 0.3);
box-shadow: 7px 7px 17px rgba(52, 56, 66, 0.5);
border-radius: 5px;
}
#title,
#uname,
#pubtime{
position: absolute;
left: 190px;
background-color: rgba(216, 191, 216, 0.5);
}
span {
position: absolute;
left: 355px;
}
.button {
border-color: cornsilk;
background-color: rgba(100, 149, 237, .7);
color: aliceblue;
border-style: hidden;
border-radius: 5px;
width: 100px;
height: 31px;
font-size: 16px;
}
</style>
</head>
<body>
<%
User user=(User)session.getAttribute("user");
%>
<div id="logonDiv">
<form action="../addNewsServlet" method="post">
<h1 style="padding: 20px;">添加新闻</h1>
<p>新闻标题: <input type="text" name="title" id="title" required="required">
<span id="title_msg"></span>
</p>
<p>发布人:<input type="text" name="uname" required="required" id="uname" value="<%=user.getUname()%>">
<span id="uname_msg"></span>
</p>
<%-- <p>发布时间:<input type="text" name="pubtime" required="required" id="pubtime"><span id="tishi"></span>
<span id="pubtime_msg"></span>
</p>--%>
<p>新闻内容:<textarea rows="7" cols="20" name="content" id="content"></textarea></p>
<p style="text-align: center;"><button type="submit" value="发布" class="button">发布</button><button
type="reset" value="取消" class="button">取消</button></p>
<p>
<%--<div style="text-align: center;color: #f0edf3;">取消添加,<a href="newsList.jsp" style="color:red;">返回查询页面</a>
</div>--%>
</p>
</form>
</div>
</body>
<script src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
$(function() {
//是否为空
function ifnull(txt) {
if (txt.length == 0) {
return true;
}
var $reg = /\s+/;
return $reg.test(txt);
}
//在id为password的元素失去焦点时进行密码的验证
$("#title").blur(function() {
if (ifnull($(this).val())) {
$("#title_msg").html("标题不能为空");
} else {
$("#title_msg").html("√");
}
});
$("#uname").blur(function() {
if (ifnull($(this).val())) {
$("#uname_msg").html("发布人不能为空");
} else {
$("#uname_msg").html("√");
}
});
<%--$("#pubtime").blur(function() {
if (ifnull($(this).val())) {
$("#pubtime_msg").html("发布时间不为空");
} else {
$("#pubtime_msg").html("√");
}
});
--%>
})
</script>
</html>
修改新闻内容
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="UserClass.User"%>
<%@page import="java.util.List"%>
<%@page import="UserClass.News"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改新闻</title>
<style>
* {
margin: 0;
padding: 0;
}
html {
height: 100%;
width: 100%;
overflow: hidden;
margin: 0;
padding: 0;
background: url(../img/bgc1.jpg) repeat 0px 0px;
background-repeat: no-repeat;
background-size: 100% 100%;
-moz-background-size: 100% 100%;
}
body {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
/* background-image: url(img/bgc1.jpg); */
}
h1 {
text-align: center;
margin-bottom: 20px;
margin-top: 20px;
color: #f0edf3;
}
p {
margin-top: 10px;
margin-left: 15px;
color: azure;
}
input {
margin-left: 15px;
border-radius: 5px;
border-style: hidden;
height: 30px;
width: 140px;
outline: none;
color: #f0edf3;
padding-left: 10px;
}
#logonDiv {
position: relative;
width: 37%;
display: flex;
justify-content: center;
align-items: center;
height: 500px;
background-color: rgba(75, 81, 95, 0.3);
box-shadow: 7px 7px 17px rgba(52, 56, 66, 0.5);
border-radius: 5px;
}
#title,
#uname,
#pubtime{
position: absolute;
left: 190px;
background-color: rgba(216, 191, 216, 0.5);
}
span {
position: absolute;
left: 355px;
}
.button {
border-color: cornsilk;
background-color: rgba(100, 149, 237, .7);
color: aliceblue;
border-style: hidden;
border-radius: 5px;
width: 100px;
height: 31px;
font-size: 16px;
}
</style>
</head>
<body>
<%
User user=(User)session.getAttribute("user");
List<News> List = (List)session.getAttribute("list");//add
//ResultSet rs = (ResultSet)session.getAttribute("rs");
//if(rs == null){
if(List == null){
return;
}
%>
<div id="logonDiv">
<form action="./updateNewsServlet?nid=${news.nid }" method="post">
<h1 style="padding: 20px;">修改新闻</h1>
<p>新闻标题: <input type="text" name="title" id="title" required="required" value="${news.title }">
<span id="title_msg"></span>
</p>
<p>新闻内容:<textarea rows="7" cols="20" name="content" id="content">${news.content }</textarea></p>
<p style="text-align: center;"><button type="submit" value="修改" class="button">修改</button><button
type="reset" value="取消" class="button">取消</button></p>
<p>
<div style="text-align: center;color: #f0edf3;">取消修改<a href="./news/newsList.jsp" style="color:red;">返回查询页面</a>
</div>
</p>
</form>
</div>
</body>
<script src="../js/jquery-3.6.0.js"></script>
<script type="text/javascript">
$(function() {
//是否为空
function ifnull(txt) {
if (txt.length == 0) {
return true;
}
var $reg = /\s+/;
return $reg.test(txt);
}
//在id为password的元素失去焦点时进行密码的验证
$("#title").blur(function() {
if (ifnull($(this).val())) {
$("#title_msg").html("标题不能为空");
} else {
$("#title_msg").html("√");
}
});
})
</script>
</html>
新闻管理
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="UserClass.User"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>iframe</title>
<style>
html {
background: url(../img/bgc2.jpg);
}
#newsTop {
width: 100%;
height: 15%;
background-color: rgba(221, 210, 227, 0.7);
}
#newsLeft {
width: 15%;
height: 763px;
float: left;
background-color: rgba(202, 186, 215, 0.7);
}
#newsContent {
width: 84%;
height: 763px;
margin-left: 1%;
background-color: rgba(171, 170, 210, 0.7);
}
</style>
<body>
<div>
<iframe id="newsTop" name="newsTop" frameborder="0" src="newsHead.jsp"></iframe>
<iframe id="newsLeft" name="newsLeft" frameborder="0" src="newsLeft.jsp"></iframe>
<iframe id="newsContent" name="newsContent" frameborder="0"></iframe>
</div>
</body>
</html>
新闻头部
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="UserClass.User"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
ul li {
list-style: none;
}
ul li:first-child{
width: 175px;
position: absolute;
right: 25px;
}
ul{
position: absolute;
right: 100px;
}
a {
text-decoration:none;
color: black;}
a:hover{
text-decoration:none;
cursor:pointer
}
.return_main{
position: relative;
left:15px;
top: 25px;
height: 22px;
width: 85px;
text-align: center;
background-color: rgba(75, 81, 95, 0.3);
box-shadow: 7px 7px 17px rgba(52, 56, 66, 0.5);
border-radius: 5px;
}
.quit{
height: 22px;
width: 50px;
text-align: center;
background-color: rgba(75, 81, 95, 0.3);
box-shadow: 7px 7px 17px rgba(52, 56, 66, 0.5);
border-radius: 5px;
}
</style>
</head>
<body>
<%
User user=(User)session.getAttribute("user");
%>
<div class="return_main"><a href="../Homepage.jsp" target="_parent"><-返回首页</a></li>
</div>
<ul>
<li><%="【"+user.getUname()+"】"%>你好!</li>
<li><a href="../exit.jsp" target="_parent" class="quit">退出</a></li>
</ul>
</body>
</html>
新闻(Left)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="UserClass.User"%>
<!DOCTYPE html>
<html>
<head>
<title>left</title>
<style>
div{
border: 2px solid #33333377;
border-radius: 5px;
text-align: center;
width:150px;
height: 60px;
line-height: 30px;
}
a {
text-decoration:none;
color: black;
}
a:hover{
text-decoration:none;
cursor:pointer
}
</style>
</head>
<body>
<%
User user=(User)session.getAttribute("user");
%>
<div>
<a href="newsList.jsp" target="newsContent">新闻列表</a>
<br />
<a href="addNews.jsp" target="newsContent">添加新闻</a>
<br />
</div>
</body>
</html>
新闻List
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="UserClass.User"%>
<%@page import="java.util.List"%>
<%@page import="UserClass.News"%>
<%@page import="com.sun.corba.se.spi.*"%>
<%@page import="com.sun.crypto.*"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!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>
</head>
<body>
<%
User user=(User)session.getAttribute("user");
News news = (News)request.getAttribute("news");
%>
<center>
<h2>新闻发布系统>>新闻管理>>管理新闻</h2><hr color ="black">
<form action="../selectNewsServlet" method="post">
新闻查询:<input type="text" name="title" placeholder="请输入标题">
<input type="button" value="批量删除" onClick="batch()" />
<input type="submit" value="查询">
</form>
</center>
<%
List<News> List = (List)session.getAttribute("list");//add
session.setAttribute("list",List);
//ResultSet rs = (ResultSet)session.getAttribute("rs");
//if(rs == null){
if(List == null){
return;
}
%>
<!-- nid,title,content,uid,putime,isValid -->
<table border="1" cellpading="0" cellSpacing="0" align="center" width="700px">
<tr>
<td>操作</td>
<td>新闻编号</td>
<td>新闻标题</td>
<td>发布者</td>
<td>发布时间</td>
<td>状态</td>
<td>查看</td>
<%
if(user.getType()==1){
%>
<td>修改状态</td>
<td>修改内容</td>
<td>删除新闻</td>
<% } %>
</tr>
<%
User currentUser=(User) request.getSession().getAttribute("user");
System.out.println(currentUser);
user.setUname(currentUser.getUname());
%>
<c:forEach var="news" items="${sessionScope.list}">
<tr>
<td><input name="checkbox" type="checkbox" value="${news.nid}"></td>
<td>${news.nid }</td>
<td>${news.title }</td>
<%--<td>${news.uid}</td> --%>
<td>${user.uname}</td>
<td>${news.pubtime }</td>
<td>
<c:if test="${news.isValid==0 }">无效</c:if>
<c:if test="${news.isValid==1 }">有效</c:if>
</td>
<td>
<a href="../seeContentServlet?nid=${news.nid}">查看</a>
</td>
<%
if(user.getType()==1){
%>
<td>
<a href="../change_NewsisValid?nid=${news.nid}&isValid=${news.isValid}">修改状态</a>
<td>
<a href="../changeNewsContentServlet?nid=${news.nid}">修改内容</a>
</td>
<td>
<a href="../deleteNewsServlet?nid=${news.nid}">删除新闻</a>
</td>
<%
}
%>
</tr>
</c:forEach>
</table>
<script type="text/javascript">
function batch() {
if (confirm("确认删除?")) {
var boxarray = "";
var box = document.getElementsByName("checkbox");
for (var i = 0; i < box.length; i++) {
if (box[i].checked) {
boxarray += "" + box[i].value + ",";
}
}
if (boxarray.length > 1) {
boxarray = boxarray.substring(0, boxarray.length - 1);
}
if (boxarray.length > 0) {
window.location.href = "./deleteBatchNewsServlet?boxarray=" + boxarray;
} else {
alert("请选择你要删除的信息!");
}
} else {
return;
}
}
//function confirmDel(str){
//return confirm(str);
//}
</script>
</body>
</html>
查看新闻内容
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.List"%>
<%@page import="UserClass.News"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<style type="text/css">
* {
padding: 0 auto;
margin: 0 auto;
}
.news {
width: 1000px;
margin: 0 auto;
/* 水平居中 */
height: 763px;
background-color: rgba(180, 147, 194, 0.7);
}
.news1 {
widows: 600px;
/* background-color: #e9e9e9; */
background-repeat: no-repeat;
background-position: top center;
background-attachment: fixed;
}
h2 {
line-height: 100px;
}
.news3 {
text-align: center;
line-height: 80px;
}
.news4 {
width: 817px;
margin: auto;
line-height: 35px;
text-indent: 2em;
}
.news5 {
width: 800px;
margin: auto;
line-height: 300px;
}
</style>
<script type="text/javascript">
function jumpback() {
window.history.go(-1);
}
</script>
</head>
<body>
<%
News news = (News)request.getAttribute("news");
%>
<div class="news">
<div class="news1">
<div class="news2">
<h2 class="news3">
${news.title}
</h2>
</div>
<hr>
<div class="news4">
<span>作者:${user.uname}</span>
<span>发布日期:${news.pubtime}</span>
<p>${news.content}</p>
<a href="javascript:void(0)" onclick="jumpback()" class="pull-right"></a>
</div>
</div>
</div>
</body>
</html>