1,所需jar包,将jar包导入lib中

2,项目目录结构

3,struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="default" namespace="/" extends="struts-default">
<action name="DelStu" class="struts2.DelStu">
<result>/index.jsp</result>
</action> <action name="UpdateStu" class="struts2.UpdateStu">
<result>/index.jsp</result>
</action> <action name="AddStu" class="struts2.AddStu">
<result>/index.jsp</result>
</action>
</package> </struts>

4,web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>JE-sy2</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts2的框架的过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> </web-app>

5,StudentDaoImpl.java

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import bean.Student;
import util.DBUtil; public class StudentDaoImpl {
public void addStudent(Student student)
{
Connection connection = DBUtil.getConnection();
String sql = "insert into student (stuId,stuName) values (?,?)";
PreparedStatement preparedStatement = null;
try {
preparedStatement= connection.prepareStatement(sql);
preparedStatement.setString(1,student.getStuId());
preparedStatement.setString(2, student.getStuName()); preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
} public void deleteStudent(String stuId) {
Connection connection = DBUtil.getConnection();
String sql = "delete from student where stuId= ?";
PreparedStatement preparedStatement = null;
try {
preparedStatement= connection.prepareStatement(sql);
preparedStatement.setString(1, stuId);
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtil.close(preparedStatement);
DBUtil.close(connection);
} } public void updateStudent(Student student) {
Connection connection = DBUtil.getConnection();
String sql = "update student set stuName = ? where stuId=?";
PreparedStatement preparedStatement = null;
try {
preparedStatement= connection.prepareStatement(sql);
preparedStatement.setString(1, student.getStuName());
preparedStatement.setString(2, student.getStuId());
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtil.close(preparedStatement);
DBUtil.close(connection);
} } public List<Student> loadStudent() {
Connection connection = DBUtil.getConnection();
String sql = "select * from student";
PreparedStatement preparedStatement = null;
ResultSet resultSet=null;
Student student = null;
List<Student> students=new ArrayList<>();
try {
preparedStatement=connection.prepareStatement(sql);
// preparedStatement.setInt(1, id);
resultSet=preparedStatement.executeQuery();
while(resultSet.next())
{
student=new Student();
student.setStuId(resultSet.getString("stuId"));
student.setStuName(resultSet.getString("stuName"));
students.add(student);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return students; }
}

6,AddStu.java

package struts2;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

import bean.Student;
import dao.StudentDaoImpl; public class AddStu extends ActionSupport{
HttpServletRequest request = ServletActionContext.getRequest();
private static final long serialVersionUID = 1L;
@Override
public String execute() throws Exception { request.setCharacterEncoding("UTF-8");
String stuId=request.getParameter("stuId");
String stuName=request.getParameter("stuName");
request.setAttribute("name",stuName);//设值 Student student=new Student();
student.setStuId(stuId);
student.setStuName(stuName);
StudentDaoImpl studentDaoImpl=new StudentDaoImpl();
studentDaoImpl.addStudent(student);
// response.sendRedirect("CRUD/index.jsp");
return SUCCESS;
}
}

7,addStu.jsp

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="dao.StudentDaoImpl"%>
<%@page import="bean.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<%
Student student=new Student();
StudentDaoImpl studentDaoImpl=new StudentDaoImpl();
List<Student> students=studentDaoImpl.loadStudent();
// System.out.println(request.getContextPath());
%>
<body>
<center>
<form action="AddStu.action" method="post">
<table>
<tr>
<td>学号:</td>
<td><input type="text" name="stuId"/></td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="stuName"/></td>
</tr>
<tr>
<td><input type="submit" value="增加"/></td>
</tr>
</table>
</form>
</center>
</body>
</html>

MVC基于Struts2的CRUD,java+bean+struts的更多相关文章

  1. 【整理】JavaEE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系

    #[整理]JavaEE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系 ![关系图解](http://images.cnitblog.com/blog/84 ...

  2. 基于Struts2 的日志管理系统的Java实现

    1.首先,项目的架构如下:          2.com.sxl.dba 中:OracleConnector.java package com.sxl.dba; import java.sql.*; ...

  3. JavaEE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系

    郭晨 软件151 1531610114 [整理]JavaEE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系 visio文件下载 概述 一个JavaEE的项 ...

  4. Java bean与Spring、Spring MVC关系

    Java Bean Java语言欠缺属性.事件.多重继承功能.所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码.Java Bean正是编写这套胶水代码的惯用模式或约定. ...

  5. spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable

    1.spring mvc返回json数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable 2. @RequestMapping(val ...

  6. Spring、Spring MVC、Struts2优缺点整理

    Spring 及其优点 大部分项目都少不了Spring的身影,为什么大家对他如此青睐,而且对他的追捧丝毫没有减退之势呢 Spring是什么: Spring是一个轻量级的DI和AOP容器框架. 说它轻量 ...

  7. Spring、Spring MVC、Struts2、、优缺点整理(转)

    Spring 及其优点 大部分项目都少不了spring的身影,为什么大家对他如此青睐,而且对他的追捧丝毫没有减退之势呢 Spring是什么: Spring是一个轻量级的DI和AOP容器框架. 说它轻量 ...

  8. Spring MVC和Struts2的比较的优点

    Spring MVC和Struts2的区别: 机制:spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的.以前认为filter是 ...

  9. spring mvc 基于注解的使用总结

    本文转自http://blog.csdn.net/lufeng20/article/details/7598801 概述 继 Spring 2.0 对 Spring MVC 进行重大升级后,Sprin ...

随机推荐

  1. Linux排序命令sort(转)

    Linux sort命令用于将文本文件内容加以排序.sort可针对文本文件的内容,以行为单位来排序. 语法 sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符&g ...

  2. iOS UIToolBar的使用

    UIToolBar存在于UINavigationController导航栏控制器中.并且默认被隐藏. 当设置UIToolBar显示,或者存在UITabBarController且tabbar被隐藏的时 ...

  3. HDU 4527

    搞了好久,发现自己是想法没错的,错在输入,必须是while(){} #include <iostream> #include <cstdio> #include <alg ...

  4. 2015多校联合训练赛 hdu 5308 I Wanna Become A 24-Point Master 2015 Multi-University Training Contest 2 构造题

    I Wanna Become A 24-Point Master Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 ...

  5. 1016. Phone Bills (25)——PAT (Advanced Level) Practise

    题目信息: 1016. Phone Bills (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A l ...

  6. 两道人数多,课程少,query多的题

    #每天进步一点点# 来两道很相似的题目~ (智商啊智商.....) hihoCoder #1236:Scores (简单的分桶法+bitset) 2015 Beijing Online的最后一题.题目 ...

  7. 最详细的CentOS 6与7对比(二):服务管理对比

    本主题将从3个角度进行对比 常见设置(CentOS 6 vs CentOS 7) 服务管理(Sysvinit vs Upstart vs Systemd) 性能测试(cpu/mem/io/oltp) ...

  8. NOIP2011 D1T1 铺地毯

    P1692 铺地毯 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2011 day1 第一题 描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩 ...

  9. android黑科技系列——实现静态的默认安装和卸载应用

    一.访问隐藏的API方式进行静态的默认安装和卸载 1.系统安装程序 android自带了一个安装程序—/system/app/PackageInstaller.apk.大多数情况下,我们手机上安装应用 ...

  10. 运行Tomcat闪退问题,报的错误:Unsupported major.minor version 51.0

    在MyEclipse中运行tomcat,tomcat闪退并且报以下错误. java.lang.UnsupportedClassVersionError: org/apache/catalina/sta ...