使用< a href =">>从servler重定向到另一个servlet doGet()方法 [英] Redirect from one servlet to another from the servler doGet() method using <a href="">
本文介绍了使用< a href =">>从servler重定向到另一个servlet doGet()方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
第一个servlet:
public class StartingServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
PrintWriter out = response.getWriter();
out.println(Strona startowa);
// String go =http:// localhost:8080 / HelloWorld / test;
// response.sendRedirect(response.encodeRedirectURL(go));
out.println(< a href =http:// localhost:8080 / HelloWorld / test> Hello World Servlet< / a>);
}
}
第二个servlet想要继续点击链接):
public class HelloWorldServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
PrintWriter out = response.getWriter();
out.println(Hello World Servlet);
}
}
web.xml文件(servlet-启动servlet的映射url-pattern目的是空的):
<?xml version =1.0encoding = UTF-8\" >?;
< web-app xmlns:xsi =http://www.w3.org/2001/XMLSchema-instancexmlns =http://java.sun.com/xml/ns/javaeexsi :schemaLocation =http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsdid =WebApp_IDversion =3.0 >
< display-name> HelloWorld< / 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>
< servlet-name>启动servlet< / servlet-name>
< servlet-class> pl.javastart.servlets.StartingServlet< / servlet-class>
< / servlet>
< servlet-mapping>
< servlet-name>启动servlet< / servlet-name>
< url-pattern>< / url-pattern>
< / servlet-mapping>
< servlet>
< servlet-name> Hello World Servlet< / servlet-name>
< servlet-class> pl.javastart.servlets.HelloWorldServlet< / servlet-class>
< / servlet>
< servlet-mapping>
< servlet-name> Hello World Servlet< / servlet-name>
< url-pattern> / test< / url-pattern>
< / servlet-mapping>
< / web-app>
我该怎么做?
提前谢谢。
解决方案
要从servlet重定向请求,您可以使用 sendRedirect
方法:
response.sendRedirect(http:// localhost:8080 / HelloWorld / test );
Btw这句话:
out.println(< a href =http:// localhost:8080 / HelloWorld / test> Hello World Servlet< / a>);
只需在响应正文中发送链接,但不会重定向。
Hi I have a question how to redirect from starting servlet body(doGet() or doPost()) to another's servlet site?
First servlet:
public class StartingServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
{
PrintWriter out=response.getWriter();
out.println("Strona startowa");
// String go ="http://localhost:8080/HelloWorld/test";
// response.sendRedirect(response.encodeRedirectURL(go));
out.println("<a href="http://localhost:8080/HelloWorld/test"> Hello World Servlet </a>");
}
}
Second servlet(the one that i want to go after i click on link):
public class HelloWorldServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
PrintWriter out= response.getWriter();
out.println("Hello World Servlet");
}
}
web.xml file(servlet-mappings url-pattern for the starting servlet is empty on purpose):
<?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_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>HelloWorld</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>
<servlet-name>Starting servlet</servlet-name>
<servlet-class>pl.javastart.servlets.StartingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Starting servlet</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Hello World Servlet</servlet-name>
<servlet-class>pl.javastart.servlets.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello World Servlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>
How do I do that? Thank you in advance.
解决方案
To redirect a request from servlet you can use sendRedirect
method :
response.sendRedirect("http://localhost:8080/HelloWorld/test");
Btw this statement:
out.println("<a href="http://localhost:8080/HelloWorld/test"> Hello World Servlet </a>");
will simply send the link in response body but will not redirect.
这篇关于使用< a href =">>从servler重定向到另一个servlet doGet()方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文