配置第一个Struts2的简单登陆程序

来源:互联网 发布:穿越火线网络异常23-2 编辑:程序博客网 时间:2024/05/01 06:01
 标题:配置第一个Struts2的简单登陆程序
摘要:这篇文章主要针对有一定jsp编程经验的爱好者初学struts2,如何配置struts2过程的一个简单练习。
难度:20


首先下载Struts2软件包,到http://struts.apache.org/下载Struts2,Struts各版本的差异很大,当前时间最新版本是最新产品化GA版是Struts 2.0.11.2 最近Beta版是Struts 2.1.2 Beta ,从应用角度还是建议下载GA版,下载项选择Full Distribution(完整版):struts-2.0.11.2-all.zip (91mb)

1、在tomcat安装目录下的webapps目录中建立一个itstudy目录。这样就可以通过访问"http://localhost:8080/itstudy"访问"itstudy"这个目录(当然我还是建议大家采用myeclipse来创建一个web应用)。
该web文件结构如下
itstudy 
  |-WEB_INF 
  |    |-classes 
  |    |     |-struts.xml 
  |    |     |-cn 
  |    |        |-itstudy 
  |    |              |-action 
  |    |                  |-LoginAction.java 
  |    |-lib 
  |    |-web.xml 
  |-login.jsp 
  |-success.jsp 
  |-error.jsp 
2、将压缩包struts-2.0.11.2-all.zip/lib文件夹中的struts2-core-2.0.11.1.jar,xwork- 2.0.4.jar,ognl-2.6.11.jar,commons-logging-1.0.4.jar,freemarker- 2.3.8.jar 文件拷贝到建立的itstudy/WEB-INF/lib目录下

3、在itstudy/WEB-INF/目录下建立一个web.xml文件,文件内容如下: 

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.4"  
    xmlns="http://java.sun.com/xml/ns/j2ee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
  <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
  </welcome-file-list> 

  <!-- 定义Struts2 的FilterDispatcher 的 Filter  开始--> 
  <filter> 
      <!-- 定义核心filter名字 --> 
      <filter-name>struts2</filter-name> 
      <!-- 定义核心filter的实现类 --> 
      <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
  </filter> 
  <!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 --> 
  <filter-mapping> 
      <filter-name>struts2</filter-name> 
      <url-pattern>/*</url-pattern> 
  </filter-mapping> 
  <!-- 定义Struts2 的FilterDispatcher 的 Filter  结束--> 

</web-app> 

4、在itstudy/WEB-INF/classes目录下建立一个struts.xml文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
    "http://struts.apache.org/dtds/struts-2.0.dtd"> 
<struts> 
    <constant name="struts.enable.DynamicMethodInvocation" value="false" /> 
    <constant name="struts.devMode" value="false" /> 
    <!-- 倒入配置文档 --> 
    <!-- Add packages here --> 
    <!-- Action必须放在指定的包空间下定义 --> 
    <package name="strtsdemo" extends="struts-default"> 
        <!--定义Action 和 实现类 --> 
        <action name="Login" class="cn.itstudy.temp.action.LoginAction"> 
            <!-- 定义处理结果和资源之间映射关系 --> 
            <result name="error">/error.jsp</result> 
            <result name="success">/success.jsp</result> 
        </action> 
    </package> 
</struts> 

5、在itstudy/WEB-INF/classes目录下建立一个cn/itstudy/action文件夹,并在此文件夹内建立LoginAction.java文件,内容如下:
package cn.itstudy.action; 

public class LoginAction { 
    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; 
    } 
     
    public String execute() throws Exception{ 
        //用户名:itstudy 密码:itstudy    www.itstudy.cn
        if ("itstudy".equals(this.getUsername()) 
                    && "itstudy".equals(this.getPassword())  ){ 
            return "success"; 
        }else{ 
            return "error"; 
        } 
    } 



在itstudy/目录下建立 login.jsp,success.jsp,error.jsp文件,文件内容如下:

 login.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8"%> 
<%@taglib prefix="s" uri="/struts-tags"%> 

    <s:form action="Login"> 
        <s:textfield name="username" label="用户名"></s:textfield> 
        <s:password name="password" label="密码"></s:password> 
        <s:submit value="登陆" /> 
    </s:form> 

success.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8"%> 
登陆成功!!! 

error.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8"%> 
登陆错误!!! 


启动tomcat在ie中输入http://localhost:8080/itstudy/login.jsp,分别在用户名和密码输入框中输入 itstudy,点击登陆,这时我们应该看到网页显示“登陆成功!!!”随便输入,点击登陆,可以看到网页显示“登陆错误!!!”,看到这里如果你依照上述做出那么我们就成功搭建了一个struts2的简单登陆程序。
这里基于练习,我精简了一些struts配置文件,实际中将会比这个更加完善(不会更难的),如前所说我还是建议大家采用myeclipse来创建这个web应用,如果你喜欢用editplus之类的文本编辑器的话,需要注意保存的文件编码是utf-8而不是默认的ansi编码 。




作者:吕海鹏
来自:itstudy原创
更新日志: 2008-07-08 v0.1 初稿完成;
参考文档: 《Struts2权威指南》李刚著
致谢:
讨论网址: http://bbs.deepteach.com/
标签(Tags):struts2
原创粉丝点击