开始的页面用frameset分上,左,右三层,然后在左边的板块写树形菜单,在右边的板块显示点击树形菜单后的类容。
现在我在左边树形菜单上写连接时,我想通过servlet跳转,但是根本就跳转不过。我问一下是不是用frameset后就不能忘servlet跳转了啊?(路径没有问题)

解决方案 »

  1.   

    servlet的代码package com.zhg.servlet;import java.io.IOException;
    import java.io.PrintWriter;
    import java.lang.reflect.Method;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class DispatchServlet extends HttpServlet { /**
     * Constructor of the object.
     */
    public DispatchServlet() {
    super();
    } /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
    super.destroy(); // Just puts "destroy" string in log
    // Put your code here
    } /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void service(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    request.setCharacterEncoding("gbk");
    String action=request.getParameter("action");
    try {
    Method method=this.getClass().getDeclaredMethod(action, HttpServletRequest.class,HttpServletResponse.class);
    method.invoke(this, request,response);
    } catch (Exception e) {
    e.printStackTrace();
    }
    } /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
    // Put your code here
    }}
    public class MemberServlet extends DispatchServlet {
    public void showTopic(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("gbk");
    response.setContentType("text/html");
    TopicBiz tb = new TopicBiz();
    request.setAttribute("tb", tb);

    response.sendRedirect("admin/checkTopic.jsp");
    }
    }
    jsp代码:<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><HTML>
    <HEAD>
    <META http-equiv="Content-Type" content="text/html; charset=gbk">
    <TITLE></TITLE>
    <STYLE type="text/css">
    DIV {
    FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 22px;
    }
    A{FONT-SIZE: 13px; COLOR: #000000; TEXT-DECORATION: none}
    A:hover {FONT-SIZE: 13px; COLOR: #999999}
    .red {color: #FF0000}
    </STYLE>
    <SCRIPT language="JavaScript">
    function show(d1){
    if(document.getElementById(d1).style.display=='none'){
    document.getElementById(d1).style.display='block';  //触动的层如果处于隐藏状态,即显示
    }
    else{document.getElementById(d1).style.display='none';  //触动的层如果处于显示状态,即隐藏
    }
    }
    </SCRIPT>
    </HEAD><BODY><div style="padding-left:10px;">
    <DIV ><A href="check.jsp" target="main""><IMG src="../image2/z-1.jpg"  border="0" align="middle" >用户管理</A></DIV>
     <div><a href="checkBoard.jsp" target="main"><IMG src="../image2/z-2.jpg" border="0" align="middle">板块管理</a></div>
      <div><a href="addBoard.jsp" target="main"><IMG src="../image2/z-2.jpg" border="0" align="middle">添加板块</a></div>  
    <DIV><A href="MemberServlet?action=showTopic" target="main"><IMG src="../image2/z-3.jpg" border="0" align="middle">帖子管理</A></DIV>
      
         

              
    </DIV>
        </BODY>
    </HTML>
      

  2.   

    debug下,看看有没有进入到servlet中
      

  3.   

    是不是你的servlet没有注册啊!!!为什么要继承呢,直接写不可以?
      

  4.   


    那就是路徑問題呀,你訪問servlet,給相對路徑。<a href="<%request.getContextPath()%>/xxServlet">xxx</a>
      

  5.   

    1、如果DUB没有进入servlet中,就看看web.xml,看看里面的路径定义怎么定义的,会不会有前缀目录之类的,如果不是该问题,则应该在别的jsp页面中可以DUB进入servlet中,那就可能你用绝对路径有问题,会不会是在frameset中父页面的basepath和子页面中basepath有冲突。2、如果进入了servlet,那就说明跳转的jsp也没路径有问题。
      

  6.   

    zfz,你来了???   
    什么意思啊?
      

  7.   


    10樓這個人我認識,他叫zfz