sendRedirect重定向问题

longai123 2016-05-01 04:47:59

check1Servelt.java
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {

PrintWriter out=response.getWriter();

//读取用户名
String username = request.getParameter("username");
String message=null;
if(username==null){
message="Please input username.";
}else{
message="Hello,"+username;
}

//在request对象中添加msg属性
request.setAttribute("msg", message);

out.println("Output from Check1Servlet before redirecting!!!!.");
// System.out.println("Output from Check1Servlet before redirecting@@@@.");

response.sendRedirect("/Sourcecode/output1?msg="+message);
//response.sendRedirect("/output1?msg="+message"); //wrong
// response.sendRedirect("http://localhost:8080/Sourcecode/output1?msg="+message); //ok
// response.sendRedirect("http://www.baidu.com"); //ok


out.println("Output from Check1Servlet after redirectingMMMMM.");
// System.out.println("Output from Check1Servlet after redirectingNNNN.");
}
错误提示Failed to redirect to [/Sourcecode/output1?msg=Please input username.]
应是路径不对,求大神帮下.刚自学java一个月左右
跳到response.sendRedirect("http://www.baidu.com"); 这个可以正常到百度
重定向output1.java
web.xml 中文件
<servlet>
<servlet-name>check1</servlet-name>
<servlet-class>mypack.Check1Servlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>check1</servlet-name>
<url-pattern>/check1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>output1</servlet-name>
<servlet-class>mypack.Output1Servlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>output1</servlet-name>
<url-pattern>/output1</url-pattern>
</servlet-mapping>
...全文
523 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanjize1996 2016-05-02
  • 打赏
  • 举报
回复
孙卫琴的书。。。。。。。。。。
Spinach007 2016-05-02
  • 打赏
  • 举报
回复
看浏览器地址栏的地址 配合修改
longai123 2016-05-01
  • 打赏
  • 举报
回复
搞了快一个下午拉,知道是路径问题, package mypack; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class Check1Servlet extends HttpServlet { /** 响应客户请求*/ public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { PrintWriter out=response.getWriter(); //读取用户名 String username = request.getParameter("username"); String message=null; if(username==null){ message="Please input username."; }else{ message="Hello,"+username; } //在request对象中添加msg属性 request.setAttribute("msg", message); out.println("Output from Check1Servlet before redirecting."); System.out.println("Output from Check1Servlet before redirecting."); response.sendRedirect("/helloapp/output1?msg="+message); //ok //response.sendRedirect("/output1?msg="+message"); //wrong // response.sendRedirect("http://localhost:8080/helloapp/output1?msg="+message); //ok //response.sendRedirect("http://www.javathinker.org"); //ok out.println("Output from Check1Servlet after redirecting."); System.out.println("Output from Check1Servlet after redirecting."); } } 按照书本上代码copy写的 ,<<Tomcat与Java Web开发技术详解>> 不知这本书有没有错误啊............. /**************************************************** * 作者:孙卫琴 * * 来源:<<Tomcat与Java Web开发技术详解>> * * 技术支持网址:www.javathinker.org * ***************************************************/
重庆的李开生 2016-05-01
  • 打赏
  • 举报
回复
response.sendRedirect("output1“); 我也在自学JAVA,祝你早日出师
重庆的李开生 2016-05-01
  • 打赏
  • 举报
回复
Failed to redirect to [/Sourcecode/output1?msg=Please input username.] response.sendRedirect("/Sourcecode/output1?msg="+message); /Sourcecode/output1---这上面的重定向地址应该放web.xml里面的地址,而且前面不应该带斜杠 看你的项目 response.sendRedirect("output1?msg="+message); 应该这样才对或者这样: response.sendRedirect("output1);

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧