我在我家的笔记本电脑上托管一个网站我正在使用 html/servlets 和 apache tomcat 我已经通过修改 server.xml 文件并在我的项目目录中创建 ROOT.xml 文件来设置 tomcat 来托管虚拟服务器catalina 文件夹 我还在路由器设置中转发了笔记本电脑上的端口 8080
这是问题所在:每当我使用我的全局 IP 连接到我的网站时,我都可以访问主页,这是一个 html 文件就好了
但是当我输入登录名和密码并点击登录时,由于某种原因,apache 试图在客户端机器(localhost)而不是服务器机器上找到 servlet 文件,我更改了所有表单操作并重定向以指定全局 ip 以及相应的 servlet 文件,但它仍会自动更改为本地主机
因此,我无法访问该网站的其余部分
有人可以帮忙吗?
PS.我从我网络上的桌面以及另一台位于不同网络上的笔记本电脑上尝试了该站点,但同样的事情一直在发生
谢谢
这是我的登录 servlet 的代码,其他 servlet 具有类似的数据库连接和重定向
//Log in check
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.sql.*;
public class Login extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res)throws IOException, ServletException
{
PrintWriter out=res.getWriter();
Connection con;
Statement s;
ResultSet rs;
ResultSet rs2;
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://27.4.230.15:3306/irides","root",".hack%//sign66 ");
s=con.createStatement();
try{
String sap=req.getParameter("user");
rs=s.executeQuery("select passwd from participant where sap='"+sap+"'");
if(rs.next()){
if(rs.getObject(1).toString().equals(req.getParameter("passwd"))){
HttpSession ss=req.getSession();
ss.setAttribute("sap",sap);
rs2=s.executeQuery("select * from team where sap="+sap);
ss.setAttribute("team",rs2);
rs2=s.executeQuery("select pname,points from participant order by points desc limit 1, 10");
ss.setAttribute("lead",rs2);
ss.setAttribute("ctr",0);
res.sendRedirect("http://27.4.230.15:8080/irides/User");
}
else{
out.println("<html><body>Either the username or the password is incorrect. You will be redirected to the login page shortly</body></html>");
res.sendRedirect("http://iridescence.in/incorrectPass.html");
}
}
}
catch(Exception e)
{
out.println(e);
out.println("<html><body>A problem was encountered due to which the operation could not be completed. Please go back to the login page and try again.</body></html>");
}
}
catch(Exception e)
{
out.println(e);
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res)throws IOException, ServletException
{
doGet(req,res);
}
}
@大家....这是一个真正愚蠢的错误...我忘记更改我的主页html文件上的表单操作链接,该文件重定向到servlet,并且由于某种原因完全忘记检查该文件的错误来源