Struts2开发案例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
size="20" /> <s:textfield name="student.telephone" key="telephone"
size="20" /> <s:textfield name="student.sex" key="sex" size="20"
/> <s:textfield name="student.school" key="school"
<s:text name="succTip"> <s:param>${sessionScope.user}</s:param>
</s:texHale Waihona Puke Baidu><br/> </body> </html>
登陆失败界面error.jsp
<%@ page language="java" contentType="text/html; charset=GBK"
size="20" /> <s:textfield name="student.snumber" key="snumber"
size="20" /> <s:submit method="execute" key="label.add.student"
align="center" /> </s:form> </td>
西北师范大学计算机科学与工程学院学生 实验报告
学号:201371020107
2015年10月15日
计算
计
2013
机科
系别 算 专业
班级 软件 姓名
学与
机
一班
技术
高凯
课程名 面向对象分析 课程 专业必修 学时
称
与设计
类型
数
实验名 Struts2开发案例
称
实验目的和要求:
1. 熟悉和认识Struts2开发案例。 2. 对Struts2开发案例进行详细分析
<s:textfield name="student.email" key="email" size="20" />
<s:textfield name="student.telephone" key="telephone" size="20" />
<s:textfield name="student.sex" key="sex" size="20" />
</tr> </table> </body> </html>
查找学生:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>FindUser</title> </head>
<body> <h2 align="center">----------FindStudent----------</h2>
<table align="center" border="1" bordercolor="#3366cc">
<tr> <td>   <s:actionerror />
</s:form> </td>
</tr> </table> </body> </html>
实验总结:
通过本实验学会了struts2的体系结构, Struts 2以WebWork为核心,采用拦截器的机制来 处理用户的请求,这样的设计也使得业务逻辑控制 器能够与ServletAPI完全脱离开,所以Struts 2可 以理解为WebWork的更新产品。虽然从Struts 1到 Struts 2有着太大的变化,但是相对于WebWork, Struts 2的变化很小。
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%> <%@taglib prefix="s" uri="/struts-tags"%> <html> <head>
<title><s:text name="succPage"/></title> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> </head> <body>
<s:textfield name="student.id" key="id" size="20" />
<s:textfield name="student.name" key="name" size="20" />
<s:textfield name="student.age" key="age" size="20" />
</body> </html>
更新学生信息:
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Student Form - Struts2 Demo | ViralPatel.net</title> </head> <body> <h2 align="center">----------UpdateStudent---------</h2>
<body>
<h2 align="center">----------AddStudent----------</h2> <table align="center" border="1"
bordercolor="#3366cc"> <tr> <td>   <s:actionerror />
<s:form action="student" method="post" namespace="/" >
信息 .3 Controller调用ActionProxy .4 ActionProxy读取struts.xml文件获取action
和interceptor stack的信息 .5 ActionProxy把request请求传递给
ActionInvocation .6 ActionInvocation依次调用action和
<s:textfield name="student.school" key="school" size="20" />
<s:textfield name="student.snumber" key="snumber" size="20" />
<s:submit method="execute" key="label.add.update" align="center" />
interceptor
.7 根据action的配置信息,产生result .8 Result信息返回给ActionInvocation .9 产生一个HttpServletResponse响应 .10 产生的响应行为发送给客服端。
3.Structs2设计
登陆界面login.jsp
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<body> <h2 align="center">----------FindStudent----------
</h2> <table align="center" border="1"
bordercolor="#3366cc"> <tr> <td>   <s:actionerror /> <s:form action="delete.action" method="post"
<s:textfield name="student.id" key="id" size="20" /> <s:textfield name="student.name" key="name" size="20" /> <s:textfield name="student.age" key="age" size="20" /> <s:textfield name="student.email" key="email"
validate="true"> <s:textfield name="id" key="id" size="20" /> <s:submit method="execute" key="label.add.delete"
align="center" /> </s:form> </td> </tr> </table>
<s:form action="find.action" method="post" validate="true">
<s:textfield name="id" key="id" size="20" /> <s:submit method="execute" key="label.add.find" align="center" /> </s:form> </td> </tr> </table> </body> </html>
实验内容:
1. MVC模式 MVC:Model-View-Controller
2. Structs2工作原理
2.1
Container调用控制器(Struts2.1以前
FilterDispatcher,以后为
StrutsPrepareAndExecuteFilter .2 Controller通过ActionMapper获得Action的
<%@taglib prefix="s" uri="/struts-tags"%>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title><s:text name="loginPage"/></title> </head> <body> <s:form action="login">
<table align="center" border="1" bordercolor="#3366cc">
<tr> <td>  
<s:actionerror /> <s:form action="update.action" method="post" validate="true" >
删除学生:
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Student Form - Struts2 Demo | ViralPatel.net</title> </head>
</head>
<body>
<s:text name="failTip"/>
</body>
</html>
登录界面:
登陆成功
登陆失败
添加学生:
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Customer Form - Struts2 Demo | ViralPatel.net</title> </head>
pageEncoding="GBK"%> <%@taglib prefix="s" uri="/struts-tags"%> <html>
<head>
<title><s:text name="errorPage"/></title>
<meta
http-equiv="Content-Type"
content="text/html; charset=GBK">
<s:textfield name="username" key="user"/>
<s:textfield name="password" key="pass"/> <s:submit key="login"/> </s:form> </body> </html>
登陆成功界面welcome.jsp