Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp JEE:如何停止URL映射?_Jsp_Servlets_Jakarta Ee_Url Routing_Httpsession - Fatal编程技术网

Jsp JEE:如何停止URL映射?

Jsp JEE:如何停止URL映射?,jsp,servlets,jakarta-ee,url-routing,httpsession,Jsp,Servlets,Jakarta Ee,Url Routing,Httpsession,我试图阻止URL映射。只有登录的用户才能评估welcome.jsp页面 我的Login.javaservlet如下所示 package com.login; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet

我试图阻止URL映射。只有登录的用户才能评估
welcome.jsp
页面

我的
Login.java
servlet如下所示

package com.login;

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;

@WebServlet("/Login")
public class Login extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String uname=request.getParameter("uname");
        String pass= request.getParameter("pass");

    if(uname.equals("indrajith") && pass.equals("123")) {
        HttpSession session =request.getSession();
        session.setAttribute("username", uname);
        response.sendRedirect("welcome.jsp");
    }
    else {
        response.sendRedirect("login.jsp");
    }
    }


}
我的
login.jsp
页面包含以下表单

    <form action="Login">
        Enter username:<input type="text" name="uname"><br>
        Enter password:<input type="password" name="pass"><br>
        <input type="submit" value="login">
    <form>
但我的问题仍然是,无论我是否登录,我都可以使用URL路由。我不知道我的代码出了什么问题。在StackOverflow中,有一些类似的问题,但答案并不能解决我的问题

提前谢谢

PS:我在64位Windows机器上使用Tomcat8.5.40和eclipse IDE


.jsp
中编写的所有内容都将添加到名为
\u jspService()
(长话短说)的方法中。设置重定向url后,必须使用
return
语句停止jvm执行其余代码

请记住,
sendRedirect()
只是jvm在响应中添加头的另一种方法


更新您的
welcome.jsp

<%
    if(session.getAttribute("username") == null){
        response.sendRedirect("login.jsp");
        return; // add this statement
    }
%>


最好在页面顶部添加此代码片段。

是否有理由创建自己的安全系统而不是?不,唯一的原因是我不知道如何实现该安全性。我是java的新手,HTTPsession不是一种标准的方式吗?
<%
    if(session.getAttribute("username") == null){
        response.sendRedirect("login.jsp");
        return; // add this statement
    }
%>