0

我在我家的笔记本电脑上托管一个网站我正在使用 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,并且由于某种原因完全忘记检查该文件的错误来源

4

1 回答 1

1

据我说,我认为您一直在 localhost 中工作和测试。所以在编码方面,您已经给出了重定向 localhost:8080/filename 的链接,但是您需要将 localhost 链接更改为具有相应目录的相应服务器 ip 取决于在服务器上..我认为你没有用文件名改变本地主机..改变使用 serverip 和服务器的目录路径..希望它会帮助你我不确定

于 2013-01-19T10:16:40.083 回答