• JavaWeb URL重写和会话跟踪


     

     

     

     

     

     

    package com.xzit.servlet;
    
    import java.io.IOException;
    
    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 javax.servlet.http.HttpSession;
    
    /**
     * Servlet implementation class UrlRewriteServlet
     */
    @WebServlet("/servlet/UrlRewriteServlet")
    public class UrlRewriteServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        /**
         * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
         */
        protected void service(HttpServletRequest request, HttpServletResponse response) 
                throws ServletException, IOException {
            String name = request.getParameter("username");
            String pwd = request.getParameter("password");
                 
            if(name.equals("admin") && pwd.equals("111111")) {
                
                HttpSession session =  request.getSession();
                session.setAttribute("username", name);
                String sessId = session.getId();    //获取会话的唯一标识
                System.out.println("当前会话的id:"+sessId);
                String newUrl = "welcome.jsp";    //被重写的url
                String rewriteUrl =  response.encodeRedirectURL(newUrl);
                /* 获取当前应用程序的部署发布url全名称 */
                String http = request.getScheme();
                String ip = request.getServerName();
                int port = request.getServerPort();
                String path = request.getContextPath();
                
                String contextFullPath = http+"://"+ip+":"+port+path+"/";
                System.out.println("发布应用程序全名称:"+contextFullPath);
                //request.getRequestDispatcher(contextFullPath+rewriteUrl).forward(request, response);
                response.sendRedirect(contextFullPath+"jsp/"+rewriteUrl);
            }else {
                
                response.sendRedirect("index.jsp?message=failed&info=login failed");
            }
            
        }
    
    }
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
    </head>
        <body>
            <form action="servlet/UrlRewriteServlet" method="post">
                用户名称:<input name="username"><br>
                用户密码:<input name="password" type="password"><br>
                用户名称:<input type="submit" value="登录"><br>
            </form>
            <%
                String m = request.getParameter("message");
                String info = request.getParameter("info");
                
                if(m != null && m.equals("failed")){
                    
                    %>
                    
                    <span style="color:red"> 系统提示:<%=info %></span>
                <%}
            %>
        </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
    </head>
        <body>
            当前用户名称:${sessionScope.username}
        </body>
    </html>
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
    id="WebApp_ID" version="3.1">
      <display-name>UrlRewrite</display-name>
      
      <session-config>
          <session-timeout>5</session-timeout>
      </session-config>
      
    <!--   <servlet> -->
    <!--       <servlet-name>urlServlet</servlet-name> -->
    <!--       <servlet-class>com.xzit.servlet.UrlRewriteServlet</servlet-class> -->
    <!--   </servlet> -->
      
    <!--   <servlet-mapping> -->
    <!--       <servlet-name>urlServlet</servlet-name> -->
    <!--       <url-pattern>/UrlRewriteServlet</url-pattern> -->
    <!--   </servlet-mapping> -->
      
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
  • 相关阅读:
    【AS3代码】类的分包
    语句include和require的区别是什么?
    php创建多级目录的函数
    【AS3代码】打砖块
    【AS3代码】弧度的转换
    【AS3代码】是男人就坚持30秒
    每天问女儿的四个问题
    PowerDesigner16生成SQL2005列注释
    做分析师=盖房子【转】
    用gephi自动分析网站链接方式
  • 原文地址:https://www.cnblogs.com/zengyu1234/p/15890778.html
Copyright © 2020-2023  润新知