# Strurt2_demo
**Repository Path**: three_fu/Strurt2_demo
## Basic Information
- **Project Name**: Strurt2_demo
- **Description**: No description available
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-05-15
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## Struts2 _demo
* Demo01 : simple_demonstrate `_第一个_` Struts2 Demo
1. 默认方法`execute()` ,自定义方法`add()` , `action` `method` 属性 ,通配符匹配自定义方法设置
2.result `type`属性 默认值 `dispatcher` :转发操作; `redirect`值: 重定向操作
/Demo01/hello.jsp
* Demo02 : `request_demo` _域读取_
HttpServletRequest request=ServletActionContext.getRequest();// 获取request对象
request.setAttribute("name","na1321me");//向域内添加值
* Demo03 : Hibernate + Struts2 _遍历数据库_ 使用 `request` 域
1.设置实体类 `User`
2.用`request`传值到 `jsp`
* Demo04 : 获取表单数据 , 三种方式
1. `ActionContext`
2.`ServletActionContext`
3.`implements ServletRequestAware`
* Demo05 :原始方法获取表单数据封装到实体类
* Demo06 : 1.属性封装; 2.模型驱动封装; 3.表达式封装 4.封装到list对象 5.封装到map对象
_区别: 模型驱动封装只能封装数据到一个实体类,表达式封装可以封装多个_
* Demo07 : 用户注册登录测试,注意:User实体类经mysql创建表,默认校验字符集 `utf-8-ci`,查询存储字段不区分大小写,“Mary”与“mary”同义
需改成 `utf-8-bin` ,用以区分用户名大小写
* Demo08 : 获取值栈对象
ActionContext context = ActionContext.getContext();
ValueStack valueStack=context.getValueStack();
* Demo09 : 向值栈存储数据
* Demo10 : 值栈遍历数据库测试
public class UserList extends ActionSupport {
private List list = new ArrayList<>();
public List getList() {
return list;
}
@Override
public String execute() throws Exception {
UserDAO userDAO=new UserDAOImpl();
list=userDAO.selAll();
return SUCCESS;
}
}
* Demo11 :自定义拦截器 :
extends MethodFilterInterceptor
login
/Demo11/UserList.jsp
/Demo11/login.jsp
/Demo11/addUser.jsp