【Struts2基础】——登录Demo

来源:互联网 发布:淘宝店铺宝贝上架教程 编辑:程序博客网 时间:2024/06/06 15:49

      前面的文章,介绍了Struts2的工作原理以及与Struts1的区别,理论的东西明白了,下边就该实践了。我们以登录为例,来进行学习。


项目的总体结构




声明:采用的Struts2版本为:struts-2.1.8.1-all


1、首先,创建Java Web项目


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



3、在web.xml文件中,配置StrutsPrepareAndExecuteFilter


      新建的JavaWeb项目中,可能不存在web.xml文件,需要我们手动创建。创建完毕后,关于里边的配置,我们可以找到下载的Struts2包,然后找到struts-2.1.8.1\apps\struts2-blank-2.1.8.1\WEB-INF下的web.xml文件,里边有基本的配置,可以直接拷贝过来。


<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_9" 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">    <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></web-app>


4、建立相关的JSP页面(login.jsp、login_success.jsp、login_error.jsp)


登录界面:login.sjp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!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">用户:<input type="text" name="username"><br>密码:<input type="password" name="password"><br><input type="submit" value="登录"></form></body></html>

登录成功界面:login_success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!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>${username },登录成功</body></html>

登录失败界面:login_error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!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>登录失败</body></html>


5、创建Struts2登录的Action:LoginAction


       Struts2的Action可以不用继承Struts2框架中的任何类,也不用实现Struts2框架中的任何接口。Struts2的Action可以是一个POJO。同时,在Action中提供getter和setter方法,便于数据的收集。


package com.tgb.struts2;/** * Struts2登录Action * @author Kirn * */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;}//用户名、密码都设定为adminpublic String execute() throws Exception {if ("admin".equals(username) && "admin".equals(password)) {return "success";}else {return "error";}}}


6、在src下,新建Struts2的配置文件:struts.xml。在里边进行Action与JSP的配置。


关于struts.xml文件中的具体配置,可以参考Struts2包中,struts-2.1.8.1\apps\struts2-blank-2.1.8.1\WEB-INF\src\java目录下的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><!-- 当struts.xml配置文件发生修改,会立刻加载,在生产环境下最好不要配置 --><constant name="struts.configuration.xml.reload" value="true"/><!-- 会提供更加友好的提示信息 --><constant name="struts.devMode" value="true"/><!-- 需要继承struts-default包,这样就拥有的最基本的功能 --><package name="struts2" extends="struts-default"><action name="login" class="com.tgb.struts2.LoginAction"><result name="success">/login_success.jsp</result><result name="error">/login_error.jsp</result></action></package></struts>

 

       OK,到这我们就实现了采用Struts2框架的用户登录Demo。就这样从初步的学习,到简单Demo的实现。相信,随着学习的深入,对Struts2的理解会更加深刻。


       纸上得来终觉浅,绝知此事要躬行。共勉!


0 0
原创粉丝点击