jsp 实验16 MVC 表白墙

源代码以及执行结果截图:

ExpressWish_Bean.java

package web;

import java.util.HashMap;
import java.util.ArrayList;
import java.util.Iterator;
public class ExpressWish_Bean { 
    public HashMap<String,ExpressWish> wishList; 
    ArrayList<ExpressWish> wishes;
    public ExpressWish_Bean(){
        wishList = new HashMap<String,ExpressWish>();
        wishes = new ArrayList<ExpressWish>();
    }
    public void addExpressWish(String id,ExpressWish expressWish){
        wishList.put(id,expressWish);
        putToArrays(wishList);
    }
    public void removeExpressWish(String id){
        wishList.remove(id);
        putToArrays(wishList);
    }
    public String getId(int index) {
       return wishes.get(index).getId();
    }
    public String getPeopleName(int index) {
       return wishes.get(index).getPeopleName();
    }
    public String getTitle(int index){
        return wishes.get(index).getTitle(); 
    }
    public String getContent(int index){
        return wishes.get(index).getContent(); 
    }
    public String getDateTime(int index){
        return wishes.get(index).getDateTime();  
    }
    public int size() {
        return wishes.size();
    }
    void putToArrays(HashMap<String,ExpressWish> list){
        wishes.clear();
        Iterator<ExpressWish> iterator = list.values().iterator();
        while(iterator.hasNext()){
            ExpressWish wish = iterator.next();
            wishes.add(wish); 
        }
    }
}

 

ExpressWish.java

package web;

public class ExpressWish {

String contents;

String title;

String dateTime;

String peopleName;

String id;

public void setId(String id) {

this.id = id;

}

public String getId() {

return id;

}

public void setPeopleName(String s) {

peopleName = s;

}

public String getPeopleName() {

return peopleName;

}

public void setContent(String s) {

contents = s;

}

public String getContent() {

return contents;

}

public void setTitle(String s) {

title = s;

}

public String getTitle() {

return title;

}

public void setDateTime(String s) {

dateTime = s;

}

public String getDateTime() {

return dateTime;

}

}

ExpressWish_Servlet.java

package text;

import web.ExpressWish;

import web.ExpressWish_Bean;

import java.util.*;

import java.io.*;

import java.time.LocalDateTime;

import javax.servlet.*;

import javax.servlet.http.*;

@SuppressWarnings("unused")

public class ExpressWish_Servlet extends HttpServlet{

/**

*

*/

private static final long serialVersionUID = 1L;

int index;

public void init(ServletConfig config) throws ServletException{

super.init(config);

}

synchronized long getIndex() {

index = index+1;

return index;

}

public void service(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

request.setCharacterEncoding("utf-8");

ExpressWish_Bean wishWallBean = null;

ServletContext application = getServletContext();

wishWallBean = (ExpressWish_Bean)application.getAttribute("wishWallBean");

if(wishWallBean == null ){

wishWallBean = new ExpressWish_Bean();

application.setAttribute("wishWallBean",wishWallBean);

}

String peopleName = request.getParameter("peopleName");

String title = request.getParameter("title");

String content = request.getParameter("contents");

ExpressWish wish = new ExpressWish();

if(peopleName.length()==0||title.length()==0||content.length()==0){

response.sendRedirect("example7-2.jsp");

return;

}

wish.setPeopleName(peopleName);

wish.setTitle(title);

wish.setContent(content);

LocalDateTime dateTime = LocalDateTime.now();

String str = dateTime.toString();

String time =str.substring(0,str.lastIndexOf("."));

wish.setDateTime(time);

long number = getIndex();

wish.setId(""+number);

wishWallBean.addExpressWish(""+number,wish);

response.sendRedirect("example7-2-show.jsp");

}

}

example7-2.jsp

<%@ page contentType="text/html" %>

<%@ page pageEncoding = "utf-8" %>

<HTML>

<style>

#tom{

font-family:宋体;font-size:18;color:blue

}

</style>

<body bgcolor = #ffccff>

<form action="handleExpress" id="tom" method="post" >

表白者:<input type="text" id = "tom" name="peopleName" size = 28/>

<br>标题:<input type="text" id = "tom" name="title" size = 30/>

<br>内容:<br>

<textArea name="contents" id = "tom" rows="10" cols=36 >

</textArea>

<br><input type="submit" id="tom" value="提交表白" name="submit"/>

</form>

<p id="tom">

<a href="example7-2-show.jsp">查看表白墙</a>

</p></body></HTML>

example7-2-show.jsp

<%@ page contentType="text/html" %>

<%@ page pageEncoding = "utf-8" %>

<jsp:useBean id="wishWallBean" class ="web.ExpressWish_Bean" scope="application"/>

<style>

#tom{

font-family:宋体;font-size:26;color:blue

}

</style>

<HTML><body bgcolor=white>

<table border=1>

<tr><th id=tom>id</th><th id=tom>表白人</th><th id=tom>标题</th>

<th id=tom>时间</th><th id=tom>表白内容</th>

<% for(int i=0;i<wishWallBean.size();i++){

out.print("<tr>");

out.print("<td id=tom>"+wishWallBean.getId(i)+"</td>");

out.print("<td id=tom>"+wishWallBean.getPeopleName(i)+"</td>");

out.print("<td id=tom>"+wishWallBean.getTitle(i)+"</td>");

out.print("<td id=tom>"+wishWallBean.getDateTime(i)+"</td>");

out.print("<td ><textArea rows=5 cols=20 id=tom>"+wishWallBean.getContent(i)+

"</textArea></td>");

out.print("</tr>");

}

%> </table>

<a id =tom href="example7-2.jsp ">去表白</a>

</body></HTML>

example7-2-delete.jsp

<%@ page contentType="text/html" %>

<%@ page pageEncoding = "utf-8" %>

<jsp:useBean id="wishWallBean" class ="web.ExpressWish_Bean" scope="application"/>

<HTML><body bgcolor = pink>

<p style="font-family:宋体;font-size:18;color:blue">

管理员删除表白的页面。

<form action="" method=post >

输入密码:<input type="password" name="password" size=12 /><br>

输入表白id:<input type="text" name="peopleId" size=6 />

<br><input type="submit" name="submit" value="删除"/>

</form>

<% request.setCharacterEncoding("utf-8");

String password=request.getParameter("password");

String id=request.getParameter("peopleId");

if(password == null ) password = "";

if(id == null ) id = "";

if(password.equals("123456")){

wishWallBean.removeExpressWish(id);

}

%>

<a href="example7-2-show.jsp">查看表白墙</a>

</p></body></HTML>

web.xml

<?xml version="1.0" encoding="utf-8"?>

<web-app>

    <!--  以下是web.xml文件新添加的内容 -->

  

    <servlet>

        <servlet-name>handleExpress</servlet-name>

        <servlet-class>web.ExpressWish_Servlet</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>handleExpress</servlet-name>

        <url-pattern>/handleExpress</url-pattern>

    </servlet-mapping>

   

</web-app>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图片公式识别@文档公式识别@表格识别@在线和离线OCR工具

文章目录 abstract普通文字识别本地软件识别公式扩展插件下载小结 在线识别网站/API&#x1f47a;Quicker整合(推荐)可视化编辑和识别公式其他多模态大模型识别图片中的公式排版 开源模型 abstract 本文介绍免费图片文本识别(OCR)工具,包括普通文字识别,公式识别,甚至是手写公…

2024面试自动化测试面试题【含答案】

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

每日Attention学习5——Multi-Scale Channel Attention Module

模块出处 [link] [code] [WACV 21] Attentional Feature Fusion 模块名称 Multi-Scale Channel Attention Module (MS-CAM) 模块作用 通道注意力 模块结构 模块代码 import torch import torch.nn as nnclass MS_CAM(nn.Module):def __init__(self, channels64, r4):super(…

Redis 的数据库管理

Redis 提供了⼏个⾯向 Redis 数据库的操作&#xff0c;分别是 dbsize、select、flushdb、flushall 命令&#xff0c; 我将介绍这些常见的命令。 切换数据库 select dbIndex许多关系型数据库&#xff0c;例如 MySQL ⽀持在⼀个实例下有多个数据库存在的&#xff0c;MySQL 可以…

SQL优化详解

目录 插入数据 insert的优化&#xff08;少量数据&#xff09; 批量插入 手动事务提交 主键顺序插入 插入大量数据 主键优化 数据组织方式&#xff1a; 页分裂&#xff1a; 主键顺序插入的方式&#xff1a; 主键乱序插入&#xff1a; 页合并&#xff1a; 主键设计…

模板引擎Freemarker

什么是模板引擎 根据前边的数据模型分析&#xff0c;课程预览就是把课程的相关信息进行整合&#xff0c;在课程预览界面进行展示&#xff0c;课程预览界面与课程发布的课程详情界面一致。 项目采用模板引擎技术实现课程预览界面。什么是模板引擎&#xff1f; 早期我们采用的…

【有趣的透镜】1.透镜初相识

1.透镜的外形和材料 (1)透镜由玻璃或者塑料制成&#xff1b; (2)透镜一般为圆型&#xff0c;其单面或双面为球面&#xff1b; 2.透镜的类型和折射 (1)球面外凸为凸透镜(聚光)&#xff0c;球面内凹为凹透镜(散光)&#xff1b; (2)透镜是基于光的折射&#xff0c;只要光从一…

Linux的基本指令(下)

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 这篇博客续博主的上篇博客Linux基本指令。 07 …

MATLAB 三维空间中在两点之间等间隔插入多个点 (67)

MATLAB 三维空间中在两点之间等间隔插入多个点 (67) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 用于加密直线点云,具体为根据给定的直线端点,沿着该直线方向,插入多个点,从而加密。具体方法和效果如下所示: 二、算法实现 1.代码 代码如下(示例): % 定…

AlphaFold3: Google DeepMind的的新突破

AlphaFold 3的论文今天在Nature期刊发表啦!这可是AI在生物领域最厉害的突破的最新版本。AlphaFold-3的新招就是用扩散模型去"画出"分子的结构。它一开始先从一团模模糊糊的原子云下手,然后慢慢透过去噪把分子变得越来越清楚。 Alphafold3 我们活在一个从Llama和Sora那…

C# WinForm —— 12 ListBox绑定数据

ListBox加载大量数据时&#xff0c;避免窗体闪烁的方法&#xff1a; 在加载语句的前后分别加上 BeginUpdate()方法 和 EndUpdate()方法 指定一个集合为绑定的数据源 1. 首先&#xff0c;右键项目&#xff0c;添加类 2. 在新建的类文件中添加属性值信息 3. 构建初始化的对象…

跟TED演讲学英文:Teachers need real feedback by Bill Gates

Teachers need real feedback Link: https://www.ted.com/talks/bill_gates_teachers_need_real_feedback Speaker: Bill Gates Date: May 2013 文章目录 Teachers need real feedbackIntroductionVocabularyTranscriptSummary后记 Introduction Until recently, many teach…

MYSQL-8.调优

性能优化思维 整体思维 木桶效应&#xff1a;系统的性能符合木桶效应&#xff08;一个木桶能装多少水&#xff0c;取决于木桶中最短的那块木板&#xff09;&#xff0c;所以性能优化需要从多个方面去考虑&#xff0c;如架构优化、业务优化、前端优化、中间件调优、网关优化、…

Python_AI库 Pandas的loc和iloc的区别与使用实例

Python中Pandas的loc和iloc的区别与使用实例 在Pandas中&#xff0c;loc和iloc是两个常用的方法&#xff0c;用于基于标签&#xff08;label&#xff09;和整数位置&#xff08;integer location&#xff09;来选择数据。尽管两者在功能上有重叠&#xff0c;但它们在用法和性能…

去哪儿网机票服务请求体bella值逆向

作者声明&#xff1a;文章仅供学习交流与参考&#xff01;严禁用于任何商业与非法用途&#xff01;否则由此产生的一切后果均与作者无关&#xff01;如有侵权&#xff0c;请联系作者本人进行删除&#xff01; 一、加密定位 直接全局搜索bella&#xff0c;在可疑的地方下断&…

汇编--栈和寄存器

栈 栈是一种运算受限的线性表&#xff0c;其限定仅在表尾进行插入和删除操作的线性表&#xff0c;表尾也被叫做栈顶。简单概括就是我们对于元素的操作只能够在栈顶进行&#xff0c;也造就了其先进后出的结构特性。 栈 这种内存空间其实本质上有两种操作&#xff1a;将数据放入…

在Ubuntu安装RPM文件

Ubuntu软件源包含数千个deb软件包&#xff0c;可以从Ubuntu软件中心或使用apt命令行安装。 Deb是所有基于Debian的Linux发行版&#xff0c;例如包括Ubuntu&#xff0c;Linux mint等发行版使用的安装包格式。 如果某些软件在Ubuntu软件源中不可用&#xff0c;可以通过启用适当的…

物联网实战--平台篇之(五)账户界面

目录 一、界面框架 二、首页(未登录) 三、验证码登录 四、密码登录 五、帐号注册 六、忘记密码 本项目的交流QQ群:701889554 物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html 物联网实战--驱动篇https://blog.csdn.net/ypp240124016/cat…

物联网网关制造生产全流程揭秘!

如果您正有开发和定制物联网网关的计划&#xff0c;找一个专业的物联网设备厂商协助您制造生产物联网网关可以节省大量时间和成本&#xff0c;可以让您能专注于当前核心业务&#xff0c;而无需将精力过多地投入到自己不擅长的领域。 当然&#xff0c;了解物联网网关的测试和制…

HSA-42014和安泰ATA-4014C高压功率放大器对比

企业背景&#xff1a; Aigtek是一家来自中国的专业从事测量仪器研发、生产和销售的高科技企业。公司主要研发和生产功率放大器、功率放大器模块、功率信号源、计量校准源等产品。核心团队主要是来自西安交通大学及西北工业大学的专家教授等联合组成研发团队&#xff0c;目前拥有…