留言板功能的实现
- 目录展示
- 代码逻辑
- 用户登录
- 用户注册
- 留言板显示
- 删除留言
- 添加留言
- 修改留言
- 代码实现
本文承接上文你品,你细品留言板功能的总结,本人新手有代码可以优化的地方法,欢迎大家指出。
已上传github,有需要的可以看一下
目录展示
dao层:数据库连接层
domain:实体类
service层:业务层
test层:测试代码层
util层:工具层
web.servlet:主要是用来转发页面的
代码逻辑
用户登录
login.jsp---> LoginServlet(获取用户的账号及密码进行校验)-->
1.登录成功,进入NewsListServlet
2.登录失败,进入login.jsp进行回显
用户注册
regist.jsp --> RegistServlet(获取用户的账号及密码进行注册)-->可以选择进行登录
留言板显示
通过NewListServlet获取到数据库的list信息--> 在list.jsp中进行显示
删除留言
点击删除按钮-->DelNewsservlet(调用service数据库的删除)-->NewsListServlet-->list.jsp
添加留言
点击添加按钮-->填充留言板内容-->AddNewsServlet-->NewsListServlet-->list.jsp
修改留言
这个相对来说就比较复杂一点了,首先要进行信息的回显
更改按钮--> FindNewsList-->update.jsp
修改留言 : 确定按钮-->UpdateNewsServlet-->NewsListServlet-->list..jsp
代码实现
login.jsp
<%--
Created by IntelliJ IDEA.
User: 张振东
Date: 2020/4/12
Time: 21:19
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>留言板---登录界面</title>
<style>
.td_left{
padding-top: 50px;
width: 100px;
text-align: right;
height: 45px;
}
.td_right{
/* 本身就是表格,就是内边距*/
padding-left:50px ;
padding-top: 50px;
}
#username,#password{
width: 251px;
height: 33px;
border: 1px solid ;
/* 边框圆角*/
border-radius: 5px;
padding-left: 10px;
}
.rg_layout {
width: 1000px;
height: 700px;
background: white;
border: 8px solid #EEEEEE;
/*div居中*/
margin: auto;
margin-top: 20px;
}
.rg_left {
float: left;
margin-top: 15px;
}
.rg_center {
margin-left: 200px;
margin-top: 10px;
/*border: 1px solid #FF0000;*/
float: left;
width: 450px;
}
.rg_right {
margin: 15px;
float: right;
}
*{
margin: 0px;
padding: 0px;
box-sizing: border-box;
}
.rg_left >p:first-child{
color: red;
font-size: 20px;
}
.rg_left >p:last-child{
color: #A6A6A6;
font-size: 20px;
}
.rg_right p{
font-size: 15px;
}
.rg_right p a{
color: pink;
}
#btn_submit{
width: 150px;
height: 50px;
margin-top: 50px;
border:1px solid yellow;
background-color: yellow;
}
</style>
<script>
var error='<%=request.getParameter("error")%>';
if(error=='yes'){
alert("登录失败");
}
</script>
</head>
<body>
<div class="rg_layout">
<div class="rg_left">
<p>留言板用户登录</p>
<p>USER LOGIN</p>
</div>
<div class="rg_center">
<div class="rg_from">
<form action="loginServlet" method="post">
<table border="0">
<tr>
<td class="td_left"><label for="username">用户名</label></td>
<td class="td_right"><input type="text" name="username" id="username" placeholder="请输入账号名称"></td>
</tr>
<tr>
<td class="td_left"><label for="password">密码</label></td>
<td class="td_right"><input type="password" name="password" id="password" placeholder="请输入密码"></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" value="登录" id="btn_submit"></td>
</tr>
</table>
</form>
</div>
</div>
<div class="rg_right">
<p>还未注册?<a href="regist.jsp">赶快去注册</a></p></div>
</div>
<footer>
<center>
<font size=5px" color="#a9a9a9" face="楷体">©️1813004745张振东 </font><font color="red" size="5px"><a href="admin.jsp">管理后台</a></font>
</center>
</footer>
</body>
</html>
regist.jsp
<%--
Created by IntelliJ IDEA.
User: 张振东
Date: 2020/4/12
Time: 21:19
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>留言板---注册界面</title>
<style>
.td_left{
padding-top: 50px;
width: 100px;
text-align: right;
height: 45px;
}
.td_right{
/* 本身就是表格,就是内边距*/
padding-left:50px ;
padding-top: 50px;
}
#username,#password{
width: 251px;
height: 33px;
border: 1px solid ;
/* 边框圆角*/
border-radius: 5px;
padding-left: 10px;
}
.rg_layout {
width: 1000px;
height: 700px;
background: white;
border: 8px solid #EEEEEE;
/*div居中*/
margin: auto;
margin-top: 20px;
}
.rg_left {
float: left;
margin-top: 15px;
}
.rg_center {
margin-left: 200px;
margin-top: 10px;
/*border: 1px solid #FF0000;*/
float: left;
width: 450px;
}
.rg_right {
margin: 15px;
float: right;
}
*{
margin: 0px;
padding: 0px;
box-sizing: border-box;
}
.rg_left >p:first-child{
color: red;
font-size: 20px;
}
.rg_left >p:last-child{
color: #A6A6A6;
font-size: 20px;
}
.rg_right p{
font-size: 15px;
}
.rg_right p a{
color: pink;
}
#btn_submit{
width: 150px;
height: 50px;
margin-top: 50px;
border:1px solid yellow;
background-color: yellow;
}
</style>
<script>
var error1='<%=request.getParameter("error")%>';
if(error1=='no'){
alert("注册成功");
}
if(error1=='yes'){
alert("注册失败");
}
</script>
</head>
<body>
<div class="rg_layout">
<div class="rg_left">
<p>留言板用户注册</p>
<p>USER REGISTER</p>
</div>
<div class="rg_center">
<div class="rg_from">
<form action="registServlet" method="post">
<table border="0">
<tr>
<td class="td_left"><label for="username">用户名</label></td>
<td class="td_right"><input type="text" name="username" id="username" placeholder="请输入账号"></td>
</tr>
<tr>
<td class="td_left"><label for="password">密码</label></td>
<td class="td_right"><input type="password" name="password" id="password" placeholder="请输入密码"></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" value="注册" id="btn_submit" ></td>
</tr>
</table>
</form>
</div>
</div>
<div class="rg_right">
<p>注册成功?<a href="login.jsp">立即登录</a></p></div>
</div>
</body>
</html>
LoginServlet
package cn.zzd.web.servlet;
import cn.zzd.dao.impl.UserDaoImpl;
import cn.zzd.domain.User;
import cn.zzd.service.UserService;
import cn.zzd.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author 张振东
* @version V1.0
* @Title:
* @Package
* @Description: (用一句话描述该文件做什么)
* @date:
*/
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码
req.setCharacterEncoding("utf-8");
//获取请求参数
String username=req.getParameter("username");
String password=req.getParameter("password");
//封装user对象
User loginUser = new User();
loginUser.setPassword(password);
loginUser.setUsername(username);
//获取所有请求参数
UserService userService = new UserServiceImpl();
User user =userService.login(loginUser);
if(user==null){
//登录失败
resp.sendRedirect("login.jsp?error=yes");
}else{
//登录成功
//存储数据
req.setAttribute("username",username);
req.getRequestDispatcher("/newsListServlet?username="+username).forward(req,resp);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req,resp);
}
}
RegistServlet:
package cn.zzd.web.servlet;
import cn.zzd.dao.impl.UserDaoImpl;
import cn.zzd.domain.User;
import cn.zzd.service.UserService;
import cn.zzd.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author 张振东
* @version V1.0
* @Title:
* @Package
* @Description: (用一句话描述该文件做什么)
* @date:
*/
@WebServlet("/registServlet")
public class RegistServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置编码
request.setCharacterEncoding("utf-8");
//获取请求参数
String username=request.getParameter("username");
String password=request.getParameter("password");
//封装user对象
User registUser = new User();
registUser.setPassword(password);
registUser.setUsername(username);
//获取所有请求参数
UserService userService = new UserServiceImpl();
int result =userService.regist(registUser);
if(result!=0){
response.sendRedirect("regist.jsp?error=no");
}else{
response.sendRedirect("regist.jsp?error=yes");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
NewsListServlet:
package cn.zzd.web.servlet;
import cn.zzd.domain.News;
import cn.zzd.service.NewsService;
import cn.zzd.service.impl.NewsServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
* @author 张振东
* @version V1.0
* @Title:
* @Package
* @Description: (用一句话描述该文件做什么)
* @date:
*/
@WebServlet("/newsListServlet")
public class NewsListServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
NewsService service = new NewsServiceImpl();
List<News> news = service.findall();
request.setAttribute("news", news);
//System.out.println(request.getParameter("username"));
if ("1813004745".equals(request.getParameter("username"))||request.getParameter("username")==null) {
request.getRequestDispatcher("/list2.jsp").forward(request, response);
} else {
request.getRequestDispatcher("/list.jsp?username=" + request.getParameter("username")).forward(request, response);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
更多的代码可以去我的github看看!!!
长路漫漫,JAVA为伴!!!