day28_Struts2综合案例
Posted haha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day28_Struts2综合案例相关的知识,希望对你有一定的参考价值。
1、建立一个JavaWeb应用
![](https://image.cha138.com/20210525/a95214969d3746dcbfdea94dffab2b62.jpg)
2、拷贝一下内容到您应用中:美工MM给你准备好的
![](https://image.cha138.com/20210525/8d72d041a7614109888ade6d26f55408.jpg)
3、搭建Struts2的开发环境
a、拷贝必要的jar包(图中黄色框框) 和 与数据库操作有关的jar包与配置文件(图中绿色框框)
![](https://image.cha138.com/20210525/f3c3cac3ea134aa0b515170229831609.jpg)
b、配置Struts2核心过滤器
web.xml
![](https://image.cha138.com/20210525/859327cabf344ae3a1b8764177204575.jpg)
c、在src目录下建立struts.xml配置文件
![](https://image.cha138.com/20210525/00037238a9d44012a85cc25807e7e282.jpg)
4、具体开发
4.1、数据模型
a、建立表格
create database day28;
use day28;
#用户表
CREATE TABLE S_User(
userID INT NOT NULL AUTO_INCREMENT, #主键ID
userName VARCHAR(50) NULL, #用户姓名
loginName VARCHAR(50) NULL, #登录名
loginPwd VARCHAR(50) NULL, #密码#
gender VARCHAR(10) NULL, #性别(例如:男,女)
birthday VARCHAR(50) NULL, #出生日期
education VARCHAR(20) NULL, #学历(例如:研究生、本科、专科、高中)
telephone VARCHAR(50) NULL, #电话
hobby VARCHAR(20) NULL, #兴趣爱好(例如:体育、旅游、逛街)
path VARCHAR(500) NULL, #上传路径(path路径)
filename VARCHAR(100) NULL, #上传文件名称(文件名)
remark VARCHAR(500) NULL, #备注
PRIMARY KEY (userID)
);
b、初始化一条数据
INSERT INTO s_user (userID,userName,loginName,loginPwd) VALUES (1,\'超级管理员\',\'admin\',\'admin\')
c、创建对应的JavaBean类
package com.itheima.domain;
import java.io.Serializable;
public class User implements Serializable {
private Integer userID;
private String userName;
private String loginName;
private String loginPwd;
private String gender;
private String birthday;
private String education;
private String telephone;
private String hobby;
private String path;
private String filename;
private String remark;
// getter 和 setter 方法
4.2、用户登陆
a、登陆页面
![](https://image.cha138.com/20210525/e076bc651746432bb4885c513297d39b.jpg)
b、登陆成功:转向/login/home.jsp
c、struts.xml配置文件
![](https://image.cha138.com/20210525/6de42662bbc64e72aec03c5cd6392083.jpg)
d、动作类
![](https://image.cha138.com/20210525/5c840a5e916b407080e6dc3d86a561a7.jpg)
e、业务和Dao实现
![](https://image.cha138.com/20210525/b8d2a6afb7b94fbca01f21450a7c1f55.jpg)
截图如下:
![](https://image.cha138.com/20210525/464451c811bc4a3da1e831e82cfb91d2.jpg)
写DAO具体实现前:先导入DBUtilS和数据库连接驱动的jar包、JNDIUtil的工具类和相对应的配置文件context.xml
![](https://image.cha138.com/20210525/06ccf016719d451e898e05965dafe656.jpg)
context.xml文件内容如下:
![](https://image.cha138.com/20210525/16fbe7e5814f4acb9a211f3e06faa84d.jpg)
截图如下:
![](https://image.cha138.com/20210525/3394b5abc990498cb7a4374fa733bf5e.jpg)
f、配置Spring容器,管理业务和dao
后面学完后再补上撒!
g、更改JSP页面:login.jsp
更改默认展现模板主题
![](https://image.cha138.com/20210525/dd57521fbf72414bb98b53ef86d30009.jpg)
把login.jsp中的标签换成struts2的标签以及登陆失败提示
![](https://image.cha138.com/20210525/a1a887eff19842a7a97ccbcc1b1997b4.jpg)
截图如下:
![](https://image.cha138.com/20210525/28ed07a8bf2e485a8fec13ee26758aa1.jpg)
5、更改欢迎信息
截图如下:
![](https://image.cha138.com/20210525/5f1c35991a944555b0515d4ffb8100df.jpg)
截图如下:
![](https://image.cha138.com/20210525/c6ab86be43244430b8fdf9849a128141.jpg)
截图如下:
![](https://image.cha138.com/20210525/4dca729f436247b0b388c0d203599551.jpg)
6、添加用户
/user/add.jsp
![](https://image.cha138.com/20210525/e06ceddeb4704b0081ab06cc04eb737e.jpg)
a、把add.jsp的标签全部换成struts2的标签
![](https://image.cha138.com/20210525/de031088ca68401b92220489740fd758.jpg)
b、struts.xml
![](https://image.cha138.com/20210525/4099df1ed14d429997d591824c9d0975.jpg)
c、动作类
![](https://image.cha138.com/20210525/89249f8335c44a2ca775e09ac6c7b61d.jpg)
7、查询所有的用户
![](https://image.cha138.com/20210525/f296fd37f6dd4b928330ae41bf23dfbe.jpg)
/user/list.jsp
![](https://image.cha138.com/20210525/a30d1c76960f4e7dbd8ba01735ece01b.jpg)
a、修改左侧菜单的链接地址
![](https://image.cha138.com/20210525/b99fb01306314411ba5458ce1914cc71.jpg)
b、struts.xml配置文件
![](https://image.cha138.com/20210525/f065fea834b2410ca46648b84be572e4.jpg)
c、动作类
![](https://image.cha138.com/20210525/b8de7f8d431c41deb1d05702b4a58ca6.jpg)
截图如下:
![](https://image.cha138.com/20210525/827816438ceb4cd781fe680930d64395.jpg)
d、修改list.jsp的显示结果
![](https://image.cha138.com/20210525/e22bc2ee92e54593bd4bebcdb44cc184.jpg)
e、查询结果如下图所示
![](https://image.cha138.com/20210525/872d38a1b7da47f8bdfec5fc9885f253.jpg)
8、删除一条记录
a、list.jsp
![](https://image.cha138.com/20210525/7ff809ad84b74fe7ab6d87385dfbb4c0.jpg)
b、struts.xml配置文件
![](https://image.cha138.com/20210525/b64fa6de89d64c389b33d9e2b81b6d56.jpg)
c、动作类
![](https://image.cha138.com/20210525/b85c685100044d3dbb98ad8bb0a7aacd.jpg)
9、查看用户
显示查看结果/user/view.jsp
![](https://image.cha138.com/20210525/464207232ba348e796bacdb7fb71ffec.jpg)
a、list.jsp
![](https://image.cha138.com/20210525/f1c99178aeb640d5bd030f81a7aa943b.jpg)
b、struts.xml
![](https://image.cha138.com/20210525/c4597c565ffc4b7893b893bb4ce99fa8.jpg)
c、动作类
![](https://image.cha138.com/20210525/44a245af093243178213a4fe47d2416f.jpg)
d、view.jsp
![](https://image.cha138.com/20210525/1830499a3bae433da68723886776f063.jpg)
e、效果如下图所示
![](https://image.cha138.com/20210525/9817a560873f4fb6b2634b7a332dda3a.jpg)
10、查看用户信息时的文件下载
a、view.jsp
![](https://image.cha138.com/20210525/800381f59033472194638734db5a8590.jpg)
b、动作类
![](https://image.cha138.com/20210525/a2bb3438f4dd46cca8f87c7d8254f8ca.jpg)
c、struts.xml配置文件
![](https://image.cha138.com/20210525/ebde8160abd44f20a431c9c0a26f5d1a.jpg)
11、用户修改:显示内容
a、list.jsp
![](https://image.cha138.com/20210525/8065263c58244f4abb7fe3bed826ef13.jpg)
b、struts.xml
![](https://image.cha138.com/20210525/7ab9eeb44e74410291d9f8bb7e99b387.jpg)
c、动作类
![](https://image.cha138.com/20210525/2077f5f5052d4d9581ee4cc0c2002a5e.jpg)
d、edit.jsp
该截图与add.jsp的相同。
但是会有问题,在用户上传简历的那部分:
如果用户第一次没有上传简历,那么用户修改的时候上传简历,没有问题;
如果用户第一次已经上传过简历,修改的时候不上传新的简历,此时edit.jsp页面中并没有对应的下载的字段信息。再保存的话,这两个字段的信息就为null了。
12、用户修改:保存修改后的数据
a、struts.xml
![](https://image.cha138.com/20210525/ea6c3022569946c6a3898fefcc901757.jpg)
b、动作类
![](https://image.cha138.com/20210525/2a8a1a6c8f4d4aeea311c20eae1e1066.jpg)
c、再次修改edit.jsp
![](https://image.cha138.com/20210525/e5cc06ba56d746c0a04efc0d31163db7.jpg)
13、按条件查询
![](https://image.cha138.com/20210525/731f9f9d4b2f47c3b657b7f96a545557.jpg)
什么条件都不选就是忽略条件
a、list.jsp
![](https://image.cha138.com/20210525/255ac6bdfa4040ba9d21f82e6f29f54e.jpg)
b、struts.xml
![](https://image.cha138.com/20210525/d8535944dd1a4b22bdc577f4bfd5b9b1.jpg)
c、动作类
![](https://image.cha138.com/20210525/a7c93dc5041e4f1180d3e4a7628f4187.jpg)
d、dao
![](https://image.cha138.com/20210525/56e85085541f46cf8b2258701886dd38.jpg)
14、自定义登陆检查拦截器
a、CheckLoginInterceptor.java
![](https://image.cha138.com/20210525/ab7ba52d35004f14ac17e9e7a52ef198.jpg)
b、struts.xml
![](https://image.cha138.com/20210525/a3540bc906094db59ba00f2dd7a4d9d1.jpg)
以上是关于day28_Struts2综合案例的主要内容,如果未能解决你的问题,请参考以下文章