Struts入门

StrutsApache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。

工作原理如下:

用Struts来实现登录:

1、导入Struts的jar包

2、在web.xml中配置actionServlet(可以在Struts的实例中拷贝)

<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/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>


  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

3、提供Struts-config.xml文件,需要放到WEB-INF下

4、根据上面的约定,建立相关的类和jsp

5、编写这些类和jsp

5.1、LoginAction

继承Action,重新ActionForward方法,四个参数,mapping中解析了Struts-config.xml文件,form收集了表单提交来的数据。后面是request和response。

/**
 * 登录action
 * 负责取得表单数据,调用业务逻辑,返回转向信息
 * @author 曹学成
 *
 */
public class LoginAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		LoginActionForm laf= (LoginActionForm)form;
		String username=laf.getUsername();
		String password=laf.getPassword();
		if("admin".equals(username)&&"admin".equals(password)){
			return mapping.findForward("success");
		}else{
			return mapping.findForward("error");
		}
	}
	
}

5.2、LoginActionForm

/**
 * 登录actionForm,负责收集表单数据
 * 表单的属性,必须和ActionForm中的get和set的属性一致
 * @author 曹学成
 *
 */
@SuppressWarnings("serial")
public class LoginActionForm extends ActionForm {
	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;
	}
	
}

5.3、login.jsp

action属性为login.do不能加/  , do要和web.xml中的 <url-pattern>*.do</url-pattern>一致

<form action="login.do" method="post">
		用户:<input type="text" name="username"><br>
		密码:<input type="password" name="password"><br>
		<input type="submit" value="denglu"><br>
	</form>

5.4、在success.jsp和error.jsp中分别写入登录成功、登录失败。

6、演示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值