day28_Struts2综合案例

2018-10-11 10:41:25 浏览数 (1)

1、建立一个JavaWeb应用

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

3、搭建Struts2的开发环境

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

b、配置Struts2核心过滤器

  web.xml

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

4、具体开发

4.1、数据模型

  a、建立表格

代码语言:javascript复制
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、初始化一条数据

代码语言:javascript复制
INSERT INTO s_user (userID,userName,loginName,loginPwd) VALUES (1,'超级管理员','admin','admin')

  c、创建对应的JavaBean类

代码语言:javascript复制
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 人点赞