Servlet未重定向到带参数的URL

时间:2015-09-26 13:09:26

标签: java servlets

的index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>sendRedirect example</title>
</head>
<body>


<form action="MySearcher">
<input type="text" name="name">
<input type="submit" value="Google Search">
</form>

</body>
</html>

MySearcher.java

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MySearcher extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name=request.getParameter("name");
        response.sendRedirect("https://www.google.co.in/#q="+name);
    }
}

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>GoogleSearcher</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>MySearcher</display-name>
    <servlet-name>MySearcher</servlet-name>
    <servlet-class>MySearcher</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>MySearcher</servlet-name>
    <url-pattern>/MySearcher</url-pattern>
  </servlet-mapping>
</web-app>

我尝试使用servlet在eclipse中创建一个程序,用户将进入他想要搜索的内容,然后他将被引导到google上的搜索结果。 程序在eclipse上运行。但有一点问题。我没有被引导到搜索结果页面。它指示我到谷歌主页。 有谁能告诉我这个问题的原因,?? 帮助将不胜感激。 我只是一个初学者,试图学习servlet和我的第二个程序

1 个答案:

答案 0 :(得分:5)

您需要更改此行:

response.sendRedirect("https://www.google.co.in/#q="+name);

response.sendRedirect("https://www.google.co.in/search?q="+name);

以下是@BalusC

编译信息的链接

Servlets Examples