gpt4 book ai didi

java - 如何更正调用 URL?

转载 作者:行者123 更新时间:2023-12-02 13:33:03 25 4
gpt4 key购买 nike

我正在 Eclipse IDE 中使用 Servlet 制作一个基于登录的基本项目。我制作了一个 jdbc 文件,首先从数据库验证用户,然后将页面重定向到欢迎页面,即一个 html 文件。所有内容都保存在默认文件夹中。但每次我尝试执行我的项目时,我都会收到此错误 - Http Status 404 - /Diary/welcome 。这里调用的URL是localhost:8080/Diary/welcome,但调用的URL应该是localhost:8080/Diary/welcome.html。怎么解决呢?

Login.java:

import java.sql.*;
public class Login {

public static boolean validate(String user,String pass){
boolean status=false;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Diary", "root", "root");
PreparedStatement ps=con.prepareStatement("SELECT * FROM trial WHERE user=? and pass=? and authorized=?");
ps.setString(1,user);
ps.setString(2,pass);
ps.setString(3,"yes");
ResultSet rs=ps.executeQuery();
if(rs.next()){
status=true;
}

}catch(Exception e){System.out.println(e);}

return status;
}
}

LoginServlet.java:

import java.io.IOException;
import java.io.PrintWriter;

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("/LoginServlet")
public class LoginServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

res.setContentType("text/html");
PrintWriter out=res.getWriter();
String user=req.getParameter("user");
String pass=req.getParameter("pass");
if(Login.validate(user, pass)){
out.println("you are successfully logged in!");
req.getSession().setAttribute("login", "true");
req.getSession().setAttribute("user", user);
res.sendRedirect("welcome.html");

}else{
out.println("<p>Sorry, username or password error</p>");
req.getRequestDispatcher("login.html").include(req, res);
}

out.close();
}

}

最佳答案

您正确地重定向到“welcome.html”文件。您的项目中必须有一个拦截器可以删除“.html”部分。

关于java - 如何更正调用 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43116517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com