我正在家里的笔记本电脑上托管一个网站 我正在使用html / servlets和apache tomcat 我通过修改server.xml文件并在catalina文件夹的项目目录中创建ROOT.xml文件来设置tomcat来托管虚拟服务器 我还在路由器设置中将笔记本电脑上的端口8080转发
继承人的问题: 每当我使用我的全局IP连接到我的网站时,我都可以访问主页,这是一个很好的html文件
但当我输入登录名和密码并登录时,由于某种原因,apache尝试在客户端计算机(localhost)上找到servlet文件而不是服务器计算机 我已经更改了所有表单操作和重定向以指定全局IP以及相应的servlet文件,但它仍然自动更改为本地主机
因此,我无法访问网站的其他部分任何人都可以帮忙吗?
PS.i在我的桌面上试用了这个网站,这个网站在我的网络上,也是在另一台不同网络的笔记本电脑上,但同样的事情不断发生
由于
继承我的登录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);
}
}
@ everyone ....这是一个真正的愚蠢的错误...我忘了更改我的主页html文件中的表单操作链接,该文件被重定向到servlet并且由于某种原因完全忘记了检查该文件的源代码错误
答案 0 :(得分:1)
根据我的说法,我认为你一直在localhost中工作和测试..所以在编码方面,你已经给出了重定向localhost:8080 / filename的链接,但你需要将localhost链接更改为相应的服务器ip repective目录取决于服务器..我认为你没有改变localhost与文件名..使用serverip与服务器的目录路径交换..希望它会帮助你我不确定