简易表白墙

前言

为了练习jsp和servlet写的一个简易表白墙项目,整体采用MVC设计,UI设计略渣

视图:index.jsp、ExpressWish_show.jsp

控制器:ExpressWish_servlet.java

模型:ExpressWish.java、ExpressWish_Bean.java

代码部分

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>表白信息页面</title>
</head>
<style>
    .tom{
        font-family: 宋体;
        font-size: 18px;
        color: blue;
    }
</style>
<body>
    <form action="handleExpress" class="tom" method="post">
        表白者:<input type="text" class="tom" name="peopleName" size="28"/><br>
        标题:<input type="text" class="tom" name="title" size="30"/><br>
        内容:<br>
        <textarea name="contents" class="tom" rows="10" cols="36"></textarea><br>
        <input type="submit" class="tom" value="提交表白" name="submit">
    </form>
    <p class="tom"><a href="ExpressWish_show.jsp">查看表白墙</a></p>
</body>
</html>

ExpressWish_show.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="wishWallBean" class="save.data.ExpressWish_Bean" scope="application"/>
<html>
<head>
    <title>表白墙</title>
</head>
<style>
    .tom{
        font-family: 宋体;
        font-size: 26px;
        color: blue;
    }
</style>
<body bgcolor="#f5deb3">
    <table border="1">
        <tr>
            <th class="tom">id</th>
            <th class="tom">表白人</th>
            <th class="tom">标题</th>
            <th class="tom">时间</th>
            <th class="tom">表白内容</th>
            <%
                for (int i=0;i< wishWallBean.size();i++){
                    out.print("<tr>");
                    out.print("<td class=tom>"+wishWallBean.getId(i)+"</td>");
                    out.print("<td class=tom>"+wishWallBean.getPeopleName(i)+"</td>");
                    out.print("<td class=tom>"+wishWallBean.getTitle(i)+"</td>");
                    out.print("<td class=tom>"+wishWallBean.getDateTime(i)+"</td>");
                    out.print("<td><textArea rows=5 clos=20 class=tom>"+wishWallBean.getContent(i)+"</textArea></td>");
                    out.print("</tr>");
                }
            %>
    </table>
<a class="tom" href="index.jsp">去表白</a>
</body>
</html>

ExpressWish_servlet.java

package handle.data;

import save.data.ExpressWish;
import save.data.ExpressWish_Bean;
import sun.util.resources.LocaleData;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDateTime;

public class ExpressWish_Servlet extends HttpServlet {
    int index;
    synchronized long getIndex(){
        index++;
        return index;
    }
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.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=req.getParameter("peopleName");
        String title=req.getParameter("title");
        String content=req.getParameter("contents");
        ExpressWish wish=new ExpressWish();
        if(peopleName.length() == 0||title.length() == 0||content.length() == 0){
            resp.sendRedirect("index.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);
        resp.sendRedirect("ExpressWish_show.jsp");
    }
}

ExpressWish.java

package save.data;

public class ExpressWish {
    String content;
    String title;
    String dateTime;
    String peopleName;
    String id;

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getDateTime() {
        return dateTime;
    }

    public void setDateTime(String dateTime) {
        this.dateTime = dateTime;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }



    public String getPeopleName() {
        return peopleName;
    }

    public void setPeopleName(String peopleName) {
        this.peopleName = peopleName;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}

ExpressWish_show.jsp

package save.data;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;

public class ExpressWish_Bean {
    public HashMap<String,ExpressWish> wishList;
    ArrayList<ExpressWish> wishes;  //存放wishList中的表白信息

    public ExpressWish_Bean() {
        wishList=new HashMap<String,ExpressWish>();
        wishes=new ArrayList<ExpressWish>();
    }

    //把表白放到wishes
    void putToArrays(HashMap<String,ExpressWish> list){
        wishes.clear();
        Iterator<ExpressWish> iterator=list.values().iterator();
        while(iterator.hasNext()){
            ExpressWish wish=iterator.next();
            wishes.add(wish);
        }
    }
    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();
    }
}

ExpressWish_Bean.java

package save.data;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;

public class ExpressWish_Bean {
    public HashMap<String,ExpressWish> wishList;
    ArrayList<ExpressWish> wishes;  //存放wishList中的表白信息

    public ExpressWish_Bean() {
        wishList=new HashMap<String,ExpressWish>();
        wishes=new ArrayList<ExpressWish>();
    }

    //把表白放到wishes
    void putToArrays(HashMap<String,ExpressWish> list){
        wishes.clear();
        Iterator<ExpressWish> iterator=list.values().iterator();
        while(iterator.hasNext()){
            ExpressWish wish=iterator.next();
            wishes.add(wish);
        }
    }
    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();
    }
}

结果展示

在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSPJava Server Pages)是一种用于创建动态网页的技术,而MVC(Model-View-Controller)模式是一种用于组织代码的设计模式。要构建一个基于JSPMVC模式的个人博客源码,可以按照以下步骤进行。 首先,创建一个Model类,用于处理与数据相关的操作,例如读取用户信息、发布博文、管理评论等。接着,创建一个View类,用于处理与界面相关的操作,例如展示博客列表、文章详情、用户评论等。最后,创建一个Controller类,用于处理与用户交互相关的操作,例如接受用户请求、调用Model和View类进行处理,并返回结果给用户。 在MVC模式下,可以将Model、View和Controller分别作为不同的模块进行开发,从而实现代码的高内聚低耦合。在JSP中,可以使用JSTL(JSP Standard Tag Library)和EL(Expression Language)来简化代码编写,同时使用Servlet作为Controller来接受用户请求并调用相应的Model和View进行处理。 例如,在Model类中可以使用JavaBean来封装用户信息和文章内容,在View类中可以使用JSP来展示博客列表和文章详情,在Controller类中可以使用Servlet来处理用户请求并调用相应的Model和View进行处理,并最终将结果返回给用户。 通过以上步骤,就可以构建一个基于JSPMVC模式的个人博客源码,实现代码的灵活组织和功能的清晰分离,提高代码的可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值