首页 > 编程语言 > 详细

Java中使用Struts配合Jsp实现控制层

时间:2021-04-09 23:58:42      阅读:30      评论:0      收藏:0      [点我收藏+]

Struts2

Struts2是一个优秀的MVC框架,大大降低了各个层之间的耦合度,具有很好的扩展性。

理解Struts2的运行流程

技术分享图片

这是整个Struts2的请求和响应流程,下面看具体代码中是如何体现的。

代码实现逻辑 配置web.xml拦截所有的请求让Struts来管理:

//web.xml,首先在web.xml中添加如下代码,拦截所有请求,即所有请求现在全部归Struts2框架管了
<filter>
<filter-name>struts</filter-name>
<filter-class>
      org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
   </filter-class>
</filter>
<filter-mapping>
       <filter-name>struts</filter-name>
       <url-pattern>/*</url-pattern>
</filter-mapping>
?

编写MVC的控制层Action类

//编写Action充当控制器
public class LoginAction extends ActionSupport {
   private String username;
   private String password;
   public String getUsername(){
       return this.username;
  }
   public void setUsername(String s){
       this.username = s;
  }
   public String getPassword(){
       return this.password;
  }
   public void setPassword(String s){
       this.password = s;
  }
//默认调用action中的execute方法
   public String execute() throws Exception{
?
       if(getUsername().equals("walker")&&getPassword().equals("yam")){
           return SUCCESS;
      }
       return ERROR;
  }
}

配置Struts的指定控制层类 action中配置 result指定后台retrun 出的页面

//新建Struts.xml文件用于配置框架
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
   "http://struts.apache.org/dtds/struts-2.3.dtd">
?
<struts>
   <package name="walker" extends="struts-default">
       <action name="login" class="MyPackage.LoginAction">
           <result name="error">/error.jsp</result>
           <result name="success">/index.jsp</result>
       </action>
   </package>
</struts>

jsp发送请求去struts配置类去寻找指定的控制层

/*login.jsp*/
<html>
 <head>
   <title>login</title>
 </head>
 <body>
   <form method="post" action="login.do">
      姓名:<input type="text" name="username" /><br />
      密码:<input type="password" name="password" /><br />
       <input type="submit" value="提交"/>
   </form>
 </body>
</html>

struts开发: 首先在jsp文件中找到相应的请求例如CharList.do .do的请求会先找struts的配置struts-config.xml配置类 配置类会指定一个类来做控制层controller例如execute() 一个请求就需配置一个类继承Action类并写上execute()方法进行请求访问 然后execute()方法中调用impl实现类来处理结果集,有可能它们封装了其他的类 例如CHDRDetailPage 就是他们自己封装的处理类,在里面使用了Impl或dao来处理结果。 在jsp指定跳转到哪个请求接口时例如:

                                action这是他指定的请求 method属性是它指定的方法
<form styleId="CallBackQBMForm" action="callBackQBM.do?method=queryList" method="post">
ActionForward是来指定你配置跳转的页面,页面配置在struts-config.xml中配置
<action
   attribute="groupChdrForm"    
     name="groupChdrForm" //别名
    path="/callBackQBM" //请求的路径拦截
    parameter="method" //指定的方法通过jsp请求参数带入
    scope="request"//这个属性就是问,从表单获取的值,是存储在什么位置上。可以使当页、请求、会话和应用。
    type="com.citic.crm.ncrm.strust.action.group.CallBackQBMAction" //通过该类来进行处理
    validate="false">
    <forward name="query" path="/ncrm/group/groupChdrQuery.jsp" /> //最后跳转的页面
  </action>
取个别名 绑定这个jsp的文件路径,用于指定页面跳转
反推出来 在编写dao层时在serviceImpl中调用然后需要再控制层controller类继承action来控制action层
指定需要通过cation.xml来配置,cation是通过form表单中的 action="callBackQBM.do?method=queryList" method="post
来指定控制层调用的接口

 

 

Java中使用Struts配合Jsp实现控制层

原文:https://www.cnblogs.com/pemoeo/p/14638232.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!