开发者学堂课程【Java Web开发系列课程 - Struts2框架入门:Struts2入门二】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/537/detail/7288
Struts2入门二
课程简介:
一.Struts2框架的作用
二.如何建立 struts
一.通过上述 Struts2这个框架可以做四件事情
1.将 URL Ins 到 HelloAction{ 里面进行处理
package cn . sxt . action ;
public class HelloAction{
public String execute (){
System . out . println (" hello struts2");
return " success ";
}
}
2.封装数据
3.将响应数据封装好进行渲染
4.跳转路径
<? xml version ="1.
0
” encoding =" UTF -8”?>
<!DOCTYPE struts PUBLIC
"
-//Apache Software Foundation//DTD Struts Configuration 2.3//EN ”
"http://struts. apache . org / dtds / struts -2.3.dtd">
<
struts >
く
!-- extends 必须写,直接或者间接继承 struts - default name 自定义﹣->
< package name =" helLo ” extends =" struts - default ">
く
!-- name 是请求名称,不要写/; clasS 对应 action 完全限定名=包名+类名﹣->
< action name =" hello ” class =" cn . Sxt . action . HeLLoAction ">
<!-- result 是结果集 name 和对应 action 中的方法的返回值匹配,默认是 success -->
く result name =" success ">/ index
.
jsp
<
/ result >
く
/ action >
(上面绿色部分结果集的跳转已经实现并且映射了相关的 U
RL
)
</ package >
public class HelloAction{
public String execute (){
System . out . println (" hello struts2");
return " success ";
}
}
OGNL 表达式如何收集用户数据?该数据如何显示渲染?
通过编写代码体会 struts2的作用
二.如何建立 struts
1. 建立项目
2. 导入 jar 包
3. 找 struts core 包并删除多余部分
< filter >
< filter - name >struts2く/ filter - name >
< filter - class > org . apache .struts2.dispatcher. ng. filter . Strut sPrepareAndExecuteFilter </ filter - class >
</ filter >
く
filter - mapping >
< filter - name >struts2く/ filter - name >
< url - pattern >*. action く/ url - pattern > (
红色部分很重要
)
</ filter - mapping >
4. 配置相关代码
注意:
struts2提交地址默认情况以.action 为扩展名提交(提高效率防止走入过滤器)
action 的扩展名和 web.xml 中配置的 struts2的核心过滤器相匹配;也就是说如果表单中提交的地址以.action 结尾,那么在配置 filter 的 url-pattern 时一定是:
<url-pattern
>*.action</url-pattern>
可以在 struts 阔包的 properties 中修改配置(如下图所示)
用户登陆案例
1. 新建 web 项目
2. 导入 struts2的 jar 包
3. 配置 web xml 配置 struts2的核心过滤器
4. 在 scr 编写 struts.xml
5. 编辑 login.jsp
<
body>
<form action=”login.action”method=”post”>
用户名:<
input
type=“text”name=“name”/>
<br>
密码::<
input
type=“p
assword”name=”pwd”/><br>
<
input
type=“s
ubmit”value=”
登录“/>
<
/form>
<
/body>
6. 编写 LoginAction 类
public class LoginAction
{
private String name ;
private String pwd ; (
红色部分为重点!
)
//
处理方法
public String execute (){
if ("sig
gy
". equals ( name )&&"1111". equals ( pwd ))
{
return " success ";
}
else
{
return " failed ";
}
}
public String getName ()
{
return name ;
}
public void setName ( String name )
{
this . name = name ;
}
Public String getPwd ()
{
return pwd ;
}
public void setPwd ( String Pwd )
{
this . pwd = pwd ;
}
}
注:
LoginAction 中的属性名和表单中表单元素的名称要一致。第五步和第六步紫色代码。并且为属性提供 get/set 方法。
Struts2自动将用户提交的表单数据设置到 LoginAction 的对应属性上。并且在 jsp 中可以直接获取,不用手动向 request 设置。
7. 配置 struts.xml 中配置 loginaction
< package name =" defau
l
t ” namespace ="/" extends =" struts - default ”>
<
action name =" Login "c
a
lss ="cn.sxt.action.LoginAction">
< result name =" success ">/ success . jsp く/ result >
< result name =" failed ">/ login . jsp く/ result >
</ action >
</ package >
8. 访问测试