Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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
Mysql setContentType(“text/html”); 写下(“欢迎,+姓名+”); }否则{ pww.write(“错误的用户名或密码”); } } }捕获(SQLE异常){ e、 printStackTrace(); } } }_Mysql_Eclipse_Jsp_Servlets - Fatal编程技术网

Mysql setContentType(“text/html”); 写下(“欢迎,+姓名+”); }否则{ pww.write(“错误的用户名或密码”); } } }捕获(SQLE异常){ e、 printStackTrace(); } } }

Mysql setContentType(“text/html”); 写下(“欢迎,+姓名+”); }否则{ pww.write(“错误的用户名或密码”); } } }捕获(SQLE异常){ e、 printStackTrace(); } } },mysql,eclipse,jsp,servlets,Mysql,Eclipse,Jsp,Servlets,您只需使用一个Jsp页面即可完成任务 <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="java.sql.*"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> &

您只需使用一个Jsp页面即可完成任务

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<!DOCTYPE html>
<html>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <%
        String username=request.getParameter("user_name");
        String password=request.getParameter("password");
        String role=request.getParameter("role");
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/t_fleet","root","root");
            Statement st=con.createStatement();
            String query="select * from tbl_login where user_name='"+username+"' and password='"+password+"' and role='"+role+"'";
            ResultSet rs=st.executeQuery(query);
            while(rs.next())
            {
                session.setAttribute( "user_name",rs.getString(2));
                session.setMaxInactiveInterval(3000);
                response.sendRedirect("homepage.jsp");
            }
            %>



        <%}
        catch(Exception e)
        {
            out.println(e);
        }
    %>

</body>

JSP页面


我使用用户名、密码和角色进入系统。要实现的另一件事是,您可以通过jsp和javascript函数进行页面权限检查。

您只需使用一个jsp页面即可完成任务

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<!DOCTYPE html>
<html>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <%
        String username=request.getParameter("user_name");
        String password=request.getParameter("password");
        String role=request.getParameter("role");
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/t_fleet","root","root");
            Statement st=con.createStatement();
            String query="select * from tbl_login where user_name='"+username+"' and password='"+password+"' and role='"+role+"'";
            ResultSet rs=st.executeQuery(query);
            while(rs.next())
            {
                session.setAttribute( "user_name",rs.getString(2));
                session.setMaxInactiveInterval(3000);
                response.sendRedirect("homepage.jsp");
            }
            %>



        <%}
        catch(Exception e)
        {
            out.println(e);
        }
    %>

</body>

JSP页面


我使用用户名、密码和角色进入系统。要实现的另一件事是,您可以通过jsp和javascript函数进行页面权限检查。

好吧,您的应用程序必须知道form action=“login”的含义。我无法理解它。请您帮助我,我是JAVA新手,这是我用JAVA开发的第一页。我建议不要使用两个属性
error
success
,只使用一个
status
属性,并将“error”或“success”(两个c)存储在其中,然后在您转发的JSP中对其执行if语句。另外
String status=(String)request.getAttribute(“status”)应该足够了。您不必将其作为对象拉入,检查null,然后执行.toString(),因为您首先将其存储为字符串,所以您可以只键入cast。您应该指定方法<代码>
似乎我的sql没有从数据库中检索任何信息,因为使用错误的用户名和密码我也可以通过。有什么链接可以让我一步一步地得到帮助吗?嗯,你的应用程序必须知道form action=“login”是什么意思。我找不到。请您帮助我,我是JAVA新手,这是我用JAVA开发的第一页。我建议不要使用两个属性
error
success
,只使用一个
status
属性,并将“error”或“success”(两个c)存储在其中,然后在您转发的JSP中对其执行if语句。另外
String status=(String)request.getAttribute(“status”)应该足够了。您不必将其作为对象拉入,检查null,然后执行.toString(),因为您首先将其存储为字符串,所以您可以只键入cast。您应该指定方法<代码>
似乎我的sql没有从数据库中检索任何信息,因为使用错误的用户名和密码我也可以通过。是否有任何链接可以让我获得一个逐步帮助?如果不打印html,为什么要关闭并重新打开scriptlet?代码来自我的web应用程序。他们之间有一些暗号。但为了给出答案,我把它去掉了,让它变得简单。我已经在同一个页面上进行了权限检查,所以我将其删除。如果不在这两个页面之间打印html,为什么要关闭并重新打开scriptlet?代码来自我的web应用程序。他们之间有一些暗号。但为了给出答案,我把它去掉了,让它变得简单。我已经在同一页上做了权限检查,所以我删除了它。这非常有效。我只需要在
if(!rs.isBeforeFirst())
语句中添加一个缺少的右大括号},效果非常好。我只需要在if(!rs.isBeforeFirst())语句中添加一个缺少的右大括号}。
package org.form.login;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
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 org.form.login.database;

/**
 * Servlet implementation class login
 */
@WebServlet("/login")
public class login extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public login() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String url = "/main.jsp";
        String user = request.getParameter("username");
        String pass = request.getParameter("password");
        if (user == null || user.length() == 0 ||pass == null || pass.length() == 0) {
            url = "/index.jsp";
            request.setAttribute("error", "Username & Password must not be empty.");
        }else{
            try {
                String fullname = new database().validateUserLogin(user, pass);
                request.setAttribute("fullname", fullname);
                if (fullname != null || fullname.length() != 0){
                    request.setAttribute("sucess", "Sucessfull Connection");
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        ServletContext context = getServletContext();
        RequestDispatcher dispatcher = context.getRequestDispatcher(url);
        dispatcher.forward(request, response);
    }

    /**
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }
}
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Desk Board</title>
</head>
<body>
Hello
<%
    String sucess_message ="";
    Object sucess = request.getAttribute("sucess");
    if (sucess != null ) sucess_message = sucess.toString();
%>
<%= sucess_message %>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<form action="login" method="post">
Username : <input type="text" name="username"><br>
Password : <input type="password" name="pass"><br>
<input type="submit"><br>
</form>

</body>
</html>
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;

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

    public class auth extends HttpServlet {
        private static final long serialVersionUID = 1L;

        public auth() {
            super();
        }
        protected void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {

        }

        protected void doPost(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {

            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }

            String username = request.getParameter("username");
            String pass = request.getParameter("pass");

            String sql = "select * from reg where username='" + username + "'";
            Connection conn = null;

            try {
                conn = DriverManager.getConnection("jdbc:mysql://localhost/Exam",
                        "root", "");
                Statement s = conn.createStatement();

                java.sql.ResultSet rs = s.executeQuery(sql);
                String un = null;
                String pw = null;
                String name = null;

            /* Need to put some condition in case the above query does not return any row, else code will throw Null Pointer exception */   

            PrintWriter prwr1 = response.getWriter();               
            if(!rs.isBeforeFirst()){
                prwr1.write("<h1> No Such User in Database<h1>");
            } else {

/* Conditions to be executed after at least one row is returned by query execution */ 
                while (rs.next()) {
                    un = rs.getString("username");
                    pw = rs.getString("password");
                    name = rs.getString("name");
                }

                PrintWriter pww = response.getWriter();

                if (un.equalsIgnoreCase(username) && pw.equals(pass)) {
                                // use this or create request dispatcher 
                    response.setContentType("text/html");
                    pww.write("<h1>Welcome, " + name + "</h1>");
                } else {
                    pww.write("wrong username or password\n");
                }
              }

            } catch (SQLException e) {
                e.printStackTrace();
            }

        }

    }
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<!DOCTYPE html>
<html>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <%
        String username=request.getParameter("user_name");
        String password=request.getParameter("password");
        String role=request.getParameter("role");
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/t_fleet","root","root");
            Statement st=con.createStatement();
            String query="select * from tbl_login where user_name='"+username+"' and password='"+password+"' and role='"+role+"'";
            ResultSet rs=st.executeQuery(query);
            while(rs.next())
            {
                session.setAttribute( "user_name",rs.getString(2));
                session.setMaxInactiveInterval(3000);
                response.sendRedirect("homepage.jsp");
            }
            %>



        <%}
        catch(Exception e)
        {
            out.println(e);
        }
    %>

</body>