String flag = request.getParameter("flag");

解决方案 »

  1.   

    没看出什么毛病可能是 flag 参数获取错了楼主把代码 贴多点吧 方便查出问题随便说一下,你这个项目名取得有意思,我们一般都取名Test 呵呵呵~~~
      

  2.   

    走debug看看进没进这个servlet
    然后再看看进没进这个else if
      

  3.   

    UserClServlet?flag=addweb.xml 里面怎么配置的 url后缀, 查看一下
      

  4.   


    那把web.xml 这个servlet的配置检查下 
      

  5.   

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>com.zl.controller.LoginServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>UserClServlet</servlet-name>
        <servlet-class>com.zl.controller.UserClServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>Test</servlet-name>
        <servlet-class>com.zl.controller.Test</servlet-class>
      </servlet>  <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/LoginServlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>UserClServlet</servlet-name>
        <url-pattern>/UserClServlet</url-pattern>
      </servlet-mapping>  
      <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    麻烦看看有什么遗漏的?
      

  6.   

    我想问一下楼主:  你的jsp页面能显示吗?如果能的话那就是action传不到后台;因此你看一下你的web.xml 配置servlet了没有!
      

  7.   


    能显示。 。就是传不到后台。  用href传值都可以。 就是action不好使
      

  8.   

    楼主那你那样子把吧  
    你在jsp页面写入
    <input type="hidden" name="action" value="add"/>
    然后在后台获取 request.getParameter("action")
    肯定行
      

  9.   


    用 href 能访问到 servlet的话 ,说明 servlet没问题检查下你页面的表单怎么写的,怎么提交的
      

  10.   

    试一下 http://IP:port/WEBAPP_NAME/UserClServlet?flag=add
    看能访问不。参数能得到不
      

  11.   

    相应的
    <form action="UserClServlet" method="post">
    如果还不行的话查看你的context 在工程properties——>Tomcat
    然后将
    <form action="/ContextName/UserClServlet" method="post">
    你的ContextName=fack?
      

  12.   

    可能是servlet路径问题,你在servlet前边加上上下文
      

  13.   

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    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%>">
        
        <title>添加用户</title>
        
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page"><meta http-equiv="content-type" content="text/html;charset=UTF-8">


    <link rel="stylesheet" type="text/css" href="Style/basic.css">
      </head>
      
      <body>
        
         <form  action="UserClServlet"  method="post">
         <input type="hidden" name="action" value="add"/>
        
         用户名:<input type="text" name="u"/><br>
         密码:<input type="password" name="p"/><br>
         email:<input type="text" name="e"/><br>
         年级:<input type="text" name="g"/><br>
         <input type="submit" value="提交" />
         <input type="reset" value="重置"/>
         </form>
     
         <a href="main.jsp">返回管理界面</a>
      
      </body>
    </html>
      

  14.   

    楼主从以下几个方面找找:
      若你创建的是一个dynamic Web project 工程,
      首先,你看看工程properties——>java build path——>source——>default output folder————>projectName/WebContent/WEB-INF/classes(没改之前是projectName/build/classes)
      其次,要看你选择的是server发布工程还是Tomcat启动发布,如果是每次启动/关闭Tomcat的话,那你就看看你的工程properties——>Tomcat——>选中 is a Tomcat project、
    写入contextname-->/project name(一般是)
    写入subdirectory set as web application root——> /WebContent
      再次,看看你的D:\apache-tomcat-6.0.10\conf\Catalina\localhost目录下边是否有(context name)——>project name.xml
      

  15.   


    =.= 不是怎么加。。是有没有
    比如 很多做功能权限控制的都会把url配置到数据库中~ 如果不存在这个url则会不通过,跳到权限不足页面。
    你这个工程,有没有这方面的控制呢?
    当然~ 你这个问题更可能的是 url的问题
    正如 zhanglujie2008 所说的 试一下哈
    <servlet-mapping>
      <servlet-name>UserClServlet</servlet-name>
      <url-pattern>/UserClServlet</url-pattern>
    </servlet-mapping>
    改成
    <url-pattern>/UserClServlet.aa</url-pattern>
    然后
    http://IP:port/WEBAPP_NAME/UserClServlet.aa?flag=add
    访问以下试试。
      

  16.   


    没看lz的web.xml 根本没有什么过滤器,简单问题复杂化
      

  17.   

    小弟初学Servlet  还有很多不足。 希望各位多多指教
      

  18.   


    LZ不是说连SERVLET都访问不到吗~ 改成隐藏域跟这又没关系
      

  19.   


    隐藏动作,如果不能走到servlet  说明是url问题
    按下边说的做
      

  20.   


    Defaul output folder:Fuck/WebRoot/WEB-INF/classes
      

  21.   


    话说 楼主的 <servlet>
      <description>This is the description of my J2EE component</description>
      <display-name>This is the display name of my J2EE component</display-name>
      <servlet-name>Test</servlet-name>
      <servlet-class>com.zl.controller.Test</servlet-class>
      </servlet>没有对应的servlet-mapping 不会是这个引起的吧然后 lz说href 方式可以?http://localhost:8080/Fuck/UserClServlet?flag=add 这个地址到底能访问不?
      

  22.   

    嗯 是的 还有一步  其次,要看你选择的是server发布工程还是Tomcat启动发布,如果是每次启动/关闭Tomcat的话,那你就看看你的工程properties——>Tomcat——>选中 is a Tomcat project、
    写入contextname-->/project name(一般是)
    写入subdirectory set as web application root——> /WebContent
      

  23.   

    单独输入这个url可以访问。 如果表单提交就不好使
      

  24.   


    properties里没有Tomcat这个栏啊。。我用的my8.5
      

  25.   


    如果单独访问可以的话~ 那就在你的form action=“加上你的工程上下文/UserClServlet?flag=add”
      

  26.   

    嗯,那就不用了。
    你把jsp面改成下边这个试试
    <form action="/Fuck/UserClServlet?flag=add" method="post">
      

  27.   


    我明白了,也就是说get可以post不行莫非是 lz 的servlet 只写了 doGet 方法doPost方法没实现?lz 如果是在doGet方法中写的 那就在doPost中调用 goGet方法 
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request, response);
    }lz 检查下
      

  28.   

    action="<%=path%>UserClServlet?flag=add" 试试
      

  29.   

    action="<%=path%>/UserClServlet?flag=add" 试试,刚拉了个“/”