随笔-21  评论-29  文章-0  trackbacks-0

开始学习Struts了 小黑会把每一天学习的心得体会发到blogjava和大家一起分享 本人为严重菜鸟 肯请各位老鸟指教啦!
开发环境:  Myeclipse6.0 + Tomcat5.5 + jdk1.6 + struts1.3
学习资料: 传智播客视频教程 下载地址:http://www.verycd.com/topics/249195

 

 1.为什么使用struts?
        建立在MVC模式上
        开源项目
        与其他技术和框架具有很好的融合性
        大大提高了开发速度
2. Framework概念
       人们用来解决相同或者相似类型问题的方案
        特点:可重用性、可扩展性、可伸缩性
        基于请求响应(Request-Response)模式的应用Framework的逻辑结构:
                控制器(Controller)
                业务逻辑层(Business Logic)
                数据逻辑层(Data Logic)
3.Struts的概念和体系结构
Struts是Apache组织的一个开源项目。主要是采用Servlet和JSP技术来实现的。Struts是一个基于Sun Java EE平台的MVC框架,它采用MVC模式,
将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致。网址:struts.apache.org
Struts is a flexible control layer based on standard technologies like Java Servlets,JavaBeans,ResourceBundles,and XML, as well as various Jakarta Commons packages,
Like BeanUtils and Chain of Responsibility. The framework helps you create an extensive development environment for your application,base on published  standards and proven design patterns.

4.实践步骤  搭建环境 建立ActionForm 建立Action 页面访问
  ① 搭建环境:
       导入jar包,使用其中相关的类
       建立一个配置文件:struts-config.xml    方便Struts用户使用 一般放在WEB-INF下
                                            Web.xml 
       注册struts中心控制器 ——ActionServlet
       注意事项: struts配置文件的位置 预先加载控制器

  ② 开发Form
        建一个类,继承ActionForm
        注册,修改配置文件struts-config.xml
  ③ 开发Action
        建立一个类,继承Action
               覆盖execute方法
               需要强制转型
               调用其他模块
               跳转(根据关键字,关键字参照该action中forward标签中的name属性)
        注册,修改配置文件struts-config.xml
   ④ 建立三个JSP文件 Login.jsp LoginSuccess.jsp LoginFailure.jsp

5.操作过程
    1新建一web项目 
      

   2导入struts的jar包 我这里选择导入全部jar包
      
       
    

  3在WB-INF下建立一个struts-config.xml文件
    

   编写struts-config.xml代码如下
 

<?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>
  
<form-beans>
     
<form-bean name="loginForm" type="cn.itcast.LoginForm"></form-bean>
  
</form-beans>
  
<action-mappings>
     
<action path="/login" type="cn.itcast.LoginAction" name="loginForm">
         
<forward name="loginSuccess" path="/LoginSuccess.jsp"></forward>
         
<forward name="loginFailure" path="/LoginFailure.jsp"></forward>
     
</action>
  
</action-mappings>
</struts-config>

修改web.xml文件为如下代码

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns
="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation
="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>
    
    
<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>
       
<load-on-startup>0</load-on-startup>
    
</servlet>

    
<servlet-mapping>
       
<servlet-name>action</servlet-name>  
       
<url-pattern>*.do</url-pattern>
    
</servlet-mapping>



</web-app>


在src下新建两个类 LoginForm和LoginAction 其中LoginAction继承Action类 LoginForm继承LoginAction类



package cn.itcast;

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 LoginAction extends Action {

    @Override
    
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            
throws Exception {
        
          LoginForm loginForm 
= (LoginForm) form ;
          
if(loginForm.getUsername().equals("itcast")){
              
return mapping.findForward("loginSuccess");
          }

          
else 
              
return mapping.findForward("loginFailure");
    }

     
}




package cn.itcast;

import org.apache.struts.action.ActionForm;

public class LoginForm extends ActionForm {
    
/**
     * 
     
*/

    
private static final long serialVersionUID = 1L;
    
private String username = null ;
    
private String password = null ;
    
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;
    }

    
    
    
    
}


在WebRoot下新建三个jsp文件 分别为Login.jsp  LoginSuccess.jsp   LoginFailure.jsp 



login.jsp文件

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding
="ISO-8859-1"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    
<form action="<%= request.getContextPath()%>/login.do" method="get">
       username:
<input type="text" name="username"><br>
       password:
<input type="password" name="password"><br>
       
<input type="submit" value="login">
    
</form>
</body>
</html>

LoginSuccess.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding
="ISO-8859-1"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
   Login Success!!!
</body>
</html>

LoginFailure.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding
="ISO-8859-1"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    Login Failure!!!
</body>
</html>


部署web应用 展示文件结构



启动tomcat 在浏览器中输入http://localhost:8080/Strutsdemo/Login.jsp 展示效果如下








无论如何 经过两个小时的学习 终于运行出了我的第一个struts程序了
希望继续努力哦! 顺祝大家51节日快乐

posted on 2009-05-01 19:49 特立独行 阅读(471) 评论(0)  编辑  收藏 所属分类: Struts框架

只有注册用户登录后才能发表评论。


网站导航: