1.6.太极平台:开发自己的后台系统首页

1、需求场景

太极平台框架自身是不带首页效果的,因为每个项目的功能需求不一样,所以首页要显示的统计数据和内容也不一样。可以给大家看几个样例效果。

下面的图片会压缩显示,可以点击图片查看原始大图,效果更好。

样例一:某店铺代运营客户的店铺管理系统

样例二:某客户的订单管理系统。包含客户咨询询盘,市场推广消费,订单收款等功能。

样例三:某软件公司的项目管理系统

样例四:某仓库管理系统的首页。

2、创建文件和目录

1)创建源文件目录

1)在main目录下,创建目录java,并设置为源代码根目录。如下图所示。

2)此时,在java目录上,点击右键,新建包目录。如下图所示。

3)输入包路径:tech.qidian.erp。根据自己的项目进行填写。如下图所示。

4)在现有的包上,再新建dao、entity、service、servlet包目录,根据需要,还可以创建filter、listener包目录。如下图所示。

PS:可参见下面的小技巧,更方便的创建多个包目录。

小技巧:在添加第一个dao包目录后,包路径会折叠为tech.qidian.erp.dao,导致无法选择tech.qian.erp包,无法在erp下面创建第二个entity包目录。此时,我们可以打开包的物理目录文件夹,在erp目录下直接创建各个目录。再回到项目中,折叠和展开一次java目录,就会自动刷新出新的包目录结构了。

2)创建web前端目录文件

框架预留了接口调用,可以编写自己的js和css文件。

在浏览器调试窗口,可以看到几个404错误的页面调用。这就是太极平台框架预留的:custom.css、custom.js、home.do。这3个文件,分别对应自己创建的css文件、js文件、首页文件。

在webapp中创建js和css文件。如果不增加额外的功能,或者不添加新的样式,则文件内容留空即可。js和css,目录不要存放错误,不要一不小心放到WEB-INF里面去了。

3)创建首页servlet文件

在servlet包目录上,点击右键,新建,选择Create New Servlet。如果发现新建菜单中,没有servlet选项,参见本节后面的常见问题,进行解决。

命名为:HomeServlet,用于处理web请求。

之后,在dao包目录下,新建Java Class,命名为:HomeDao,用于处理数据库查询。

4)创建首页jsp文件

在webapp的WEB-INF目录下,新建目录view,在view下再新建jsp文件:home.jsp。

至此,文件都已创建完毕。完整的文件夹目录结构,如下图所示。

3、编码

编码工作集中在home.jsp、HomeServlet、HomeDao这3个文件上。home.jsp是前端页面,前端显示什么效果,需要什么数据,后端才需要编写什么样的代码。

我们要实现的首页效果,如下图所示。

1)home.jsp页面

代码如下。主要就是页面结构布局,通过jsp标签,展示从数据库中调取的数据。

2)HomeServlet文件

首页,在类定义的上面,添加注释类型的功能,指定urlPatterns为home.do,从而映射URL链接home.do。

其次,将doPost的功能,委托到doGet中;反正也行。

最后,编写doGet中的代码,主要的逻辑,就是通过数据库类,从数据库中获取统计数据。

完整的代码如下。

package tech.qidian.erp.servlet;

import tech.qidian.dev.webcommon.util.ExceptionUtil;
import tech.qidian.erp.dao.HomeDao;

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.sql.SQLException;
import java.util.List;

@WebServlet(name = "HomeServlet", description = "处理首页相关请求", urlPatterns = {"/home.do"})
public class HomeServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        List<Object> listStatistics = null;
        HomeDao dao = new HomeDao();
        try {
            //获取统计数据
            listStatistics = dao.getHomeStatistics();
        } catch (SQLException e) {
            e.printStackTrace();
            ExceptionUtil.insertDB(e, "查询首页统计数据异常");
        }

        request.setAttribute("basePath", request.getContextPath() + "/");
        //设置属性
        request.setAttribute("listStatistics", listStatistics);

        // 转向
        request.getRequestDispatcher("/WEB-INF/view/home.jsp").forward(request, response);
    }
}

3)HomeDao文件

该文件的代码,就是通过SQL统计语句,读取数据库,返回到列表中。其中的Db,都是封装好了的代码,直接调用。

4、运行调试

编码完毕,调试运行看看。点击工具栏上的调试按钮。

运行,等待打开浏览器页面。成功打开首页,登录进入,查看首页效果如下。已成功运行,且调取了数据。

小技巧:如果修改了部分代码(没有新方法和类的变动),那么可以采用调试界面的快速更新按钮。

在底部的debug窗口,点击左侧的第2个按钮,类似于刷新的图标,即可快速更新。使用快捷键CTRL+F10,就更快速。

第一次使用时,弹出选项,我们可以选中第2个:更新类文件和资源文件,且勾上不再提示。以后就更加便捷。

5、常见问题

1)新建菜单中,没有servlet菜单项

如果新建时,菜单中没有servlet选项。首先检查pom.xml文件中的依赖库,是否有tomcat-servlet-api。如果没有,则要添加进去。

如果有,则在项目上点击右键,找到菜单项Maven,选择Reimport,重新导入库。再新建时,会发现已经存在servlet菜单项了。

发布了89 篇原创文章 · 获赞 71 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/weixin_42127613/article/details/97128383