servlet session管理之一 重写
来源:互联网 发布:淘宝推广工具 编辑:程序博客网 时间:2024/06/05 20:18
在同一个servlet中通过参数的改变而访问不同的页面。
import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/Rewrite")public class Rewrite extends HttpServlet {private static final long serialVersionUID = 1L; public Rewrite() { super(); } ArrayList<String> londonAttr = new ArrayList<>(10); ArrayList<String> pairsAttr = new ArrayList<>(10); public void init() throws javax.servlet.ServletException{ for( int i = 0; i < 10; i++) { londonAttr.add("l " + (i+1)); } for( int i = 0; i < 10; i++) { pairsAttr.add("p " + (i+1)); } }protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {if(request.getParameter("city") != null) {System.out.println("attribute");String city = request.getParameter("city");int page = 1;int p = 1;if (request.getParameter("page") != null){ try { p = Integer.parseInt(request.getParameter("page")); //showAttribute(request, response, city, page); }catch (NumberFormatException e) {}}page = p;showAttribute(request, response, city, page);}else showMainPage(request, response);}public void showMainPage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{response.setContentType("text/html");PrintWriter pw = response.getWriter();pw.println("<html><head><title>select a city</title><head><body>" + "<h3><a href=\"?city=london&page=1\">london</a><h3>" + "<h3><a href=\"?city=pairs&page=1\">pairs</a><h3>" + "</body></html>");}public void showAttribute(HttpServletRequest request, HttpServletResponse response, String city, int page)throws ServletException, IOException {response.setContentType("text/html");PrintWriter pw = response.getWriter();pw.println("<html><head><title>" + city +"</title></head><body>" + "<table>");if(city.equals("london")) {for (int i = 5 * (page-1) ; i < 5 * (page-1) + 5; i++) {pw.println("<tr><td>" + londonAttr.get(i) + "</td><tr>");}}else if(city.equals("pairs")) {for (int i = 5 * (page-1) ; i < 5 * (page-1) + 5; i++) {pw.println("<tr><td>" + pairsAttr.get(i) + "</td><tr>");}}pw.println("</table>");if(page == 1) pw.println("<a href=?city=" + city + "&page=2>next</a><br/>");if(page == 2) pw.println("<a href=?city=" + city + "&page=1>pass</a><br/>");pw.println("<a href=http://localhost:8080/goon/Rewrite>city list</a>");pw.println("</body><html>");}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}
第一次访问的为showMainPage()方法中的页面
london
pairs
通过点击london或者pairs访问不同的页面。原理,客户端发出请求,请求后跟随的参数决定本次响应应该访问哪个或哪几个方法。
在本例中,每一次客户端发出一个请求,在doGet方法中都会进行参数验证,如果未选择cite参数,则会进入showMainPage方法,如果选择了city参数,且city参数为指定的两种,则会显示相应的页面。
阅读全文
0 0
- servlet session管理之一 重写
- servlet的session管理
- servlet的session管理
- servlet 的session 管理
- servlet的session管理
- servlet的session管理
- Servlet Session管理
- servlet url 重写实现session跟踪
- servlet做用户管理之一
- jsp servlet Session管理(ThreadLocal)
- servlet(二)--session管理---cookie
- Servlet(二)--session管理--HttpSession
- Servlet实现禁用cookie重写URL获取session
- Servlet对Cookie、Session的管理
- servlet复习(六)Session管理
- Java Web基础知识之Servlet:Session管理
- [Servlet]会话管理的概念、隐藏域、Cookie、URL重写
- Servlet--浅析会话管理之Cookie、URL重写、HttpSession原理
- spring -IOC和DI
- java如何处理linux名字乱码批量重命名问题
- 基于WebSocket的网页端即时通讯
- laravel databas
- (转)Android 使用极光/友盟推送,APP进程杀死后为什么收不到推送
- servlet session管理之一 重写
- as gradle和gradle插件的配置
- Uva10795 新汉诺塔问题(转化模型,经典题)
- php快速高效验证邮箱,长度限制
- Python编程笔记
- mybatis 里面使用<if test=""> 判断,当后台传的值是数字字符串时,怎么处理
- 云计算选择的三大必然因素
- SSL证书部署指南(https)
- php清除缓存