首页制作_简单网站制作_东莞网页制作设计_贵阳网站设计 第5章 系统的实现

5.1实现环境说明

运行环境包括硬件要求及软件要求如下表所示。

硬件要求

CPU

双核2.0以上

内存

2G,4G以上更好

硬盘

100G以上

软件要求

操作系统

Windows 8 /Windows7/Windows10

开发工具

Myeclipse10

网站服务器

Tomcat7.0

数据库

MySQL2008

开发语言

JAVA语言

浏览器

360安全浏览器

5.2前台首页的实现

本系统设计的是一个游戏攻略网站。该系统总共分为首页、公告通知、游戏资讯、个人账户、个人收藏、攻略信息等多个模块。通过对此系统的开发,达到了对用户对了解。实现系统的实用性和易管理性。

系统首页如下图所示。

图5-1系统首页

前台首页集成了普通用户的注册页面,注册的独立页面为userreg.jsp,通过框架嵌入系统前台首页,用户填写好注册信息后,通过<form  action="userreg.jsp?f=f"  method="post" name="f1"  οnsubmit="return checkform();">方式提交表单,会通过javasrcript验证格式,如果格式有错误,则用户小窗口提示错误的地方,如果格式都正确,则跳转至dao的注册方法,实现注册用户,提示注册成功,并将注册的信息加入用户表中。

其中载入前台首页的主要代码如下:

server:

  port: 5000

  servlet:

    context-path: /api

spring:

  datasource:

    url: jdbc:mysql://127.0.0.1:3306/CS725260_20211101091736?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8

    username: root

    password: root

    driver-class-name: com.mysql.cj.jdbc.Driver

  jackson:

    property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES

    default-property-inclusion: ALWAYS

    time-zone: GMT+8

    date-format: yyyy-MM-dd HH:mm:ss

  servlet:

    multipart:

      max-file-size: 100MB

      max-request-size: 100MB

用户注册流程图如下图所示。

图5-2用户注册流程图

用户注册界面如下图所示。

图5-3用户注册界面

用户注册的关键代码为:

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap<>()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

5.3登录模块的实现

系统的登录是使用该系统的第一关卡,用户在登录界面输入账号和密码后,系统判断该账号密码是否能在数据库中存在并且匹配,返回登录成功或登录失败的信息,登录成功后才能使用系统的功能。

登录流程图如下图所示。

图5-4登录流程图

用户登录界面如下图所示。

图5-5用户登录界面

随着系统规模的壮大,系统发布更新的信息及对普通用户量会越来越多,只有超级管理员负责系统后台恐怕任务艰巨,本系统考虑到这一问题后开发了超级管理员有权限可以增加管理员的模块。管理员角色不同对应权限亦不相同。

系统用户管理界面如下图所示。

图5-6系统用户管理界面

用户登录的关键代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap<>()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

5.4公告模块的实现

    在系统前台界面上点击公告动态中每个标题都自动跳转到公告界面,这样就可以查看有关公告的详细内容。并可以添加信息、删除信息、编辑信息等操作。在xinwentongzhilist.jsp实现视图层上公告的展示,在xinwentongzhi_list.jsp实现视图层上公告的管理。

前台公告展示如下图所示。

图5-6前台公告展示界面

公告管理后台操作界面如下图所示。

图5-7公告管理后台操作界面

后台公告发布界面如下图所示。

图5-8后台公告发布界面图

公告发布的关键代码如下:

 @RequestMapping(value = {"/count_group", "/count"})

    public Map<String, Object> count(HttpServletRequest request) {

        Query count = service.count(service.readQuery(request), service.readConfig(request));

        return success(count.getResultList());

}

5.5评论模块的实现

添加游戏攻略评论是在“查询游戏攻略信息 “的前提下操作的。当页面显示查询的游戏攻略信息后,可以点击“添加评论”超级链接,既可跳转到pinglunadd.jsp页添加评论。管理员在pinglun_list.jsp进行评论管理,pinglun_ list.jsp通过查询数据库的评论表列出所有评论信息,每条评论对应一个删除按钮和修改按钮,当管理员点击删除按钮,直接在数据库删除评论信息,并重定向当前页面,当管理员选择点击修改,则进入pinglun_update.jsp页面,进行评论信息的修改。

评论添加流程图如下图所示。

图5-10评论添加流程图

添加评论界面设计效果如下图所示。

图5-11添加评论界面

评论添加关键代码为:

@RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

%>

5.8游戏攻略管理模块的实现

管理员添加游戏攻略信息是在点击添加按钮的前提下操作的,当页面跳转至youxigonglv_add.jsp,添加成功后,管理员在youxigonglv_list.jsp进行游戏攻略管理,youxigonglv_ list.jsp通过查询数据库的游戏攻略表列出所有游戏攻略信息,每条游戏攻略对应一个删除按钮和修改按钮,当管理员点击删除按钮,直接在数据库删除游戏攻略信息,并重定向当前页面,当管理员选择点击修改,则进入youxigonglv_update.jsp页面,进行游戏攻略信息的修改。

游戏攻略管理流程图如下图所示。

图5-17游戏攻略管理流程图

游戏攻略添加页面设计效果如下图所示。

图5-18游戏攻略添加界面

游戏攻略管理页面效果如下图所示。

图5-19游戏攻略管理界面

游戏攻略发布的关键代码如下:

   @RequestMapping(value = {"/count_group", "/count"})

    public Map<String, Object> count(HttpServletRequest request) {

        Query count = service.count(service.readQuery(request), service.readConfig(request));

        return success(count.getResultList());

}

5.9本章小结

本章节主要论述了登录模块用户的登录、用户管理、留言管理、游戏分类管理、游戏攻略管理、等功能模块的设计与代码的编写,以及最终实现的步骤。

">

深圳网站开发

乌鲁木齐网站制作、软件开发公司、永久使用、不限域名、广州专业网站设计公司

网站建设公司?

首页制作_简单网站制作_东莞网页制作设计_贵阳网站设计

Discuz! 是一个功能强大、易于使用的论坛系统,它能够帮助你快速搭建一个活跃的在线社区。雨云服务器作为可靠的云服务提供商,为网站搭建提供了稳定且高效的基础设施。结合宝塔面板的图形化管理界面,可以大大简化服务器的配置和管理工作。本教程将详细介绍如何在雨云服务器上使用宝塔面板搭建一个Discuz!论坛。

是网站建设上海网页制作公司机械网站建设拉萨网站建设南网站建设大型网站开发深圳网站制作网站建设技术公司网站开发富阳网站建设随州网站建设布吉网站建设安阳网站制作app软件开发公司网站建设运营建设网站建设长春网站设计中卫网站设计公司湖南营销型网站建设集团企业网站建设网站建设策划成都 网站建设泰州网站设计南宁网站设计深圳 网站设计台州网站建设忻州网站建设银川网站建设北京公司网站设计免费网页制作上海网站制作公司

猜你喜欢

  • 友情链接:
  • 学校网站制作 手机网站模板 顺德网站建设 兰州网站制作 成都网站制作 介休网站建设