日期:2014-05-17  浏览次数:20631 次

jsp 提交到自身 路径问题
我用的jsp 页面是MyEclipse 中的高级模版建立的(advanced Template) 所有的连接因该都用的是绝对路径? 但是问题就出来了!!

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <base href="<%=basePath%>">
 ......


比如我这个页面是 search.jsp ; 路径是 项目名下/admin/search.jsp;
然后有两个表单提交 都是提交到自身 <form action="admin/Productsearch.jsp" method="post">
但是我用第一个表单提交后能提交过来! 
用第2个表单提交 就出错! jsp页面实现 
HTTP Status 404 - /shopping/admin/admin/search.jsp 错误! 
真不知道是为什么! 同样是表单提交 为什么一个不出错 一个出错!

------解决方案--------------------
把2个form的代码帖出来看看

一般都是用相对路径的,很少用绝对路径,写死了不好改,扩展,移植性差
------解决方案--------------------
楼主第二个<form action="admin/Productsearch.jsp" method="post"> 少加了“/”这样就会是相对路径,在当前文件下少admin/Productsearch.jsp,所以会找不到
------解决方案--------------------
HTTP Status 404 - /shopping/admin/admin/search.jsp 错误! 

相关路径错误吧,多贴点代码看看
------解决方案--------------------
提交到自身的话,action="" 就可以了。
------解决方案--------------------
加个斜杠试试.
------解决方案--------------------
应该提交到/admin/search.jsp 或 search.jsp中,
------解决方案--------------------
你的form中action中用的是相对当前页面的路径,改成相对于根路径就可以了:
<form action="/admin/Productsearch.jsp" method="post">
------解决方案--------------------
你的action有问题
------解决方案--------------------
你自己在试试
/
------解决方案--------------------
<html:form action="/admin/Productsearch.jsp" method="post">