简单实例: 基于Struts2的登录系统

下面通过一个小例子来实际操作一下Struts2的开发,演示一个简单的登录系统。

基于Struts2开发Java web项目主要经过一下步奏:

(1)在web.xml中配置核心控制器FilterDispatcher。

(2)设计和编写视图组件(JSP页面)。

(3)编写用来实现试图组件的业务逻辑组件JavaBean。

(4)编写试图组件对应的业务控制器组件Action,在该Action中调用业务逻辑组件JavaBean,进行业务逻辑处理。

(5)配置业务控制器Action,即修改Struts.xml配置文件。在struts.xml配置文件中配置逻辑视图与物理视图之间的跳转关系。Action调用模型组件(业务逻辑组件)处理后返回处理结果(逻辑视图,即返回的字符串),根据处理结果进行下一步页面跳转。页面怎么跳转都是事先在struts.xml中配置好了的。

项目的具体代码:

(1)在web.xml中配置核心控制器

</pre><pre name="code" class="html"><span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0">
	<welcom-file-list>
	    <welcome-file>index.jsp</welcome-file>
	</welcom-file-list>
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter    <span style="font-family: Arial, Helvetica, sans-serif;"><!--在myeclipse中,加载的核心控制器最好就是这个类--></span>

		</fiter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>
</web-app></span>

(2)编写视图组件

<span style="font-size:14px;"><%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
     <title>基于Struts2的登录系统</title>
  </head>
  <body>
   <form method="post" action="lodin.action">
    用户名:<input name="userName" type="text" size="24">
    <br>
    密码:<input name="passWord" type="password" size="26">
    <br>
    <input type="submit" value="登录">
   </form>
  <hr>
  </body>
</html></span>

登录成功页面(success.jsp)
</pre><pre name="code" class="html"><span style="font-size:14px;"><%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
 <head>
 <title>登陆成功页面</title>
 </head>
 <body>
   <hr>
   <h1>你登录成功,欢迎你!</h1>
   <hr>
 </body>
</html></span>

<span style="font-size:14px;"></span>
(3)业务逻辑组件

<span style="font-size:14px;">package loginBean;
public class LoginBean{
	private String userName;
	private String passWord;
	public String getUserName(){
		return userName;
		}
	public void setUserName(String userName){
		this.userName=userNmae;
		}
   。。。。。。
//处理用户登录的方法,由于简化过程这里采用的是硬编码的方式
	
public boolean login(String userName,String passWord){
		boolean b=false;
		if(userName.equals("QQ")&&passWord.equals("123")){
			b=true;
			return b;
		}
		else{
			b=false;
			return b;
		}
	}
}
</span>

(4)编写业务控制器Action

<span style="font-size:14px;">package loginAction;
import loginBean.LoginBean;
public class LoginAction{
	private String userName;
	private String passWord;
	public String getUserName(){
		return userName;
	}
	。。。。。。
	public String execute() throws Exception{
		LoginBean lb=new LoginBean();
		if(lb.login(userName,passWord)){
			return "success";
		}
		else{
			return "error";
		}
	}
}</span>

(5)配置Struts.xml中的Action

<span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
<struts>
<!--所有的Action配置都应该放在package下,name定义包名,extends定义继承包空间struts-default。-->
	<package name="zzf" extends="struts-default">
<!--Action的配置可以有多对;name是对业务控制器命名,在表单中指定的名字需要与该名字一致;class指定Action类的位置。-->
		<action name="login" class="loginAction.LoginAction">
<!--定义两个逻辑视图和物理资源之间的映射,name值是Action中返回的结果,即逻辑视图。-->
		<result name="error">/login/login.jsp</result>
		<result name="success">/login/success.jsp</result>
		</action>
	</package>
</struts></span>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值