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

是jquery的漏洞,还是我没明白问题的实质?
做自己的一个项目的时候发现遇到了一些问题。
   在servlet中的request域中传递一个对象,让jsp页面接受,遇到了一个问题。

在servlet中,实现页面的跳转有重定向和转发。
response.sendRedirect("");
request.getRequestDispatcher("path").forward(request, response);

遇到的问题简化如下
servlet页面:

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestSer extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletExceptionIOException {
response.sendRedirect("../test1.jsp");
//request.getRequestDispatcher("../test1.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

}

}

jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'test1.jsp' starting page</title>
<script type="text/javascript" src="jquery.js"></script>    
<script>
$(document).ready(function() {
alert("test");
}); 
function test() {
alert("test1");
}
</script>    
  </head>
  
  <body>
    <input type="button" value="按钮" onclick="test();" />
  </body>
</html>


当用重定向的时候,jsp页面自动弹出警告,点击button,也会弹出警告。
但是当用转发的时候,jsp页面用jquery写的代码就没有自动弹出警告,点击button,会弹出警告。

    由于我jsp页面要取出request域中的值,又必须得用request.getRequestDispatcher("../test1.jsp").forward(request, response);
实现转发,可是那样我那个jsp页面的jquery写好的代码又不能执行,煞是苦恼!!!不明白为什么

------解决方案--------------------
我记得也遇见过这个问题。解决方法是路径问题。你试着调整一下路径,特别是导入的 jQuery 的路径,看看能行不。
------解决方案--------------------
引用:
版主你觉得我应该放在哪个路径比较合适

<script type="text/javascript" src="../jquery.js"></script>  

这样改,各种都试一下。