框架SSH学习(Struts)

本文详细介绍了Struts框架的基本配置,包括Web.xml、struts-config.xml文件的配置、JSP页面写法、Action控制器的实现方法以及如何进行参数收集、配置转发或重定向。此外,还提供了Form参数收集器的封装步骤和基于struts-config.xml的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本模板
1、Web.xml配置文件的内容及作用

//ActionServlet默认加载WEB-INF 下的struts-config.xml文件。如果需要Struts 的配
//置文件不在WEB-INF路径下,或者改变了文件名,则应采用如下方式配置:
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
//处理的servlet拦截格式
<servlet-mapping>
<!一配置ActionServlet的URL 映射一〉
<servlet-name>actionSevlet</servlet-name>
<!一所有以.do 结尾的请求由ActionServlet拦截>
<url-pattern>*.do</url-pattern>
//配置主控制器ActionSetvlet 应增加如下片段:
<servlet>
<!一指定Servlet 的名字一〉
<servlet-name>actionSevlet</servlet-name>
<' 指定该Servlet 的实现类-->
<servlet-class>org.apache.struts.action.ActionServlet<Iservlet-class>
<!- 配置自启动的级别一〉
<load-on-startup>2</load-on-startup>
</servlet>

2、struts-config.xml配置文件的内容及作用

//配置文件的根元素
<struts-config>
</struts-config>
//
<action-mappings>
     <action 
            path="/register" 
            type="cn.itcast.web.struts1.action.RegisterAction" >

    </action>
</action-mappings>

// Action 的path 属性:(用户请求的路径,/表示当前web工程应用,无需写.do) 
// type属性:(该请求由哪个分控制器处理)

3、JSP页面写法

//写一个register.jsp页面
<form action="/day27/register.do" method="post">

4、分控制器写法

//写一个分控制器RegisterAction.java,该分控制器一定要扩展Action类,覆写execute()方法
//分控制器
public class RegisterAction extends Action{
    //覆写HTTP请求execute()方法
    @Override
    public ActionForward execute(
            ActionMapping mapping, 
            ActionForm form,
            HttpServletRequest request, 
            HttpServletResponse response)
            throws Exception {
        request.setCharacterEncoding("UTF-8");
        String username = request.getParameter("username");
        System.out.println("用户名:" + username);
        return null;
    }
}

二、提高
5、Form参数收集器封装
ActionForm用于封装用户的请求参数。

<form-beans>
        <form-bean 
            name="registerForm" 
            type="cn.itcast.web.struts1.form.RegisterForm"/>

</form-beans>

//"type"表示form收集器的JavaBean所在工程中路径。
//"name"表示JavaBean的重新命名,也是唯一ID标识。

<action-mappings>
     <action 
            path="/register" 
            type="cn.itcast.web.struts1.action.RegisterAction" >
            name="registerForm"
    </action>
</action-mappings>

//name是对Form收集器属性的扩展;必须与Form收集器的JavaBean标识ID一致。

6、自动封装用户的请求数据
开发RegisterForm的步骤:

a)写一个类扩展ActionForm 
b)写实例变量,该实例变量与参数名一致,大小写不同
c)为每个实例变量提交setter和getter方法,框架会使用setter方法将参数传入,在Action中使用getter方法取出参数值

7、基于struts-config.xml的配置转发或重定向
ActionForward 用于完成转发。
return ActionForward(“需要跳转的页面”,”false表示转发”或”true表示重定向”) , ActionForm默认放置在request域中。

 <action 
    path="/register" 
    type="cn.itcast.web.struts1.action.RegisterAction"
    name="registerForm"
    scope="request">
        <forward 
            name="toSuccessJsp(与Action一致的普通字符串)" 
            path="/success.jsp(跳转的真实路径)"
            redirect="false"(false转发true重写,默认为false)/>
        注意:在struts-config.xml文件中,/表示当前web应用,即当前web工程day27
   </action>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值