zoukankan      html  css  js  c++  java
  • Android网络编程之一个Android下菜单系统模块的实现(服务器端—更新菜单)

    更新菜单与更新桌号步骤完全一样,需要注意的是菜单名称含有中文,所以在servlet中将信息以xml形式发出时,应注意将其编码设定为gbk,如下:

    <?xml version='1.0' encoding='gbk'?>

    新建Menu数据实体类:

    public class Menu {
        private int id;
        private int price;
        private int typeId;
        private String name;
        private String pic;
        private String remark;
        
        getters & setters .. 
    }
    View Code

    在UpdateDao与UpdateDaoImpl中添加新方法getMenuList()获取菜单列表:

    public interface UpdateDao {
        // 获得餐桌列表
        public List<Table> getTableList();
        // 获得菜单列表
        public List<Menu> getMenuList();
    }
        @Override
        public List<Menu> getMenuList() {
            // jdbc连接数据库准备工作
            DBUtil util = new DBUtil();
            Connection conn = util.openConnection();
            
            // 读出所有菜品信息准备工作
            String sql = "select id, price, typeId, name, pic, remark from menutbl ";
            Statement statement = null;
            ResultSet rs = null;
            
            try {
                statement = conn.createStatement();
                rs = statement.executeQuery(sql);
                // 新建list容纳所有桌号实体类对象
                List<Menu> menulist = new ArrayList<Menu>(); 
                while (rs.next()) {
                    Menu menu = new Menu();
                    menu.setId(rs.getInt(1));
                    menu.setPrice(rs.getInt(2));
                    menu.setTypeId(rs.getInt(3));
                    menu.setName(rs.getString(4));
                    menu.setPic(rs.getString(5));
                    menu.setRemark(rs.getString(6));
                    menulist.add(menu);
                }
                // 别忘了返回list
                return menulist;
                
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (rs != null) {
                        rs.close();
                        rs = null;
                    }
                    if (statement != null) {
                        statement.close();
                        statement = null;
                    }
                    if (conn != null) {
                        conn.close();
                        conn = null;
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return null;
        }
    View Code

    然后是专门为更新菜单服务的UpdateMenuServlet:

    public class UpdateMenuServlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            resp.setContentType("text/html");
            PrintWriter pw = new PrintWriter(resp.getOutputStream());
            
            // 获取所有菜单信息列表
            UpdateDao updateDao = new UpdateDaoImpl();
            List<Menu> menuList = updateDao.getMenuList();
            
            // 将所有信息以xml格式输出, 此处设定编码为gbk, 否则中文乱码
            pw.println("<?xml version='1.0' encoding='gbk'?>");
            pw.println("<menulist>");
                    
            for (int i = 0; i < menuList.size(); i++) {
                Menu menu = menuList.get(i);
                pw.println("<menu>");
                
                    pw.print("<id>");
                        pw.print(menu.getId());
                    pw.print("</id>");
                    
                    pw.print("<price>");
                        pw.print(menu.getPrice());
                    pw.print("</price>");
                    
                    pw.print("<typeId>");
                        pw.print(menu.getTypeId());
                    pw.print("</typeId>");
                    
                    pw.print("<name>");
                        pw.print(menu.getName());
                    pw.print("</name>");
                    
                    pw.print("<pic>");
                        pw.print(menu.getPic());
                    pw.print("</pic>");
                    
                    pw.print("<remark>");
                        pw.print(menu.getRemark());
                    pw.print("</remark>");
                
                pw.println("</menu>");
            }
            
            pw.println("</menulist>");
            pw.flush();
            pw.close();
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            doGet(req, resp);
        }
    
    }
    View Code

    注册servlet:

    <servlet>
        <servlet-name>UpdateMenuServlet</servlet-name>
        <servlet-class>com.moka.servlet.UpdateMenuServlet</servlet-class>
    </servlet>
         
    <servlet-mapping>
        <servlet-name>UpdateMenuServlet</servlet-name>
        <url-pattern>/servlet/UpdateMenuServlet</url-pattern>
    </servlet-mapping>
  • 相关阅读:
    评论聊聊怎样做一个简单的网站APP-博客网app那种
    vs2019 filesystem問題 #error The <experimental/filesystem> header providing std::experimental::filesystem is deprecated by Microsoft 。。。
    C#面试题整理
    0717的一个错误写法
    颜色相关的算法整理
    C/C++ 获取键盘事件
    网摘-按键精灵屏幕找色原理分析
    数值统计
    平方和与立方和
    求奇数的乘积
  • 原文地址:https://www.cnblogs.com/moka/p/3088395.html
Copyright © 2011-2022 走看看