2023年5月13日(软件工程日报)

今日完成

web相关练习

EL表达式

JSTL标签库

package servles;

import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import book.bean.Book;


@WebServlet("*.do")
public class BookController extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setCharacterEncoding("utf-8");

        String actionUrl = request.getServletPath(); // 获取客户请求的Servlet地址

        if (actionUrl.equals("/index.do")) { // 查询所有图书
            ArrayList<Book> list = Book.getBookList(); // 调用BookInfo的getBookList方法查询所有图书,赋值给list
            request.setAttribute("list", list); // 在request增加属性list,其结果为list对象
            request.getRequestDispatcher("/index.jsp").forward(request, response);// 重定向至index.jsp进行显示

        } else if (actionUrl.equals("/addview.do")) { // 新增图书显示页面
            request.getRequestDispatcher("add.html").forward(request, response);
        } else if (actionUrl.equals("/add.do")) { // 新增图书
            Book bi = new Book();
            bi.setBookname(request.getParameter("bookname"));
            bi.setAuthor(request.getParameter("author"));
            bi.setPrice(request.getParameter("price"));
            int r = Book.addBook(bi); // 调用BookInfor的addBook方法完成
            if (r == 1)
                request.getRequestDispatcher("success.html").forward(request, response); // 成功的话重定向至success.html
            else
                request.getRequestDispatcher("failure.html").forward(request, response); // 失败的话重定向至failure.html

        } else if (actionUrl.equals("/edit.do")) { // 客户端要对指定id的图书进行修改
            String id = request.getParameter("id");
            Book bi = Book.getBookById(id); // 调用BookInfo的getBookById方法获取图书信息,赋值给bi对象
            request.setAttribute("bi", bi); // 将bi对象增加到request的属性中
            request.getRequestDispatcher("/edit.jsp").forward(request, response);// 重定向至edit.jsp进行显示

        } else if (actionUrl.equals("/update.do")) { // 用户输入要修改的图书的信息之后需要保存到数据库
            Book bi = new Book();
            bi.setId(request.getParameter("id"));
            bi.setBookname(request.getParameter("bookname"));
            bi.setAuthor(request.getParameter("author"));
            bi.setPrice(request.getParameter("price"));
            int r = Book.updateBook(bi);// 调用BookInfo的updateBook方法实现
            if (r == 1)
                request.getRequestDispatcher("/success.html").forward(request, response);// 成功的话重定向至success.html
            else
                request.getRequestDispatcher("/failure.html").forward(request, response);// 失败的话重定向至failure.html

        } else if (actionUrl.equals("/delete.do")) { // 用户需要删除指定id的图书
            String id = request.getParameter("id");
            int r = Book.deleteBook(id); // 调用BookInfo的deleteBook方法实现
            if (r == 1)
                request.getRequestDispatcher("/success.html").forward(request, response);// 成功的话重定向至success.html
            else
                request.getRequestDispatcher("/failure.html").forward(request, response);// 失败的话重定向至failure.html
        }
    }

}
package servles;

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;

@WebServlet("/ajaxServlet")
public class ajaxServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        String name = req.getParameter("param1");
        String password = req.getParameter("param2");
        resp.getWriter().print(name+","+password);
    }
}
package servles;
import java.io.IOException;
import java.util.*;
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 org.json.*;
import book.bean.Book;
@WebServlet("*.action")
public class AjaxController extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public AjaxController() {
        super();
        // TODO Auto-generated constructor stub
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        String actionUrl = request.getServletPath(); // 获取客户端的访问URL地址信息

        if (actionUrl.equals("/list.action")) { // 查询所有图书
            ArrayList<Book> list = Book.getBookList(); // 调用BookInfo的getBookList方法完成
            // 使用JSONArray对象将结果构建为json对象并输出到客户端
            JSONArray jsonArray = new JSONArray();
            for (int i = 0; i < list.size(); i++) {
                Book book = list.get(i);
                Map<String, Object> map = new HashMap<String, Object>();
                map.put("id", book.getId());
                map.put("bookname", book.getBookname());
                map.put("author", book.getAuthor());
                map.put("price", book.getPrice());
                JSONObject BookObj = new JSONObject(map);
                jsonArray.put(BookObj);
            }
            // 向客户端返回json结果
            response.getWriter().print(jsonArray.toString());

        } else if (actionUrl.equals("/add.action")) { // 增加图书操作
            Book bi = new Book();
            bi.setBookname(request.getParameter("bookname"));
            bi.setAuthor(request.getParameter("author"));
            bi.setPrice(request.getParameter("price"));

            int r = Book.addBook(bi); // 调用BookInfo的addBook方法完成
            // 向客户端返回结果
            response.getWriter().print(r);

        } else if (actionUrl.equals("/edit.action")) { // 编辑图书操作
            String id = request.getParameter("id");
            Book bi = Book.getBookById(id); // 调用BookInfo的getBookById方法完成
            // 将该对象构建为json数据
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("id", bi.getId());
            map.put("bookname", bi.getBookname());
            map.put("author", bi.getAuthor());
            map.put("price", bi.getPrice());
            JSONObject BookObj = new JSONObject(map);
            // 向客户端返回结果
            response.getWriter().print(BookObj.toString());

        } else if (actionUrl.equals("/update.action")) { // 更新图书操作
            Book bi = new Book();
            bi.setId(request.getParameter("id"));
            bi.setBookname(request.getParameter("bookname"));
            bi.setAuthor(request.getParameter("author"));
            bi.setPrice(request.getParameter("price"));
            int r = Book.updateBook(bi);// 调用BookInfo的updateBook方法完成
            response.getWriter().print(r); // 向客户端返回结果

        } else if (actionUrl.equals("/delete.action")) { // 删除图书操作
            String id = request.getParameter("id");
            int r = Book.deleteBook(id); // 调用BookInfo的deleteBook方法完成
            response.getWriter().print(r); // 向客户端返回结果
        }
    }

}
package book.bean;

import java.sql.*;


public class Dao {
    private String driverStr = "com.mysql.jdbc.Driver";
    private String connStr = "jdbc:mysql://127.0.0.1:3306/book?useSSL=false&useUnicode=true&characterEncoding=utf-8";
    private String dbusername = "root";

    private String dbpassword = "123456";
    private Connection conn = null;
    private Statement stmt = null;

    public Dao() {
        try {
            Class.forName(driverStr);
            conn = DriverManager.getConnection(connStr, dbusername, dbpassword);
            stmt = conn.createStatement();
            System.out.println("22222");
        } catch (Exception ex) {

        }
    }


    public int executeUpdate(String s) {
        int result = 0;
        try {
            result = stmt.executeUpdate(s);
        } catch (Exception ex) {

        }
        return result;
    }


    public ResultSet executeQuery(String s) {
        ResultSet rs = null;
        try {
            rs = stmt.executeQuery(s);
        } catch (Exception ex) {

        }
        return rs;
    }


    public void close() {
        try {
            stmt.close();
            conn.close();
        } catch (Exception e) {
        }
    }
}

 

posted @ 2023-05-13 22:20  摆烂达人  阅读(8)  评论(0编辑  收藏  举报