zoukankan      html  css  js  c++  java
  • servlet之重写

    package app02a;

    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    /**
     * url重写
     */
    @WebServlet( name = "Top10Servlet", urlPatterns = "/top10")
    public class Top10Servlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
        
        private List<String> londonAttractions;
        private List<String> parisAttractions;

        /**
         * Default constructor.
         */
        public Top10Servlet() {
            // TODO Auto-generated constructor stub
        }
        
        /**
         * 初始化两个列表存放信息(正常开发存于数据库中)
         */
        @Override
        public void init() throws ServletException {
            londonAttractions = new ArrayList<String>(10);
            londonAttractions.add("Buckingham Palace");
            londonAttractions.add("London Eye");
            londonAttractions.add("British Museum");
            londonAttractions.add("National Gallery");
            londonAttractions.add("Big Ben");
            londonAttractions.add("Tower of London");
            londonAttractions.add("Natural History Museum");
            londonAttractions.add("Canary Wharf");
            londonAttractions.add("2012 Olympic Park");
            londonAttractions.add("St Paul's Cathedral");
            
            parisAttractions = new ArrayList<String>(10);
            parisAttractions.add("Eiffel Tower");
            parisAttractions.add("Notre Dame");
            parisAttractions.add("The Louvre");
            parisAttractions.add("Champs Elysees");
            parisAttractions.add("Arc de Triomphe");
            parisAttractions.add("Sainte Chapelle Church");
            parisAttractions.add("Les Invalides");
            parisAttractions.add("Musee d'Orsay");
            parisAttractions.add("Montmarte");
            parisAttractions.add("Sacre Couer Basilica");
        }

        /**
         * get请求,判断选择的城市
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String city = request.getParameter("city");
            if(city != null && (city.equals("london") || city.equals("paris"))){
                // 选择后
                showAttractions(request, response, city);
            } else{
                // 第一次执行
                showMainPage(request, response);
            }
        }

        /**
         * 显示主页
         * @param request
         * @param response
         * @throws ServletException
         * @throws IOException
         */
        private void showMainPage(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
            response.setContentType("text/html");
            PrintWriter writer = response.getWriter();
            writer.print("<html><head>" +
                    "<title>Top 10 Tourist Attractions</title>" +
                    "</head><body>" +
                    "Please select a city:" +
                    // 重定向体现(使用a标签的href属性)
                    "<br/><a href='?city=london'>London</a>" +
                    "<br/><a href='?city=paris'>Paris</a>" +
                    "</body></html>");
        }
        
        /**
         * 显示主要信息
         * @param request
         * @param response
         * @param city  选择的城市
         * @throws ServletException
         * @throws IOException
         */
        private void showAttractions(HttpServletRequest request,
                HttpServletResponse response, String city)
                throws ServletException, IOException {
            
            int page = 1;
            String pageParameter = request.getParameter("page");
            if (pageParameter != null) {
                try {
                    page = Integer.parseInt(pageParameter);
                } catch (NumberFormatException e) {
                    // do nothing and retain default value for page
                }
                if (page > 2) {
                    page = 1;
                }            
            }
            List<String> attractions = null;
            if (city.equals("london")) {
                attractions = londonAttractions;
            } else if (city.equals("paris")) {
                attractions = parisAttractions;
            }
            response.setContentType("text/html");
            PrintWriter writer = response.getWriter();
            writer.println("<html><head>" +
                    "<title>Top 10 Tourist Attractions</title>" +
                    "</head><body>");
            // 返回主页(href='top10')
            writer.println("<a href='top10'>Select City</a> ");
            writer.println("<hr/>Page " + page + "<hr/>");
            // 总共10条数据,两页,每页显示五条数据(简单的分页实现)
            int start = page * 5 - 5;
            for (int i = start; i < start + 5; i++) {
                writer.println(attractions.get(i) + "<br/>");
            }
            writer.print("<hr style='color:blue'/>" +
                    // 重定向体现(使用a标签的href属性)
                    "<a href='?city=" + city +
                    "&page=1'>Page 1</a>");
            writer.println("&nbsp; <a href='?city=" + city +
                    "&page=2'>Page 2</a>");
            writer.println("</body></html>");
        }
        
        
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
        }

    }

  • 相关阅读:
    CLR 对比 JVM
    unity drawcall测试
    UGUI 分页渐变居中效果
    几个ADB常用命令
    jQuery分步步骤
    jquery toast插件
    jQuery数字滚动(模拟网站人气、访问量递增)原创
    jQuery实用工具集
    scrollReveal.js – 页面滚动显示动画JS
    jquery轻量级数字动画插件jquery.countup.js
  • 原文地址:https://www.cnblogs.com/wadmwz/p/7528206.html
Copyright © 2011-2022 走看看