电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java web實(shí)現(xiàn)簡(jiǎn)單留言板功能

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

本文實(shí)例為大家分享了java web實(shí)現(xiàn)簡(jiǎn)單留言板的具體代碼,供大家參考,具體內(nèi)容如下

一、目標(biāo)

用戶可以登錄并記住密碼進(jìn)入留言板,添加留言,點(diǎn)擊留言列表中的標(biāo)題可顯示該條留言全部?jī)?nèi)容。

二、相關(guān)知識(shí)

1、使用Cookie實(shí)現(xiàn)自動(dòng)登錄

用戶第一次登錄網(wǎng)站,服務(wù)器將用戶名和密碼以Cookie的形式發(fā)送到客戶端。當(dāng)客戶之后再次訪問(wèn)該網(wǎng)站時(shí),瀏覽器自動(dòng)將Cookie文件中的用戶名和密碼隨請(qǐng)求一起發(fā)送到服務(wù)器,服務(wù)器從Cookie中取出用戶名和密碼并且通過(guò)驗(yàn)證。

2、java類的定義與使用

定義java類時(shí)注意屬性的定義、構(gòu)造方法的重寫,定義兩個(gè)方法,一個(gè)是訪問(wèn)方法(getter),一個(gè)是修改方法(setter)。

三、實(shí)現(xiàn)思路

1、登錄

輸入用戶名、密碼登錄,對(duì)應(yīng)檢測(cè)登錄BoardLoginServlet可實(shí)現(xiàn)記住登錄信息 Cookie實(shí)現(xiàn)登錄成功顯示留言板標(biāo)題列表頁(yè)面board-title.jsp,登錄失敗返回登錄頁(yè)面

2、顯示留言標(biāo)題

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

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

頁(yè)面下方有新增留言的鏈接,點(diǎn)擊后跳轉(zhuǎn)到寫留言頁(yè)面

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

3、添加留言

輸入標(biāo)題、內(nèi)容 post給WriteServlet

4、顯示留言具體信息

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

四、代碼實(shí)現(xiàn)

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.hdgsjgj.cn/bcjs/board-write.jsp' rel='external nofollow' rel='external nofollow' >新增留言</a>

boarrd-write.jsp

<form action='write.do' method='post'> 標(biāo)題:<input type='text' name='title'/><br> 內(nèi)容:<input type='text' name='text'/><br> <input type='submit'/></form>

board-message.jsp

<h2>留言詳情</h2> 用戶名:${name}<br> 標(biāo)題:${title}<br> 內(nèi)容:${text}<br> 時(shí)間:${date}<br>

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

package board;import java.util.Date;public class Message { private String title;//標(biāo)題 private String time;//時(shí)間 private String username;//用戶名 private String text;//內(nèi)容 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類對(duì)象 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(); //用戶名存儲(chǔ)到session中 String username =(String)session.getAttribute('username'); String title = request.getParameter('title'); String text = request.getParameter('text'); //獲取當(dāng)前時(shí)間 SimpleDateFormat formatter= new SimpleDateFormat('yyyy-MM-dd ’at’ HH:mm:ss'); Date date = new Date(System.currentTimeMillis()); String time = formatter.format(date); //在messages列表中添加留言對(duì)象 messages.add(new Message(title,time,username,text)); context.setAttribute('messages',messages); String list = new String(); //list中存放留言用戶名+留言標(biāo)題,標(biāo)題為鏈接,可跳轉(zhuǎn)到留言具體信息,并傳參title list = username+':'+'<a href=’MessageServlet?title='+title+'’target=’_parent’>'+title+'</a>'; String lists = new String(); //將留言標(biāo)題列表信息存到上下文對(duì)象 if(context.getAttribute('lists')!=null){ lists = context.getAttribute('lists') + list + '<br>'; } else{ lists = list + '<br>'; } context.setAttribute('lists', lists); request.setAttribute('lists', lists); //轉(zhuǎn)發(fā) 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'); //獲取鏈接中的參數(shù)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; } } //將留言信息轉(zhuǎn)發(fā)到board-message.jsp RequestDispatcher dispatcher = request.getRequestDispatcher('/board-message.jsp'); dispatcher.forward(request, response); }}

(以上僅為部分代碼)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 黑田精工电磁阀-CAMMOZI气缸-ROSS电磁-上海茂硕机械设备有限公司 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 加中寰球移民官网-美国移民公司,移民机构,移民中介,移民咨询,投资移民 | 广东成考网-广东成人高考网| 空心明胶胶囊|植物胶囊|清真胶囊|浙江绿键胶囊有限公司欢迎您! | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 浙江寺庙设计-杭州寺院设计-宁波寺庙规划_汉匠 | 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 螺杆泵_中成泵业| 酒店厨房设计_中央厨房设计_北京商用厨房设计公司-奇能商厨 | 低温柔性试验仪-土工布淤堵-沥青车辙试验仪-莱博特(天津)试验机有限公司 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 篷房|仓储篷房|铝合金篷房|体育篷房|篷房厂家-华烨建筑科技官网 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | LNG鹤管_内浮盘价格,上装鹤管,装车撬厂家-连云港赛威特机械 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 精准猎取科技资讯,高效阅读科技新闻_科技猎 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 工业铝型材-铝合金电机壳-铝排-气动执行器-山东永恒能源集团有限公司 | 深圳活动策划公司|庆典策划|专业公关活动策划|深圳艺典文化传媒 重庆中专|职高|技校招生-重庆中专招生网 | 无线对讲-无线对讲系统解决方案-重庆畅博通信 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 免费B2B信息推广发布平台 - 推发网| 楼梯定制_楼梯设计施工厂家_楼梯扶手安装制作-北京凌步楼梯 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 |