国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java web實現簡單留言板功能

瀏覽:4日期:2022-08-20 15:13:19

本文實例為大家分享了java web實現簡單留言板的具體代碼,供大家參考,具體內容如下

一、目標

用戶可以登錄并記住密碼進入留言板,添加留言,點擊留言列表中的標題可顯示該條留言全部內容。

二、相關知識

1、使用Cookie實現自動登錄

用戶第一次登錄網站,服務器將用戶名和密碼以Cookie的形式發送到客戶端。當客戶之后再次訪問該網站時,瀏覽器自動將Cookie文件中的用戶名和密碼隨請求一起發送到服務器,服務器從Cookie中取出用戶名和密碼并且通過驗證。

2、java類的定義與使用

定義java類時注意屬性的定義、構造方法的重寫,定義兩個方法,一個是訪問方法(getter),一個是修改方法(setter)。

三、實現思路

1、登錄

輸入用戶名、密碼登錄,對應檢測登錄BoardLoginServlet可實現記住登錄信息 Cookie實現登錄成功顯示留言板標題列表頁面board-title.jsp,登錄失敗返回登錄頁面

2、顯示留言標題

標題列表為上下文變量lists,其中標題為鏈接,點擊可顯示留言具體信息界面(跳轉到MessageServlet處理)。

list = username+':'+'<a href=’MessageServlet?title='+title+'’target=’_parent’>'+title+'</a>';

頁面下方有新增留言的鏈接,點擊后跳轉到寫留言頁面

<a href='http://www.cgvv.com.cn/bcjs/board-write.jsp' rel='external nofollow' rel='external nofollow' >新增留言</a>

3、添加留言

輸入標題、內容 post給WriteServlet

4、顯示留言具體信息

在MessageServlet中遍歷查找留言并傳遞變量,顯示留言信息在board-message.jsp

四、代碼實現

board-login.jsp

<form action='board.do' method='post'> <br> <h1 >登錄界面</h1> 昵稱:<input type='text' name='username' value='${cookie.username.value}'/><br> 密碼:<input type='password' name='password' value='${cookie.password.value}'/><br><br> <input type='checkbox' name='check' value='check'/>記住密碼<br> <br> <input type='submit' value='登錄'/> <input type='reset' value='取消'/></form>

board-title.jsp

<h2>留言板</h2> ${lists}<a href='http://www.cgvv.com.cn/bcjs/board-write.jsp' rel='external nofollow' rel='external nofollow' >新增留言</a>

boarrd-write.jsp

<form action='write.do' method='post'> 標題:<input type='text' name='title'/><br> 內容:<input type='text' name='text'/><br> <input type='submit'/></form>

board-message.jsp

<h2>留言詳情</h2> 用戶名:${name}<br> 標題:${title}<br> 內容:${text}<br> 時間:${date}<br>

Message.java(將留言信息存儲在Message類中)

package board;import java.util.Date;public class Message { private String title;//標題 private String time;//時間 private String username;//用戶名 private String text;//內容 public Message(){} //初始化 public Message(String title,String time,String username,String text){ this.title = title; this.time = time; this.username = username; this.text = text; } public String getTitle(){ return title; } public String getUsername(){ return username; } public String getTime(){ return time; } public String getText(){ return text; }}

BoardLoginServlet.java(用Cookie登錄)

package board;import javax.servlet.ServletException;import javax.servlet.http.*;import java.io.IOException;@javax.servlet.annotation.WebServlet(name = 'BoardLoginServlet',urlPatterns = '/board.do')public class BoardLoginServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType('text/html;charset = utf-8'); request.setCharacterEncoding('UTF-8'); HttpSession session=request.getSession(); String username = request.getParameter('username').trim(); String password = request.getParameter('password').trim(); session.setAttribute('username',username); if (!(username.equals('admin') &&password.equals('admin'))&&!(username.equals('123') &&password.equals('123'))) { response.sendRedirect('board-login.jsp'); } else { if ((request.getParameter('check') != null) && (request.getParameter('check').equals('check'))) { Cookie nameCookie = new Cookie('username', username); Cookie pswdCookie = new Cookie('password', password); nameCookie.setMaxAge(60 * 60); pswdCookie.setMaxAge(60 * 60); nameCookie.setPath('/'); pswdCookie.setPath('/'); response.addCookie(nameCookie); response.addCookie(pswdCookie); String value1 = '', value2 = ''; Cookie cookie = null; Cookie[] cookies = request.getCookies(); if (cookies != null) { for (int i = 0; i < cookies.length; i++) { cookie = cookies[i]; if (cookie.getName().equals('username')) value1 = cookie.getValue(); if (cookie.getName().equals('password')) value2 = cookie.getValue(); } if (value1.equals('admin') && value2.equals('admin')||value1.equals('123') && value2.equals('123')) { response.sendRedirect('board-title.jsp'); } else { response.sendRedirect('board-login.jsp'); } } } else { response.sendRedirect('board-title.jsp'); } } }}

WriteServlet.java(新增留言)

package board;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;@WebServlet(name = 'WriteServlet',urlPatterns = '/write.do')public class WriteServlet extends HttpServlet { //messages列表中存放Message類對象 public List<Message> messages = new ArrayList<Message>(); protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType('text/html;charset=utf-8'); ServletContext context = request.getServletContext(); HttpSession session = request.getSession(); //用戶名存儲到session中 String username =(String)session.getAttribute('username'); String title = request.getParameter('title'); String text = request.getParameter('text'); //獲取當前時間 SimpleDateFormat formatter= new SimpleDateFormat('yyyy-MM-dd ’at’ HH:mm:ss'); Date date = new Date(System.currentTimeMillis()); String time = formatter.format(date); //在messages列表中添加留言對象 messages.add(new Message(title,time,username,text)); context.setAttribute('messages',messages); String list = new String(); //list中存放留言用戶名+留言標題,標題為鏈接,可跳轉到留言具體信息,并傳參title list = username+':'+'<a href=’MessageServlet?title='+title+'’target=’_parent’>'+title+'</a>'; String lists = new String(); //將留言標題列表信息存到上下文對象 if(context.getAttribute('lists')!=null){ lists = context.getAttribute('lists') + list + '<br>'; } else{ lists = list + '<br>'; } context.setAttribute('lists', lists); request.setAttribute('lists', lists); //轉發 RequestDispatcher dispatcher = request.getRequestDispatcher('/board-title.jsp'); dispatcher.forward(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}

MessageServlet.java

package board;import com.sun.net.httpserver.HttpContext;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;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.io.PrintWriter;import java.util.ArrayList;import java.util.List;@WebServlet(name = 'MessageServlet',urlPatterns = '/MessageServlet')public class MessageServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType('text/html;charset=utf-8'); ServletContext context = request.getServletContext(); List<Message> messages = new ArrayList<Message>(); //獲取列表 messages = (List<Message>)context.getAttribute('messages'); //獲取鏈接中的參數title String title =request.getParameter('title'); String name = new String(); String date = new String(); String text = new String(); //遍歷列表,查找該title的具體信息 for(Message message : messages){ if((message.getTitle()).equals(title)){ name = message.getUsername(); date = message.getTime(); text = message.getText(); title = message.getTitle(); request.setAttribute('name',name); request.setAttribute('title',title); request.setAttribute('text',text); request.setAttribute('date',date); break; } } //將留言信息轉發到board-message.jsp RequestDispatcher dispatcher = request.getRequestDispatcher('/board-message.jsp'); dispatcher.forward(request, response); }}

(以上僅為部分代碼)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 香港三级日本三级妇人三级 | 狠狠色丁香婷婷综合久久来 | 韩国福利影视一区二区三区 | 国产成综合 | 日韩毛片高清免费 | 欧美国产综合在线 | 国产国语高清在线视频二区 | 久久爱一区 | 亚洲一区欧美 | 国产精品久久久久久网站 | 亚洲香蕉影院 | 欧美在线区 | 亚洲精品国产经典一区二区 | 国内精品伊人久久久久妇 | 男人天堂中文字幕 | 国产成人精品视频免费 | 超矿碰人人超人人看 | 亚洲综合爱久久影院 | 久久93精品国产91久久综合 | 日本一区二区三区在线 视频 | 91 久久| 久久久亚洲国产精品主播 | 巨乳女上司 | 天堂色视频| 国产免费午夜a无码v视频 | 久久久久综合给合狠狠狠 | 日韩专区亚洲国产精品 | 一级一毛片a级毛片欧美 | 日本一级高清片免费 | 俺来也俺来也天天夜夜视频 | 欧美1 | 欧美一级第一免费高清 | 碰碰碰精品视频在线观看 | 69交性视频| 久久六视频 | 国产一级做性视频 | 欧美成人一区二区三区 | 在线视频 国产交换 | 深夜福利视频在线观看免费视频 | 亚洲国产成+人+综合 | 老司机精品影院一区二区三区 |