编程语言
首页 > 编程语言> > 【简易项目:制作一个小博客】javaEE开发,含源工程和工程简单介绍

【简易项目:制作一个小博客】javaEE开发,含源工程和工程简单介绍

作者:互联网

【简易项目:制作一个小博客】javaEE开发

架构图 / 包含技术

在这里插入图片描述

数据库 / ER 图

create database RacoonBlog;
create table userbean(
	username varchar(25) NOT NULL,
	password varchar(100) NOT NULL,
	isAdmin bool,
	primary key (username)
);

create table userblog(
	username varchar(25) NOT NULL,
	blogID varchar(16) NOT NULL,
	primary key (username,blogID),
	foreign key (username) references userbean(username)
	ON DELETE CASCADE
	ON UPDATE CASCADE
);

create table blogbean(
	writter varchar(25) NOT NULL,
	blogID varchar(16) NOT NULL,
	writtenTime datetime NOT NULL,
	lastTime datetime NOT NULL,
	isPrivate bool NOT NULL,
	contents MEDIUMBLOB,
	primary key (writter,blogID),
	foreign key (writter,blogID) references userblog(username,blogID)
	ON DELETE CASCADE
	ON UPDATE CASCADE
);

在这里插入图片描述

类图 Class Diagram

在这里插入图片描述

测试效果

一些学到的东西

  1. 使用 s标签的表单进行提交
<s:form id=”” action=”loginAction” method=”pos”>
	<s:textfield label=”” name=”” placeholder=”” cssStyle=””></s:textfield>
</s:form>
  1. 使用 s标签在前端来获得 session 达到取值的目的
<%@ taglib prefix="s" uri="/struts-tags" %>			<!--类似头文件,不能忘-->
<s:property value=”#session.ERROR”></s:property>	<!--获得键为“ERROR”的值-->
<s:property value=”#session.Userbean.username”></s:property>	<!--获得键为对象Userbean的成员变量username的值-->
  1. 获取一个list的session的方式:
    使用标签 s:iterator
<%@ taglib prefix="s" uri="/struts-tags" %>
	<table>
        <tr>
            <th>BlogID</th>
            <th>Written Time</th>
            <th>Last Time</th>
        </tr>
        <s:iterator value="#session.Blogbeans" var="list" status="st">
          <tr>
              <td><s:property value="#list.blogID" /></td>
              <td><s:property value="#list.writtenTime" /></td>
              <td><s:property value="#list.lastTime" /></td>
          </tr>
        </s:iterator>
      </table>
  1. 只用一个Action类实现多个不同的前端界面跳转:

JSP代码:使用 s:hidden 修改 Action类中的成员变量 toURL

	<s:form action="Page2Action" method="POST" >
       <s:hidden name="toURL" value="pageA"></s:hidden>
       <s:submit value="to PageA"></s:submit>
	</s:form>

Action代码

public class Page2Action extends ActionSupport {
private String toURL = "login";

    @Override
    public String execute() throws Exception{
        return toURL;
    }

    public void setToURL(String toURL) {
        this.toURL = toURL;
    }
    public String getToURL(){
        return this.toURL;
    }

    public void setBlogID(String blogID) {
        this.blogID = blogID;
    }
    public String getBlogID(){return this.blogID;}
}

struts.xml配置:

	<action name = "Page2Action" class="Action.Page2Action">
       <result name = "login">/Pack/login.jsp</result>
       <result name = "pageA">/Pack/pageA.jsp</result>
    </action>
  1. s标签中的value是变量,使用OGNL实现,否则怎么传进去里面都是一个字符串而不是变量。
<s:form action="Page2Action" method="POST">
    <s:hidden name="toURL" value="blogPage"></s:hidden>
    <s:hidden name="blogID" value="%{#list.blogID}"></s:hidden>
    <s:submit value="Enter"></s:submit>
</s:form>
  1. 因为博客文本可以包含单引号等,容易mysql注入。
    简单防止mysql注入的方法:把英文单引号直接替换成中文单引号,就没有问题了
    blogbean.setContents(blogbean.getContents().replace('\'','‘'));
  2. 让博客文本可以使用html标签的方法:
    在输入文本文档的地方取消Html逃逸即可,不需要使用额外工具。
    escapeHtml = false

标签:username,varchar,String,工程,toURL,javaEE,含源,NULL,blogID
来源: https://blog.csdn.net/weixin_45775438/article/details/118553350