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框架下,你 ...
随机推荐
- ZOJ 2283 Challenge of Wisdom
题意:在一个n * m的地图里,有p个宝藏,每次只能向横纵坐标增加的方向走,问最少走几次能把宝藏都拿走. 解法:按横坐标排序,纵坐标的一个不下降子序列就是一条合法路径,要求多少条不下降子序列可以覆盖所 ...
- Timus 1746 Hyperrook
题意:在一个n维坐标系中,坐标的范围是0到m - 1,如果两个点坐标只有一个维度的坐标不同则可以相互移动,给出p个点,问任意两个点之间路径为d的个数是多少,答案与p取模. 解法:只需要考虑两个点之间不 ...
- HDU 4394 Digital Square
Digital Square Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- Iterator和ListIterator区别
我们在使用List,Set的时候,为了实现对其数据的遍历,我们经常使用到了Iterator(迭代器).使用迭代器,你不需要干涉其遍历的过程,只需要每次取出一个你想要的数据进行处理就可以了. 但是在使用 ...
- Parallel for loops in .NET C# z
The start index: this is inclusive, i.e. this will be the first index value in the loop The end inde ...
- FZU 2216 The Longest Straight 二分
0可以表示任何1到m的数,求一个最长的连续上升序列长度 因为m的范围在10w,所以以每个节点为起点 进行二分,复杂度mlogm 思路:b[i]表示到 1 到 i 有几个数没有出现,二分的时候注意加等号 ...
- 文件I/O操作(1)
linux系统调用和用户编程接口(api) 系统调用是指在操作系统提供给用户程序调用的一组“特殊”的接口,用户程序可以通过这组特殊的接口来获取操作系统内核提供的服务,例如用户可以通过进程控制相关的系统 ...
- Jquery+bootstrap实现静态博客主题
来源:个人博客 body部分: side部分: 文章页面: 下载链接: Fork Git: https://github.com/dwqs/theme1 ...
- POJ 2429
思路:a/n*b/n=lcm/gcd 所以这道题就是分解ans.dfs枚举每种素数情况.套Miller_Rabin和pollard_rho模板 //#pragma comment(linker, &q ...
- mysql的group_concat的用法
1.语法:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) eg. SELECT ID, GROUP ...