struts1.3总结
来源:互联网 发布:手机淘宝能开网店么 编辑:程序博客网 时间:2024/06/05 15:19
1.struts概述
struts是一种web层的框架,它封装了web层数据,使编写servlet容易了许多。
2.Struts原理
Struts将网页传过来的数据封装到from类中,使action之后获取数据直接从from中取得,并且也定义了简单的跳转关系。至于form和action的关系,需要在struts-config.xml中配置。至于web服务器怎么知道struts的存在,需要再web.xml中配置。
3.开发流程
4.例子:
手动配置流程(以登陆验证系统为例):
一、首先 在Eclipse下创建一个动态Web项目,将下载好的struts1.3.10的压缩包解压之后的lib目录下的jar文件全部拷贝到对应的Web项目 的WEB-INF下的lb目录下,此时在本项目的Web App Libraries可以看到我们引进去的包。WEB-INF用于存放一些驱动包。
二、在WEB-INF目录下编写简单的login.jsp页面,body标签中的主要代码如下。
<span style="font-size: small;"><form action="/StrutsLogin/login.do" method="post"> 用户名:<input type="text" name="username"/><br/> 密码:<input type="password" name="password"/><br/> <input type="submit" value="登陆"/> </form></span>
三、创建用户表单类UserForm。表单类主要用来存放数据。代码和详细注释如下。
Java代码
package cn.yzz.forms; import org.apache.struts.action.ActionForm; /** * 用户表单类,用于填充数据 */ public class UserForm extends ActionForm { //在这里为了规范:定义属性名时应该和JSP页面的控件名称一样 //实际只需保证set和get方法和属性名有关联 set属性名 private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
四、编写LoginAction,继承自Action,对应于分控制器,用于处理Form提交的表单数据。
Java代码
package cn.yzz.actions; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import cn.yzz.forms.UserForm; /** * 登陆Action,用于处理登陆请求 */ public class LoginAction extends Action{ //execute自动调用, @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //将Form强转为UserForm UserForm userForm = (UserForm)form; String username = userForm.getUsername(); String password = userForm.getPassword(); //将用户名存入request表单域中 request.setAttribute("username", username); if("888888".equals(password)) return mapping.findForward("welcome"); else return mapping.findForward("error"); } }</span>
五、在WEB-INF下新建一个名为config的文件夹,在config文件夹里面创建名为struts-config.xml文件,这是struts的配置文件,在此文件中,详细配置struts。下面是struts的详细配置信息及其注释。
Xml代码
<span style="font-size: small;"><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-Apache Software Foundation//DTD struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <!-- 配置表单 --> <form-beans> <!-- name为表单名字,可以随意,建议取名:表单类名的小写 --> <!-- type用于指定表单类的全路径 --> <form-bean name="userForm" type="cn.yzz.forms.UserForm"></form-bean> </form-beans> <!-- 配置action --> <action-mappings> <!-- path:将来访问action的uri name必须和表单名相同,用于关联某个表单 type:指定action的全路径--> <!-- scope:指定该action对应的表单对象的生命周期为request级别 =request.setAttribute("userForm",userForm),默认为session--> <action path="/login" name="userForm" scope="request" type="cn.yzz.actions.LoginAction"> <!-- 这里配置跳转关系 name:结果名称 path:转发页面--> <forward name="welcome" path="/WEB-INF/welcome.jsp"></forward> <forward name="error" path="/WEB-INF/error.jsp"></forward> </action> </action-mappings> </struts-config></span>
六、配置WEB-INF目录下的web.xml文件,此文件主要存放服务器的配置信息。
Xml代码
<span style="font-size: small;"><servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/config/struts-config.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping></span>
七、最后在WEB-INF目录下编写weicome.jsp和error.jsp页面,填入简单的信息即可。在welcome.jsp页面中主要代码如下。
Html代码
- <span style="font-size: small;"><body>
- 恭喜<%=((UserForm)request.getAttribute("userForm")).getUsername()%>登陆成功!
- <a href="/StrutsLogin/">返回重新登陆</a>
- </body></span>
这样,最简单的一个Struts应用就搞定了,手动配置有助于初学者了解Struts的原理。熟悉了原理之后,就可以用相对简单的MyEclipse来开发Struts了!
- struts1.3总结
- Struts1.3源代码学习总结
- struts1总结
- struts1 总结
- struts1总结
- struts1总结
- struts1总结
- struts1总结
- Struts1总结
- struts1总结
- Struts1配置文件总结
- struts1的总结
- struts1一点小总结
- struts1学习总结
- Struts1配置文件总结
- Struts1配置文件总结
- Spring整合Struts1总结
- Struts1 面试题目总结
- PCB设计资料:看到最后才知道是福利
- Can't load IA 64-bit .dll on a AMD 64-bit plat
- c代码片段——在自己代码中即时接收errno
- wpf 中的treeviewitem:基于数据初始化控件 数据动态加载 右键选中
- 关于Android的DEX文件
- struts1.3总结
- 堆排序_最大优先队列
- CONVERT function [Data type conversion]
- MongoDB使用教程
- css+html简单布局demo
- LabVIEW上位机与串口通信
- CentOS配置smaba与Windows共享文件
- Access 操作或事件已被禁用模式阻止
- 正则表达式的使用