Java教程

JavaWeb URL重写和会话跟踪

本文主要是介绍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>

 

这篇关于JavaWeb URL重写和会话跟踪的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!