开发者学堂课程【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 >(上面绿色部分结果集的跳转已经实现并且映射了相关的 URL)
</ 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=“password”name=”pwd”/><br>
<input type=“submit”value=”登录“/>
</form>
</body>
6. 编写 LoginAction 类
public class LoginAction{
private String name ;
private String pwd ; (红色部分为重点!)
//处理方法
public String execute (){
if ("siggy". 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 =" default ” namespace ="/" extends =" struts - default ”>
<action name =" Login "calss ="cn.sxt.action.LoginAction">
< result name =" success ">/ success . jsp く/ result >
< result name =" failed ">/ login . jsp く/ result >
</ action >
</ package >
8. 访问测试
