您的位置:首页 > 编程语言 > Java开发

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

2012-04-25 07:57 483 查看
思路:

1.新建项目StrustsInsertAndDelete01  选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.在struts-config.xml中设计new 【 Form Action and Jsp】(InsertForm InsertAction insert.jsp)

.最后加载sqljdbc4.jar驱动包

实现代码:

1.新建项目StrustsInsertAndDelete01  选J2EE 5.0

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

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

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 >
<form-bean name="insertForm" type="com.StrustsInsertAndDelete01.struts.form.InsertForm" />

</form-beans>

<global-exceptions />
<global-forwards />
<action-mappings >

<action
path="/query"
type="com.StrustsInsertAndDelete01.struts.action.QueryAction"
cancellable="true" />
<action
path="/delete"
type="com.StrustsInsertAndDelete01.struts.action.DeleteAction"
cancellable="true" />
<action
attribute="insertForm"
input="/insert.jsp"
name="insertForm"
path="/insert"
scope="request"
type="com.StrustsInsertAndDelete01.struts.action.InsertAction"
cancellable="true" />

</action-mappings>

<message-resources parameter="com.StrustsInsertAndDelete01.struts.ApplicationResources" />
</struts-config>


QueryAction.java

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.StrustsInsertAndDelete01.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 stub
StudentDao studentDao=new StudentDao();
String number=request.getParameter("STUnumber");
studentDao.deleteStuByNumber(number);
//		studentDao.deleteStuByNumber(request.getParameter("STUnumber"));

return new ActionForward("/query.do");
}
}


InsertAction.java

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.StrustsInsertAndDelete01.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;
import com.StrustsInsertAndDelete01.struts.form.InsertForm;

/**
* MyEclipse Struts
* Creation date: 04-24-2012
*
* XDoclet definition:
* @struts.action path="/insert" name="insertForm" input="/insert.jsp" scope="request" validate="true"
*/
public class InsertAction 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) {
InsertForm insertForm = (InsertForm) form;// TODO Auto-generated method stub
String number=insertForm.getNumber();
String name=insertForm.getName();
String sex=insertForm.getSex();
String blighty=insertForm.getBlighty();

StudentDao studentDao=new StudentDao();

ArrayList arraylist_insert=studentDao.insertStu(number, name, sex, blighty);
request.setAttribute("arraylist_insert", arraylist_insert);

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(St
bd5d
ring 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 insertStu(String number,String name,String sex,String blighty){
ArrayList stus =new ArrayList();
//values(后加单引号是解决错误提示: 在此上下文中不允许使用名称 "XXX"。有效表达式包括常量、 常量表达式和变量(在某些上下文中)。不允许使用列名。
String sql="insert into stu1_j2ee(number,name,sex,blighty)values('"+number+"','"+name+"','"+sex+"','"+blighty+"')";
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 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.在struts-config.xml中设计new 【 Form Action and Jsp】(InsertForm InsertAction insert.jsp)

InsertForm.java

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.StrustsInsertAndDelete01.struts.form;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

/**
* MyEclipse Struts
* Creation date: 04-24-2012
*
* XDoclet definition:
* @struts.form name="insertForm"
*/
public class InsertForm extends ActionForm {
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;
}

/*
* Generated Methods
*/

/**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
}

/**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
}
}


InsertAction.java 

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.StrustsInsertAndDelete01.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;
import com.StrustsInsertAndDelete01.struts.form.InsertForm;

/**
* MyEclipse Struts
* Creation date: 04-24-2012
*
* XDoclet definition:
* @struts.action path="/insert" name="insertForm" input="/insert.jsp" scope="request" validate="true"
*/
public class InsertAction 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) {
InsertForm insertForm = (InsertForm) form;// TODO Auto-generated method stub
String number=insertForm.getNumber();
String name=insertForm.getName();
String sex=insertForm.getSex();
String blighty=insertForm.getBlighty();

StudentDao studentDao=new StudentDao();

ArrayList arraylist_insert=studentDao.insertStu(number, name, sex, blighty);
request.setAttribute("arraylist_insert", arraylist_insert);

return new ActionForward("/query.do");

}
}


insert.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>insert.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>
<html:form action="/insert" method="post">
学号:<html:text property="number"></html:text><br>
姓名:<html:text property="name"></html:text><br>
性别:<html:text property="sex"></html:text><br>
籍贯:<html:text property="blighty"></html:text><br>

<html:submit value="确定" /><html:reset value="重置"/>

</html:form>

</body>
</html:html>


8.最后不要忘记加载sqljdbc4.jar驱动包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐