Struts学习(一)

Struts学习(一)



1.简介(Struts1)

    struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。


2.流程

    首先用户通过ie向服务器发请求,服务器接收到请求以后,交给Apache提供的ActionServlet类处理,该类会去找相应的配置文件(Struts-config.xml)得到要由哪个Action处理该请求,处理完后返回,将数据带给JSP显示.

           

2.配置

2.1配置ActionServlet

    ActionServlet是一个标准的Servlet,所以和一般的servlet配置一样,需要注意的是:

1.需要初始化配置<init-param>,这个配置用于去找相应配置文件的Action。

2.需要添加<load-on-startup>标签,用于自启动Servlet。

3.将映射匹配写成*.do,用于匹配所有已.do为结尾的HTTP请求,这是Struts的规范。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>struts11</display-name>
  
  
  <!-- 配置一个ActionServlet -->
  <servlet>
  	<servlet-name>ActionServlet</servlet-name>
  	<!-- Apache Struts包下的ActionServlet类路径 -->
  	<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  	<!-- 初始化,去找struts-config.xml配置文件 -->
  	<init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <!-- 将ActionServlet配置成自启动Servlet --> 
    <load-on-startup>2</load-on-startup>
  </servlet>
  
  <!-- ActionServlet映射 --> 
  <servlet-mapping>
  	<servlet-name>ActionServlet</servlet-name>
  	<!-- 匹配所有以.do为结尾的HTTP请求 --> 
  	<url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>


2.2配置ActionForm

    ActionForm就是配置JavaBean对象,该JavaBean对象必须继承ActionForm,且ActionForm 的属性必须与JSP 页面的表单域相同.也就是说用户带过来的域中的属性名要与Bean对象属性名一致,这样才能将数据封装到Bean对象中.

package cn.itcast.struts;

import org.apache.struts.action.ActionForm;
//javaBean对象
public class UserFormBean extends ActionForm{

	private String username;
	private String password;
	private String email;
	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;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	
}

    JavaBean对象需要在struts-config.xml中配置,用于被Action对象调用进行封装.name属性相当于一个id,当Action调用时就使用这个name属性,type表示该类的类路径。代码在2.3配置Action中有.


2.3配置Action

简单配置Action有2个步骤:1.写一个类继承Action,且重写execute()方法.如:

package cn.itcast.struts;

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;

public class Struts11 extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		UserFormBean user = (UserFormBean) form;
		System.out.println(user.getUsername());
		System.out.println(user.getEmail());
		System.out.println(user.getPassword());
		return super.execute(mapping, form, request, response);
	}


	
}

其中的form参数封装了JavaBean对象.该配置在struts-config中定义.如:

<?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>
	<!--JavaBean对象,用于将用户传过来的数据进行分装  -->
	<form-beans>
		<form-bean name="UserFormBean" type="cn.itcast.struts.UserFormBean"></form-bean>
	</form-beans>
	<!--action映射,如果用户发送的请求是"Register"的话,使用type中的类进行处理,数据的封装类为用name表示  -->
	<action-mappings>
		<action path="/Register" type="cn.itcast.struts.Struts11" name="UserFormBean"></action>
	</action-mappings>
</struts-config>




总结

今天简单的学习了一下struts1,感觉还行,明天继续.大笑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值