代码改变世界

[原]Java web学习系列之 Java web开发中的Struts框架结构

  雪夜&流星  阅读(366)  评论(0编辑  收藏  举报

Control层

      Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。  

Model部分

  由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。

  JavaBean则封装了底层的业务逻辑,包括数据库访问等。

View部分

  该部分采用JSP实现。

  Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。

添加Struts架包支持:

    图片

添加完架包就会自动生成一个Struts—config.xml配置文件

复制代码
<struts-config>

//显示模块数据
<form-beans />
<global-exceptions />

//用来指示操作转移的对象
<global-forwards />

//帮助控制器将请求映射到操作
<action-mappings />
<message-resources parameter="org.clarck.struts.ApplicationResources" />
</struts-config>
复制代码

接着在视图窗中添加action:右键—>新建—>action、form、jsp

图片

图片

图片

图片

复制代码
struts—config会出现对应的配置信息:

<struts-config>
<form-beans >
<form-bean name="loginForm" type="org.clarck.struts.form.LoginForm" />

</form-beans>

<global-exceptions />
<global-forwards /> //属性 描述

<action-mappings > //映射路径

<action
attribute="loginForm" //作用域名称
input="/login.jsp" // input 输入表单的路径
name="loginForm" //名称
path="/login" //Action类的相对路径
scope="request" //ActionForm bean的作用域(请求或会话)
type="org.clarck.struts.action.LoginAction"> //连接到本映射的Action类的全称(可有包名)
<forward name="index" path="/index.jsp" /> //操作类访问ActionForward时所用的逻辑名和响应转发的目标资源的路径
</action>

</action-mappings>

<message-resources parameter="org.clarck.struts.ApplicationResources" />
</struts-config>

LoginAction类中的相应操作:

public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
//获得上下文请求参数
String name=request.getParameter("username");
String pwd=request.getParameter("password");
//转发
return mapping.findForward("index");
}
}
复制代码

 

笔记记于:2010-8-25 13:54

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示