Struts2入门demo——登录

来源:互联网 发布:淘宝怎么提醒买家收货 编辑:程序博客网 时间:2024/06/11 13:04


        需要注意:Struts2需要运行在JRE1.5及以上版本

 

        现在以登录为例,共同学习struts2,共同见证struts2和struts1的区别。


1、创建Java Web项目:新建web工程

 

2、引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下

*commons-logging-1.0.4.jar

*freemarker-2.3.15.jar

*ognl-2.7.3.jar

*struts2-core-2.1.8.1.jar

*xwork-core-2.1.6.jar

*commons-fileupload-1.2.1.jar

 

3、将struts2包中相关的过滤器设置到web.xml配置文件中,方便管理整个项目。

<span style="font-size:18px;">    <filter>       <filter-name>struts2</filter-name>       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>    </filter>     <filter-mapping>       <filter-name>struts2</filter-name>       <url-pattern>/*</url-pattern>    </filter-mapping></span>

4、提供struts2配置文件struts.xml,放到src下,并编辑struts.xml文件:

        package包等同于我们平时建立项目中的包,方便管理包中的action,(action其实就是java类),以下代码只是我的需要所配置,个人根据自己情况配置struts2文件。

      

<span style="font-size:18px;"><?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><!-- 当struts.xml配置文件发生修改,会立刻加载,在生产环境下最好不要配置 --><constant name="struts.configuration.xml.reload" value="true"/><package name="struts2" extends="struts-default"><global-results><result name="login" type="redirect">/login.jsp</result></global-results><action name="login" class="com.shengsiyuan.struts2.LoginAction"></action></package></struts></span>


5、建立JSP(login.jsp)

 login.jsp 代码:(这是一个登录界面)

<span style="font-size:18px;"><%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><!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=GB18030"><title>Insert title here</title></head><body>     <form action="login.action" >userName: <input type="text" name="user.userName"><br>password:<input type="text" name="user.password"><br><input type="submit" value="submit">     </form></body></html></span>


6、创建Struts2的Action,Struts2的action可以不用继承Struts2框架中的任何类,

  也不用实现Struts2框架中的任何接口,所以Struts2的Action可以是一个POJO(纯粹的Java对象),这一点和struts1有所区别。但是为了避免拼写代码的错误,我们实现Action接口,实现public String execute() throwsException 方法。

        在Action中提供getter和setter方法,在action被创建时先通过set方法设值。

代码如下:

<span style="font-size:18px;">package com.shengsiyuan.struts2;import com.opensymphony.xwork2.Action;public class LoginAction implements Action {private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}@Overridepublic String execute() throws Exception {if ("admin".equals(user.getUserName()) && "admin".equals(user.getPassword())){return SUCCESS;}return null;}}</span>

       struts2的一个简单的入门小demo就搞定了,该demo可以对比于struts1的入门demo对比学习,对比struts1和struts2的不同之处。

 

1 0