<TABLE cellSpacing=0 cellPadding=0 width=170 border=0 style="font-size:13px;">
        
        <TR height=22>
          <TD style="PADDING-LEFT: 30px" background=images/menu_bt.jpg><A 
            class=menuParent onclick=expand(1) 
            href="javascript:void(0);">基础设施资源</A></TD></TR>
        <TR height=4>
          <TD></TD></TR></TABLE>
      <TABLE id=child1 style="DISPLAY: none" cellSpacing=0 cellPadding=0 
      width=170 border=0 style="font-size:13px;">
        <TR height=20>
          <TD align=middle width=30><IMG height=9 
            src="images/menu_icon.gif" width=9></TD>
          <TD><A class=menuChild 
            href="./home.jsp?flag=2&str=IBM小型机" 
            target="midbody">IBM小型机</A></TD></TR>            //下面是一大堆子菜单 不贴了        </TABLE>主要是想在 子菜单 比如IBM小型机的菜单上加上一个点击传参数的作用 用来调用后台数据库 在页面上返回结果集 href该怎么写?
下面是servlet:
<servlet>
    <servlet-name>DeviceServlet</servlet-name>
    <servlet-class>com.git.servlet.DeviceServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>DeviceServlet</servlet-name>
    <url-pattern>/DeviceServlet</url-pattern>
  </servlet-mapping>

解决方案 »

  1.   

    <a href="/DeviceServlet"></a>
      

  2.   

    <a href="./DeviceServlet"></a>
    用 <a> 来访问Servlet,这属于 GET 操作,在servlet中将操作定义在doGet中。
      

  3.   

    例子:
    java servlet部分代码
    public class FinServlet extends HttpServlet {
        public void doGet(HttpServletRequest req, HttpServletResponse res)
            throws IOException,ServletException{
            doPost(req, res); 
         }
        public void doPost(HttpServletRequest req, HttpServletResponse res)
            throws IOException,ServletException{
            User user = new User();
            user.setUsername(req.getParameter("username"));
            UserDAO dao=new UserDAOImpl();
            int flag = 0;
            try{
                flag=dao.fin(user);
            }
            catch(Exception e){
                e.printStackTrace();
            }
        
        if(flag==1){
            HttpSession session=req.getSession();
            session.setAttribute("username", user.getUsername());
            session.setAttribute("name", user.getName());
            session.setAttribute("email", user.getEmail());
            session.setAttribute("sex", user.getSex());
            session.setAttribute("school", user.getSchool());
            session.setAttribute("tel", user.getTel());
            session.setAttribute("Date_Year", user.getDate_Year());
            session.setAttribute("birthday_m", user.getBirthday_m());
            session.setAttribute("birthday_d", user.getBirthday_d());
            res.sendRedirect("./fpi.jsp");
            
        }
        else {
            res.sendRedirect("./pi.jsp");
        }
    }
    }jsp调用代码
    <a href="/fin?username=<%=(String)session.getAttribute("username")%>" method="post">Information</a>
      

  4.   

    但是这样写老是报错404  我怀疑是servlet和struts请求冲突了。。
    Could not find action or result
    There is no Action mapped for namespace / and action name DeviceServlet. - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:619)