Struts1简单例子Word格式文档下载.docx
- 文档编号:19544745
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:14
- 大小:1.01MB
Struts1简单例子Word格式文档下载.docx
《Struts1简单例子Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Struts1简单例子Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
/servlet-name>
servlet-class>
org.apache.struts.action.ActionServlet<
/servlet-class>
init-param>
param-name>
config<
/param-name>
param-value>
/WEB-INF/struts-config.xml<
/param-value>
<
/init-param>
跟初始化相关的。
指向struts-config.xml
思考:
struts-config.xml可以改名吗?
load-on-startup>
0<
/load-on-startup>
在服务一启动就实例化
/servlet>
servlet-mapping>
url-pattern>
*.do<
/url-pattern>
/servlet-mapping>
一、一个简单的Struts应用
1.开发Form
●建立一个类,继承ActionForm
●在配置文件中注册该Form
form-beans>
<
form-bean
name="
loginForm"
type="
my.example.LoginForm"
>
/form-bean>
/form-beans>
2.开发Action
●建立一个类,继承Action
覆盖execute方法
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
LoginFormloginForm=(LoginForm)form;
if(loginForm.getUsername().equals("
mary"
))
returnmapping.findForward("
loginSuccess"
);
else
loginFailure"
}
●在配置文件中注册该Action
action-mappings>
actionpath="
/login"
my.example.LoginAction"
name="
forwardname="
path="
/LoginSuccess.jsp"
/>
/LoginFailure.jsp"
/action>
/action-mappings>
3.JSP文件
Login.jsp
body>
formaction="
%=request.getContextPath()%>
/login.do"
method="
post"
username:
inputtype="
text"
username"
br>
password:
password"
submit"
value="
login"
/form>
/body>
request.getContextPath()获取系统路径
LoginFailure.jsp
execute方法:
第一步:
强制转型为ActionForm子类
第二步:
业务逻辑处理
第三步:
跳转
几次读取配置文件?
如果配置文件里没有这个Action?
试一试会怎样?
将action-mapping内容删掉,看看错误。
将action标签中的loginform去掉,
报错误:
空指针
带的form为空
将action标签中的loginForm写错
带错了。
改写execute方法:
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
Stringforwardkeywords="
"
;
forwardkeywords="
returnmapping.findForward(forwardkeywords);
}
将action标签中的loginForm去掉,将execute中的业务逻辑处理去掉,
没有报异常,因此可以
但是关键字为空,在配置文件中找不到,因此什么也不显示
将jsp文件中name改为username1
报nullpointerexception
测试:
在execute方法中在第二句写上System.out.println(loginForm);
1.谁来填充Form?
什么时候填充?
根据什么填充?
2.ActionServlet怎样把请求派发给Action?
3.Action运行完后怎样跳转?
使用Struts增加学生
1.配置Struts环境
2.addStudentForm(extendsActionForm):
sId,sname,major,birth,score
form-beanname=”addStudentForm”type=”my.example.addStudentForm”>
3.addStudentAction(extendsAction)
actionpath=”/addStudentAction”type=”my.example.addStudentAction”name=”addStudentForm”>
forwardname=”addStudentSuccess”path=”/addStudentSuccess.jsp”/>
forwardname=”addStudentFailure”path=”/addStudentFailure.jsp”/>
IStudentDAO,studentDAO
addStudent(addSutdentFormstudentForm)
4.jsp页面:
addStudent.jspaddStudentSuccess.jspaddStudentFailure.jsp
5.
ActionForm描述:
修改配置文件
创建AddStudentAction类并修改struts配置文件。
失败返回初始页面
第四步:
创建接口DAO
第五步:
写execute方法
Execute方法
第六步:
写DAO类
此时可以先测试通不通?
此处不全
struts工作原理
1.初始化struts框架总控制器,需要读取struts-config.xml
2.等待客户发出http请求,.do的请求就可以
3.填充FormBean
4.将请求转换到具体Action处理
5.调用后台业务功能类完成商业或业务逻辑。
不论如何调用,最终还是回到Action
第五步跟Struts没什么关系
6.回到ActionServlet,返回目标响应对象
7.转换http请求到目标响应对象,即找到相应的jsp文件
8.http响应,显示在客户端
总结这八步:
什么时候读取配置文件struts-config.xml?
启动的时候
请求先进入服务器,.do的请求才进struts控制器。
填充form就是将一个对象的成员变量放置对应的值。
首先要构建一个对象——实例化,
实例化后就进行填充数据,最后还保存。
目的是将form传给action用。
填充数据时数据来自用户提交的表单数据。
根据什么去找action?
struts-config.xml的action标签
注意是将结果展现给用户
JSP不是在客户端运行的
配置文件的作用:
把这些常用控件组合在一起
form-bean是否类似于变量的定义?
如果配置文件中action标签的path写为”login.do”则报错
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Struts1 简单 例子