<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title> </head> <body>
<h1>
欢迎访问学生管理系统
</h1>
<a href="login.do">点击进入</a> </body>
</html>package dao;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import bean.bean;public class Conndb {
public static Connection getConn() {
Connection conn = null; String userName = "root"; String userPasswd = "root"; String dbName = "studebt"; String url = "jdbc:mysql://localhost/" + dbName + "?user=" + userName
+ "&password=" + userPasswd;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
} public static List getList() {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select * from student";
List list = new ArrayList();
try {
conn = getConn();
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
bean b = new bean();
b.setSname(rs.getString("sname"));
b.setSage(rs.getString("sage"));
list.add(b); }
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
close(rs, ps, conn); }
return list;
} public static void add(String sname,String sage) {
     
Connection conn = null;
PreparedStatement ps = null;
String sql ="insert into student(sname,sage) values(?,?)" ;
try {
conn = getConn();
ps = conn.prepareStatement(sql);
ps.setString(1, sname);
ps.setString(2, sage);
ps.executeUpdate();
} catch (SQLException e) {
System.out.println("添加学生异常");
e.printStackTrace();
}
finally{
try {
ps.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
} public static void close(ResultSet rs, PreparedStatement ps, Connection conn) {
try {
if (rs != null) {
rs.close();
rs = null; }
if (ps != null) {
ps.close();
ps = null; }
if (conn != null) {
conn.close();
conn = null; }
} catch (SQLException e) {
System.out.println("关闭发生异常");
e.printStackTrace();
} }}

解决方案 »

  1.   


    package Action;import java.util.List;
    import ActionForm.studentActionForm;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.actions.MappingDispatchAction;import dao.Conndb;public class strutsAction extends MappingDispatchAction { public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    List list = Conndb.getList();
    request.setAttribute("list", list);
    System.out.println("2222222222222222222222222");
    return mapping.findForward("list");
    } public ActionForward add(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    studentActionForm s = (studentActionForm) form;
    String sname = s.getSname();
    String sage = s.getSage();
    Conndb.add(sname, sage);
    System.out.println("111111111111111111111111111111111111111111111");
    return mapping.findForward("list");
    }
    }
    package ActionForm;import org.apache.struts.action.ActionForm;public class studentActionForm extends ActionForm { private static final long serialVersionUID = 6843681866968519074L; private String sname; private String sage; public String getSage() {
    return sage;
    } public void setSage(String sage) {
    this.sage = sage;
    } public String getSname() {
    return sname;
    } public void setSname(String sname) {
    this.sname = sname;
    }}
      

  2.   


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
      <data-sources />
      <form-beans >
      <form-bean name="StudentForm" type="ActionForm.studentActionForm"/>
      </form-beans>
      <global-exceptions />
      <global-forwards />
      <action-mappings >
    <action path="/login"
     type="Action.strutsAction"
     parameter="execute"
    >
    <forward name="list" path="/list.jsp"/>
    </action>
    <action path="/loginadd"
     type="Action.strutsAction"
     parameter="add"
     name="StudentForm"
     scope="request"
    >
    <forward name="list" path="/list.jsp"/>
    </action>
      </action-mappings>
      <message-resources parameter="com.yourcompany.struts.ApplicationResources"/>
    </struts-config>
      

  3.   

    list.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@  taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
       
        
        <title>My JSP 'list.jsp' starting page</title>
      
      </head>
      
      <body>
      <form action="add.jsp" method="post">
      <input type="submit" value="添加学生" /><p>
      </form>
       <table border="1">
       <tr>
       <td>姓名</td>
       <td>年龄</td>
       </tr>
       <c:forEach items="${list}" var="s">
       <tr>
       <td>${s.sname }</td>
       <td>${s.sage }</td>
       </tr>
       </c:forEach>
       </table>
      </body>
    </html>add.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
        
        <title>添加学生</title>
       
      </head>
      
      <body>
        <form action="loginadd.do">
        学生姓名:<input type="text" name="sname" /><br>
        学生年龄:<input type="text"  name="sage"/><br>
        <input type="submit" value="添加"/> 
        </form>
      </body>
    </html>
      

  4.   

    问题就是在   public ActionForward add(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
            studentActionForm s = (studentActionForm) form;
            String sname = s.getSname();
            String sage = s.getSage();
            Conndb.add(sname, sage);
            System.out.println("111111111111111111111111111111111111111111111");
            return mapping.findForward("list");
        }
    这个方法就是不执行 打印不出来
      

  5.   

    <message-resources parameter="com.yourcompany.struts.ApplicationResources"/>
    是配置Struct标签国际化不? 
      

  6.   

    <action path="/loginadd"
     type="Action.strutsAction"
     parameter="add"你把配置文件改成
    <action path="/loginadd"
     type="Action.strutsAction"
     parameter="method"把 <form action="loginadd.do">
     改成<form action="loginadd.do?method=add">看看
      

  7.   

    改了 可是还是不行啊 究竟是什么问题呢  它已经跳转到list.jsp了 就是不执行那个添加方法
      

  8.   

    你能确定他没有执行添加方法,还是已经执行,只是表单传过来的是空值,你可以打印snam,sage;看看 
      

  9.   

    谢谢,现在已经好了 可是为什么当我添加完数据后 返回到list.jsp只显示姓名和成绩这个字样下面没有数据呢?查看数据库确已经添加进去了
      

  10.   

      public ActionForward add(ActionMapping mapping, ActionForm form, 
                HttpServletRequest request, HttpServletResponse response) 
                throws Exception { 
            studentActionForm s = (studentActionForm) form; 
            String sname = s.getSname(); 
            String sage = s.getSage(); 
            Conndb.add(sname, sage); 
            System.out.println("111111111111111111111111111111111111111111111"); 
            return mapping.findForward("list"); 
        } 
    这个方法不是ActionServlet里的方法 它怎么去执行呢?
      

  11.   

     数据库添加进去了不代表页面就可以显示了,他添加进去,你要把它查询出来,然后再action中set进一个对象里面,然后再页面上去出来显示,你都没有设置数据不会凭空显示到页面上去。建议你在好好学习一下教程,或者下载一些可运行的源码,参照一下。现在网上的例子多如牛毛,先仿照一下把原理搞懂再说。