struts1.x入门笔记

struts1.x入门
1.struts1.x的工作流程
 检索与用户请求匹配的ActionMapping实例(配置文件里面找)
 创建ActionForm对象,提取并保存表单参数
 使用ActionForm的validate方法进行表单验证(失败会返回原来输入表单的页面)
 ActionServlet传递请求给相应的Action
 Action的execute方法返回ActionForward对象
 ActionServlet转发请求给ActionForward描述的JSP
 
开发过程
2.分析第一个struts应用需求
 接受用户输入一个姓名,然后返回“你好,<name>!”
 如果没有输入内容提交表单,则返回出错信息
 如果输入姓名为“god”,则返回错误信息,拒绝向god打招呼
 
3.准备eclipse项目
 启动eclipse
 配置好server
 配置好jdk编译环境
 创建一个动态的web项目hellostruts
 将struts1的相关jar库加到WEB-INF/lib中


4.创建视图组件
 编写一个表单页面hello.jsp(让用户输入姓名,和点击提交按钮)
 <body>
   <form name="hello_form" method="post" action="hello.do">
      user name:<input type="text" name="name"/>
      <input type="submit" value="submit"/>
   </form>
 </body>


 创建完成后跳转页面ok.jsp
 利用表达式语言,从请求中的参数里把名字找出来诠释在这里
 
解释:
name:为这个表单form起一个名字
method:表单提交方法 post/get
action:表单提交给谁,从web.xml中可以发现servlet-mapping的action是通过*.do映射的,所以可以命名为**.do


 编写form类HelloForm继承ActionForm类(表单中的内容会被提取出来放到form类中去)
 private String name;
 set&&get方法
 重写validate方法用于验证表单中输入的数据是否正确
 本例中:name不为空 若错为ActionErrors集合add一个错误
 
5.创建action类
 编写action类继承action类
 重写覆盖execute()方法,做业务处理
 实现如果名字为god,返回错误信息
 本例中
 如果名字错误 return mapping.getInputForward();//返回到之前输入的页面
 如果名字正确 return mapping.FindForward("success");//一个叫success的配置,配置中会指定转到哪个页面


6.创建配置文件
创建struts-config.xml
配置表单和action
配置表单类
<form-bean name="helloform" type="com.web.action.HelloForm" />


解释:
form-bean中的name:给表单类起的名字(名字是啥没要求)
type:是写的ActionForm类的路径,意思是请求来了,请用这个HelloForm表单类来帮我接收参数


配置Action
<action path="/hello" 
        name="helloForm" 
        type="com.action.HelloAction"
        input="/hello.jsp"
        validate="true">
  <forward name="success" path="/ok.jsp" />
</action>


解释:
path指的是你送过来的*.do的*(注意路径/)
name就是告诉控制器来的是*.do时候用哪个Form表单来接收参数(就是刚刚配置的名为helloform的form-bean)
validate=true就是用来告诉这个表单是要验证的
type就是告诉控制器,如果表单验证通过的话,就是这个Action类执行


web.xml
<servlet></servlet>
<servlet-mapping></servlet-maping>

7.打包、发布与运行


上面是观看视频教程:http://v.ku6.com/show/wU8hayy_DNEhv0mT.html的笔记,详细可以看视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值