【Richie Zhu】J2EE struts框架查询和删除数据及显示结果到表格

来源:互联网 发布:java 反射 编辑:程序博客网 时间:2024/06/05 12:27

思路

1.新建项目StrustsDelete  选J2EE 5.0

2.新建struts(myeclipe ->Add  struts)版本1.3

3.在struts-config.xml中设计new 两个Action(QueryAction DeleteAction)

4.新建基于1.2/1.3struts 的显示页面(display.jsp)

5.新建bean设置get和set方法

6.新建javabean进行数据库操作

7.最后加载sqljdbc4.jar驱动包


实现代码

1.新建项目StrustsDelete  选J2EE 5.0

2.新建struts(myeclipe ->Add  struts)版本1.3

3.在struts-config.xml中用图形设计new 两个Action(QueryAction DeleteAction)

struts-config.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>  <form-beans />  <global-exceptions />  <global-forwards />  <action-mappings >    <action      path="/query"      type="com.strustsDelete.struts.action.QueryAction"      cancellable="true" />    <action      path="/delete"      type="com.strustsDelete.struts.action.DeleteAction"      cancellable="true" />  </action-mappings>  <message-resources parameter="com.strustsDelete.struts.ApplicationResources" /></struts-config>


QueryAction.java

/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */package com.strustsDelete.struts.action;import java.util.ArrayList;import javabean.StudentDao;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;/**  * MyEclipse Struts * Creation date: 04-24-2012 *  * XDoclet definition: * @struts.action validate="true" * 查询数据库 跳转到dispaly.jsp */public class QueryAction extends Action {/* * Generated Methods *//**  * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {// TODO Auto-generated method stub//查询StudentDao studentDao=new StudentDao();ArrayList stus=studentDao.queryStu();//接收返回数组request.setAttribute("stus", stus);//把stus设置到字符串stus中//跳转return new ActionForward("/display.jsp");}}

DeleteAction.java

/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */package com.StrustsInsertAndDelete01.struts.action;import javabean.StudentDao;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;/**  * MyEclipse Struts * Creation date: 04-24-2012 *  * XDoclet definition: * @struts.action validate="true" */public class DeleteAction extends Action {/* * Generated Methods *//**  * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {// TODO Auto-generated method stubStudentDao studentDao=new StudentDao();String number=request.getParameter("STUnumber");studentDao.deleteStuByNumber(number);//studentDao.deleteStuByNumber(request.getParameter("STUnumber"));return new ActionForward("/query.do");}}


4.新建基于1.2/1.3struts 的显示页面(display.jsp)

display.jsp

<%@ page language="java" pageEncoding="GB18030"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %><%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %><%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %><%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html:html lang="true">  <head>    <html:base />        <title>display.jsp</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"><!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>    <h1>显示结果</h1>    <table border="2">    <tr>    <th>学号</th>    <th>姓名</th>    <th>性别</th>    <th>籍贯</th>    <th>是否删除?</th>    </tr>    <%--使用logic标记进行遍历       bean标记输出 --%>    <logic:iterate id="stu" name="stus"><!-- stus与之前一致 -->    <tr>    <td>    <bean:write name="stu" property="number"/><!-- stu对应上面的id number与java中对应 -->    </td>     <td>    <bean:write name="stu" property="name"/><!-- stu对应上面的id  name与java中对应-->    </td>     <td>    <bean:write name="stu" property="sex"/><!-- stu对应上面的id  sex与java中对应-->    </td>     <td>    <bean:write name="stu" property="blighty"/><!-- stu对应上面的id  blighty与java中对应-->    </td>    <td>    <!-- action属性跳转到一个页面实现删除功能   path对应   ;paramId是参数名称;    要传递参数用paramName值要对应上面stu;paramProperty对应删除所对应的参数-->    <html:link action="/delete.do" paramId="STUnumber" paramName="stu" paramProperty="number">删除</html:link>        </td>    </tr>    </logic:iterate>    </table>  </body></html:html>


5.新建bean设置get和set方法

Student.java

package bean;//public class Student {private String number;private String name;private String sex;private String blighty;public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getBlighty() {return blighty;}public void setBlighty(String blighty) {this.blighty = blighty;}}


6.新建javabean进行数据库操作

StudentDao.java

package javabean;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.util.ArrayList;import bean.Student;public class StudentDao {//初始化数据库连接private Connection con;public void initConnection(){//创建驱动try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=student","sa","sql2005");} catch (Exception e) {}             }//删除  方法                    参数 (String number)public void deleteStuByNumber(String number){String sql="delete from stu1_j2ee where number='"+number+"'";try{this.initConnection();//执行sql语句con.createStatement().executeUpdate(sql);}catch(Exception e){e.printStackTrace();}  //finally{this.closeConnection();}}//查询学生信息,返回数组集合//public ArrayList queryStuByName(String sname){public ArrayList queryStu(){ArrayList stus = new ArrayList();//String sql="SELECT number,name,sex,blighty FROM stu1_j2ee WHERE name LIKE '%"+sname+"%'";String sql="SELECT number,name,sex,blighty FROM stu1_j2ee";//String sql="insert into stu1_j2ee(number,name,sex,blighty)values(2,1,1,1)";try{this.initConnection();ResultSet rs=con.createStatement().executeQuery(sql);while(rs.next()){Student stu = new Student();//索引值是从1开始stu.setNumber(rs.getString(1));stu.setName(rs.getString(2));//stu.setName(rs.getString("name"));stu.setSex(rs.getString(3));stu.setBlighty(rs.getString(4));//封装完成后,再放到集合中stus.add(stu);}}catch(Exception e){e.printStackTrace();}  //finally{this.closeConnection();}return stus;}public void closeConnection(){try{if(con!=null){con.close();con=null;}}catch(Exception e){e.printStackTrace();}}}
7.最后别忘了加载sqljdbc4.jar驱动包




原创粉丝点击