在我的程序中,我正在使用URL重写方法从用户那里获取输入。例如,如果用户输入的公司名称为google,则程序将开发一个URL为www.google.com,用户可以调用它。但是这里的问题就在这里。我无法致电www.google.com,而是致电localhost:8080 / Myproject / www.google.com。为了更清晰,也请参阅我的屏幕截图。谢谢。
两个Java程序1. Login.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class Login extends HttpServlet{
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{
String Company=req.getParameter("Company");
PrintWriter pw=res.getWriter();
pw.println("<html>");
pw.println("<body bgcolor='green'>");
pw.println("<p>YOUR ARE LOGGED INTO THE "+ Company +" Sucessfully</p>");
pw.println("<a href='./Website?Cname="+Company+"'>VISIT</a>");
pw.println("</body>");
pw.println("</html");
pw.close();
}
}
2。 Website.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class Website extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{
String Company=req.getParameter("Cname");
PrintWriter pw=res.getWriter();
pw.println("<html>");
pw.println("<body bgcolor='grey'>");
String Website="www."+Company+".com";
pw.println("Website URL="+Website);
pw.println("<a href='www."+Company+".com'>Website</p>");
pw.println("</body>");
pw.println("</html");
pw.close();
}
}
我的HTML输入代码
<html>
<body bgcolor='pink'>
<center>
<form method="post" action="./Login">
Enter your Company Name:<input type="text" name="Company">
<input type="submit" Value="SUBMIT">
</form>
</center>
</body>
我的Servlet的web.xml文件
<web-app>
<servlet>
<servlet-name>SA</servlet-name>
<servlet-class>Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SA</servlet-name>
<url-pattern>/Login</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SB</servlet-name>
<servlet-class>Website</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SB</servlet-name>
<url-pattern>/Website</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>Images.html</welcome-file>
</welcome-file-list>
</web-app>
图像按照进行的呼叫编号。如果您参考第四个屏幕截图,则该URL读为“ http://localhost:8080/CompanyImages/www.google.com”,但是期望读取URL为“ www.google.com
答案 0 :(得分:0)
我认为您需要像这样更改代码
<a href ="http://www.google.com"><p>Website</p></a>
因为如果标记href
没有http://,则您的程序将理解它是servlet名称。此外,您必须关闭html标记。例如:
<a>content</a> or <b>content</b>
答案 1 :(得分:0)
类似的东西:
<a href="bla"></a>
被解释为当前页面URL的相对URL。
类似的东西:
<a href="//bla"></a>
被解释为
default_protocol_page:// bla
例如file:// bla
想法是构造完整的URL。