struts2 CRUD 入门 配置
本文介绍struts2在eclipse下的配置,实现一个具有CRUD功能的图书管理系统。
1 开发环境配置
1.1 在Eclipse中配置Struts2
1.1.1 新建struts.xml 文件,并写入如图信息。


1.1.2 在web.xml 文件中配置struts2

2.1.3 在WEB-INF 目录下导入如下的struts2 相关的jar 包

1.2 在Eclipse中配置MySQL
如下图,继续在WEB-INF 目录下导入Java 连接MySQL 的驱动包。

1.3 在Eclipse中配置Tomcat
2.3.1 新建Tomcat


2.3.2 新建Dynamic Web Project,并关联到Tomcat 上

2 图书SaaS设计
2.1 Web.xml
源代码(XML)

该部分web.xml 可从struts2.3 的struts2-blank 项目中拷贝,省去开头烦人的手打。具体需要修改的部分是welcome-file 里设置的首页。
2.2 Struts.xml


2.3 Action类
|
Action类名 |
作用 |
操作列表 |
操作说明 |
|
BooksAction |
处理所有action |
index |
返回首页 |
|
Query |
执行查询并返回查询结果 |
||
|
Delete |
删除图书 |
||
|
Show |
展示图书信息 |
||
|
popUpdate |
跳转到更新图书页面 |
||
|
Update |
处理并更新图书 |
||
|
popCreate |
弹出创建图书页面 |
||
|
Create |
处理并创建图书 |
||
|
CreateAuthor |
处理并创建作者 |
2.4 辅助类
|
类名 |
作用 |
操作列表 |
操作说明 |
|
Book |
图书数据模型 |
Getters、Setters |
Struts 自动创建 |
|
Author |
作者数据模型 |
Getters、Setters |
Struts 自动创建 |
|
Dao |
数据库连接与访问 |
Dao |
创建与数据库的连接 |
|
Close |
断开与数据库的连接 |
||
|
Execute |
执行数据库的表插入 |
||
|
ExecuteQuery |
执行数据库的表查询 |
||
|
ExecuteUpdate |
执行数据库的表更新、删除 |
2.5 JSP页面
|
序号 |
页面名 |
作用 |
页面核心元素(form) |
Form对应的action name |
Form中提交的数据项 |
|
1 |
Index.jsp |
首页,查询与创建图书 |
Form1 |
PopCreate |
无 |
|
Form2 |
Query |
Author.name |
|||
|
2 |
Result.jsp |
展示某作者所有图书,查询、更新、删除与创建图书 |
Form1 |
PopCreate |
无 |
|
Form2 |
Query |
Author.name |
|||
|
A1 |
Show |
ISBN |
|||
|
A2 |
Delete |
ISBN, author.name |
|||
|
A3 |
Update |
ISBN, title |
|||
|
3 |
Create.jsp |
提供创建图书信息 |
Form |
Create |
ISBN, title, authorID, publisher, publishDate price |
|
4 |
Show.jsp |
展示图书信息 |
无 |
无 |
无 |
|
5 |
Update.jsp |
提供更新图书信息 |
Form |
Update |
ISBN, title, authorID, publisher, publishDate price |
|
6 |
CreateAuthor.jsp |
提供创建新作者的信息 |
Form |
CreateAuthor |
authorID, name, country, age, ISBN, title, authorID, publisher, publishDate price |
|
7 |
createSUCCESS.jsp |
提示创建成功,关闭或返回主页 |
无 |
index |
无 |
|
8 |
createFAIL.jsp |
提示创建图书失败,返回创建页面 |
无 |
popCreate |
无 |
|
9 |
Error.jsp |
提示错误,跳转回主页 |
A |
index |
无 |
2.6 各Action/JSP之间的调用和消息传递关系
给出一张图示描述彼此之间的数据传递和调用关系。

3 图书SaaS核心代码
针对下列功能,分别给出ActionJSP页面中的核心代码。
3.1 按作者查询

图1-1查询入口

图1-2查询action

图-1-3 查询返回界面
3.2 展示图书详细信息

图2-1 图书展示入口

图2-2 图书展示action

图2-3 图书展示返回页面
3.3 删除图书

图3-1 删除图书入口界面

图3-2 删除图书action

图3-3 删除图书返回页面
3.4 新增图书/作者

图4-1 新增图书入口界面

图4-2 新增图书弹出页面action

图4-3 新增图书界面

图4-4 新增图书action

图4-5 新增作者入口页面

图4-6 新增作者action
3.5 更新图书信息(可选)

图5-1 更新图书入口界面

图5-2 更新图书action-Part I

图5-3 更新图书action-Part II
3.6 数据库连接与访问

图6-1 数据库连接与操作Dao类

图6-2 数据库的执行操作
struts2 CRUD 入门 配置的更多相关文章
- Struts2学习第一天--Struts2的概述、Struts2的入门、Struts2常见的配置、Struts2的Action的编写
action的name要与访问路径对应.hello.action. 加到tomcat启动 访问:http://localhost:8080/struts2-1/demo1/demo1.jsp 改为su ...
- struts2之入门login
1.struts 最小开发需要的jar有: struts2-core-2.2.3.jar :Struts 2框架的核心类库 xwork-core-2.2.3.jar :XWork类库,Struts 2 ...
- mybatis入门配置和调试
欢迎转载http://www.cnblogs.com/jianshuai520/p/8669177.html大家一起努力,如果看的时候有图片半边遮挡起来的话,右键查看图片,就可以观看完整的图片,具体怎 ...
- 深入分析JavaWeb Item43 -- Struts2开发入门
一.Struts2概述 1.Struts2是什么? Struts2是一个M(模型-域–范围模型)V(View视图)C(控制器)框架(模型2).框架都是一个半成品. 提高开发效率. Struts1是一个 ...
- Struts2 第四讲 -- Struts2的基本配置
5.struts2的基本配置 5.1 struts2的访问连接url 在struts1中,通过<action path=“/primer/helloWorldAction.action”> ...
- Struts2 第二讲 -- Struts2的入门
搭建struts2环境时,我们一般需要做以下几个步骤的工作: 第一步:创建javaweb工程(这个很废话有木有) 第二步:找到开发Struts2应用需要使用到的jar文件.(这个很白痴有没有) 到ht ...
- Struts2基础入门
Struts2基础入门 创建一个web工程 0)导包并且创建一个核心配置文件 <?xml version="1.0" encoding="UTF-8"?& ...
- (转)Struts2快速入门
http://blog.csdn.net/yerenyuan_pku/article/details/66187307 Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架, ...
- 1、Struts2基本入门
一.了解了这几个主要的优点,会促使你考虑使用Struts2 : 1.POJO表单及POJO操作 - Struts2 去除掉了Struts框架中的Action Forms部分.在Struts2框架下,你 ...
随机推荐
- AngularJS 拦截器和好棒例子
目录[-] 什么是拦截器? 异步操作 例子 Session 注入(请求拦截器) 时间戳(请求和响应拦截器) 请求恢复 (请求异常拦截) Session 恢复 (响应异常拦截器) 总结 Intercep ...
- Travel(HDU 4284状压dp)
题意:给n个城市m条路的网图,pp在城市1有一定的钱,想游览这n个城市(包括1),到达一个城市要一定的花费,可以在城市工作赚钱,但前提有工作证(得到有一定的花费),没工作证不能在该城市工作,但可以走, ...
- FZU 2216 The Longest Straight 二分
0可以表示任何1到m的数,求一个最长的连续上升序列长度 因为m的范围在10w,所以以每个节点为起点 进行二分,复杂度mlogm 思路:b[i]表示到 1 到 i 有几个数没有出现,二分的时候注意加等号 ...
- Python脚本控制的WebDriver 常用操作 <二十四> 定位frame中的元素
测试用例场景 处理frame需要用到2个方法,分别是switch_to_frame(name_or_id_or_frame_element)和switch_to_default_content() 如 ...
- Hbase的安装配置
一.上传解压后的Hbase文件. 二.配置: 1..bash_profile文件: export HBASE_HOME=/home/kituser/bigdata/hbase-0.94.6-cdh4. ...
- 检测是否安装了 .NET Framework 3.5
此脚本是为 Internet Explorer 设计的. 其他浏览器可能在 UserAgent 字符串中不包含 .NET CLR 信息. <HTML> <HEAD> &l ...
- leetcode@ [34] Search for a Range (STL Binary Search)
https://leetcode.com/problems/search-for-a-range/ Given a sorted array of integers, find the startin ...
- 在windows2012&2008中设置防火墙允许filezilla的passive模式
添加入战规则, 允许程序和服务 "filezilla" 被连接 只允许21端口通过防火墙是不够的.
- [iOS基础控件 - 3.3] 图片浏览器
需求: 1.显示当前图片序号/总图片数 2.显示图片 3.上一张图片.下一张图片转换 4.显示图片描述 A.数据的加载方式 1.逐个加载.处理 2.使用数组.字典分离数据和逻辑 3.延迟加载 ...
- [Objective-c 基础 - 2.3] 继承、组合
A.继承的实现: is a 1.不允许子类.父类存在相同的成员变量 2.方法调用优先原则:子类调用方法的时候,优先从本类寻找,若无则向上在父类中寻找 3.重写:子类重新实现父类的方法,覆盖父类之前的方 ...