login.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<html>
   <head>
        <title>数据库登陆
        </title>
</head>
     <body>
 <center>
  <h1>登陆</h1>
  <hr>
  <br>
  <br>
  <table>
  <form action="conn.jsp" method="post">
      <tr>
          <td>
                           数据库名
          </td>
                      <td>
                           <input type="text" name="dbname">
          </td>
      </tr>
  
  <tr>
          <td>
                           用户名
          </td>
                      <td>
                           <input type="text" name="uname">
          </td>
      </tr>
  
  <tr>
          <td>
                           密&nbsp;&nbsp;码
          </td>
                      <td>
                           <input type="password" name="upassword">
          </td>
      </tr>
  <tr>
          <td>
                           表&nbsp;&nbsp;名
          </td>
                      <td>
                           <input type="text" name="tablename">
          </td>
      </tr>
  <tr>
                      <td>
                           <input type="submit" value="确定">
          </td>
  <td>
                           <input type="reset" value="重置">
          </td>
      </tr>
     
 </table>
 </center>
</body></html>conn.jsp:
<%@ page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<%@page import="java.io.*"%><%! 
    String Driverpro="com.mysql.jdbc.Driver";
    
static Connection con=null;

%>
<%
     String username=request.getParameter("uname");
 String dbname=request.getParameter("dbname");
 String password=request.getParameter("upassword");
 String tablename=request.getParameter("tablename");
 //out.println(tablename);
 String url="jdbc:mysql://localhost/"+dbname;
 
    
%>
<%
     

          try{
           Class.forName(Driverpro);
           con=DriverManager.getConnection(url,username,password);
           //con.setCatalog(dbname);
   
   
    }catch(Exception e)
         {
                     out.println("连接失败");
                 }
        
%>
<%//这一段是想把输入的东西存到一个文件中
String nameOfTextFile = "d:/databaseconf.txt";
try { 
PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile));
pw.println(username);
pw.println(password);
pw.println(dbname);pw.close();
} catch(IOException e) {
out.println(e.getMessage());
}
%>
<%
  request.setAttribute("tablename",tablename);
  request.setAttribute("con",con);
  //request.setAttribute("test1","conn");//测试
%>
<jsp:forward page="cmd.jsp"/>
cmd.jsp:
<%@ page  contentType="text/html; charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
   <head>
        <title>数据库查询结果
        </title>
</head>
     <body>
  <center>
  <table border="1">



<%
         //Connection conn=(Connection)application.getAttribute("con");
 String tablename=(String)request.getAttribute("tablename");
 Connection con=(Connection)request.getAttribute("con");
 Statement stmt=null;
 ResultSet rs=null;
         //out.println(tablename);
         try
   {
String sqlcmd="select * from "+tablename;
             stmt=con.createStatement();
             rs=stmt.executeQuery(sqlcmd);
%>
             查询成功  <tr>
                <td>
                   姓名
                </td>
                <td>
                   年龄
                </td>
            </tr>
<%
       
                  while(rs.next())
                     {
                        String name=rs.getString("name");
                        String age=rs.getString("age");
name=new String(name.getBytes("ISO-8859-1"),"GB2312");
                        age=new String(age.getBytes("ISO-8859-1"),"GB2312");
%>
             
            <tr>
                <td>
                   <%=name%>
                </td>
                <td>
                   <%=age%>
                </td>
            </tr>
<%
                 }
}catch(Exception e)
{
%>
 
<%
        }
 
%>
<% // 4、关闭数据库
try
{
// 关闭操作
rs.close() ;
// 关闭操作
stmt.close() ;
// 关闭连接
//conn.close() ;

}
catch(Exception e)
{
%>
数据库关闭失败!!!
<%
}
    request.setAttribute("test","cmd");//测试
%>    </table>
 </center>
</body>
<a href="addinput.jsp?conn=con&ttablename=tablename">添加</a>
<a href="login.jsp">结束操作</a></html>
addinput.jsp<%@page contentType="text/html;charset=gb2312"%>
<%out.println("lala");%>
<%@page import="java.sql.*"%>
 <%
 Connection con=(Connection)request.getAttribute("conn");
 String tablename=(String)request.getAttribute("ttablename");
 request.setAttribute("conn",con);
 request.setAttribute("ttablename",tablename);
 %>
<html>
   <head>
        <title>插入数据
        </title>
</head>
     <body>
 
 <center>
 
     
          
         <table >
 <form action="add.jsp" method="post">
          <h1>插入数据</h1>
  <hr>
  <br>
  <br>
  
  
      <tr>
          <td>
                           姓&nbsp;&nbsp;名
          </td>
                      <td>
                           <input type="text" name="addname">
          </td>
      </tr>
  
  <tr>
          <td>
                           年&nbsp;&nbsp;龄
          </td>
                      <td>
                           <input type="text" name="addage">
          </td>
      </tr>
   <tr>
                      <td>
                           <input type="submit" value="确定">
          </td>
  <td>
                           <input type="reset" value="重置">
          </td>
      </tr>
     
 </table>
 </center>
</body></html>
add.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<jsp:forword page="conn.jsp"/>
<%
String tablename=(String)request.getAttribute("ttablename");
Connection con=(Connection)request.getAttribute("conn");
Statement stmtt=null;
%>
<%

//connn=(Connection)application.getAttribute("con");
String adname=request.getParameter("addname");
String adage=request.getParameter("addage");
out.println(adname);
out.println(adage);
   // String tablename=(String)application.getAttribute("tablename");
       
//String DBURL = "jdbc:mysql://localhost/"+dbname ;
//String address="Noname2.jsp?dbname="+dbname+"&uname="+uname+"&upassword="+upassword+"&tname="+"stu" ;
%>   
<%
// 操作数据库如果要写入

          // 通过Connection对象实例化Statement对象
         try
           {
             stmtt = connn.createStatement() ;
           // 为sql变量赋值
           // 插入语句
              sql = "INSERT INTO  "+tablename+" (name,age) VALUES ('"+adname+"',"+adage+")" ;               stmtt.executeUpdate(sql) ;
%>
              插入数据完毕
<%             }
         catch(Exception e)
          {
%>
             升级失败!!!
<%
            }
%>
<% // 4、关闭数据库
try
{
// 关闭操作
stmtt.close() ;
// 关闭操作
//stmtt.close() ;
// 关闭连接
//conn.close() ;

}
catch(Exception e)
{
%>
数据库关闭失败!!!
<%
}
%>
<a href="cmd.jsp">察看结果</a>

解决方案 »

  1.   

    mysql中我建了表,只含2个字段name,age
    目的:输入用户名,密码,数据库名,表名登陆数据库(页一),想定义一个静态的connection对象(页二),显示结果(页三中有个添加的选项),添加页面(页四输入要添加的东西),处理添加命令(页五,同时可以返回页四看添加后的结果)
      

  2.   

    点“添加”后输入要添加的名字年龄,提交后出现以下错误HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /uuu/add.jsp(3,5) Invalid standard action
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:90)
    org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1249)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1559)
    org.apache.jasper.compiler.Parser.parse(Parser.java:126)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs
      

  3.   

    发布了吗?/uuu/add.jsp路径对吗?
      

  4.   

    <jsp:forword page="conn.jsp"/>此行的错误:非标准动作?