day28_Struts2综合案例

1、建立一个JavaWeb应用

2、拷贝一下内容到您应用中:美工MM给你准备好的

3、搭建Struts2的开发环境

a、拷贝必要的jar包(图中黄色框框) 和 与数据库操作有关的jar包与配置文件(图中绿色框框)

b、配置Struts2核心过滤器

  web.xml

c、在src目录下建立struts.xml配置文件

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;
    
    public Integer getUserID() {
        return userID;
    }
    public void setUserID(Integer userID) {
        this.userID = userID;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getLoginName() {
        return loginName;
    }
    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }
    public String getLoginPwd() {
        return loginPwd;
    }
    public void setLoginPwd(String loginPwd) {
        this.loginPwd = loginPwd;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public String getBirthday() {
        return birthday;
    }
    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
    public String getEducation() {
        return education;
    }
    public void setEducation(String education) {
        this.education = education;
    }
    public String getTelephone() {
        return telephone;
    }
    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }
    public String getHobby() {
        return hobby;
    }
    public void setHobby(String hobby) {
        this.hobby = hobby;
    }
    public String getPath() {
        return path;
    }
    public void setPath(String path) {
        this.path = path;
    }
    public String getFilename() {
        return filename;
    }
    public void setFilename(String filename) {
        this.filename = filename;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
} 

4.2、用户登陆

a、登陆页面

b、登陆成功:转向/login/home.jsp

c、struts.xml配置文件

d、动作类

e、业务和Dao实现

  写DAO具体实现前:先导入DBUtilS和数据库连接驱动的jar包、JNDIUtil的工具类和相对应的配置文件context.xml

  context.xml文件内容如下:

f、配置Spring容器,管理业务和dao

  后面学完后再补上撒!

g、更改JSP页面:login.jsp

  更改默认展现模板主题

  把login.jsp中的标签换成struts2的标签以及登陆失败提示

5、更改欢迎信息

6、添加用户

  /user/add.jsp

a、把add.jsp的标签全部换成struts2的标签

b、struts.xml

c、动作类

7、查询所有的用户

  /user/list.jsp

a、修改左侧菜单的链接地址

b、struts.xml配置文件

c、动作类

d、修改list.jsp的显示结果

e、查询结果如下图所示

8、删除一条记录

a、list.jsp

b、struts.xml配置文件

c、动作类

9、查看用户

  显示查看结果/user/view.jsp

a、list.jsp

b、struts.xml

c、动作类

d、view.jsp

e、效果如下图所示

10、查看用户信息时的文件下载

a、view.jsp

b、动作类

c、struts.xml配置文件

11、用户修改:显示内容

a、list.jsp

b、struts.xml

c、动作类

d、edit.jsp

    该截图与add.jsp的相同。

    但是会有问题,在用户上传简历的那部分:

如果用户第一次没有上传简历,那么用户修改的时候上传简历,没有问题;

      如果用户第一次已经上传过简历,修改的时候不上传新的简历,此时edit.jsp页面中并没有对应的下载的字段信息。再保存的话,这两个字段的信息就为null了。

12、用户修改:保存修改后的数据

a、struts.xml

b、动作类

c、再次修改edit.jsp

13、按条件查询

  什么条件都不选就是忽略条件

a、list.jsp

b、struts.xml

c、动作类

d、dao

14、自定义登陆检查拦截器

a、CheckLoginInterceptor.java

b、struts.xml

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据学习笔记

Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.5 HQL:DDL数据定义)(草稿)

第11章 Hive:SQL on Hadoop 11.5 HQL:DDL数据定义 HQL中数据定义部分,也就是DDL,主要包括数据库定义和数据表的定义。 前面创...

26890
来自专栏JavaEdge

MySql 全方位基础优化定位执行效率低的SQL语句存储过程与触发器的区别面试回答数据库优化问题从以下几个层面入手

59280
来自专栏Rgc

mysql数据库优化(二)

https://www.cnblogs.com/sevck/p/6733702.html

25920
来自专栏互联网杂技

SQL注入攻防入门详解

毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机会接触相关开发……必须的各种借口。这几...

665100
来自专栏SpringBoot 核心技术

第六章:使用QueryDSL的聚合函数

39920
来自专栏ChaMd5安全团队

老司机带你过常规WAF

0x00 前言 最近看了不少关于WAF绕过的文章,想把理论深化到实践当中去,于是就有了您正在看的这篇文章,这篇文章分为两大部分,分别写的是SQL注入相关的WAF...

588110
来自专栏Python攻城狮

数据库 - MySQL1.MySQL内容简介2.安装管理(linux)window下安装Mysql3.数据的完整性4.脚本命令操作5.数据库查询

MySQL数据库,是当前应用非常广泛的一款关系型数据库 MySQL官网 数据库排名

12930
来自专栏数据和云

一篇文章带你读懂 MySQL 和 InnoDB

原文地址 | http://draveness.me/mysql-innodb.html

16150
来自专栏Spark学习技巧

Java面试中常问的数据库方面问题

B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的节点间有指针相互链接,是有序的

14520
来自专栏Spark学习技巧

实战phoenix

一 安装部署 1, 下载 http://archive.apache.org/dist/phoenix/ 本文下载的是apache-phoenix-4.12....

439100

扫码关注云+社区

领取腾讯云代金券