技术记录2 初学struts2简单小实例登录功能应用

来源:互联网 发布:思派网络 ceo 马旭广 编辑:程序博客网 时间:2024/05/29 11:15

今天初次学习了struts2,下面是学习用的小实例

1. 用到了以下的struts2的jar包(都可以到apache的官网上下载)将他们放在WebContent下的lib文件夹内:


2.  编写LoginAction类,该类需要继承struts2中的ActionSupport类

package com.bzu.action;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport{/** *  */private static final long serialVersionUID = 1L;private String account;private String password;public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String execute(){if(account.equalsIgnoreCase("admin") && password.equals("123456")){return SUCCESS;}return LOGIN;}}

3. 编写struts.xml文件,将该文件放在src文件夹下

<?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.i18n.encoding" value="utf-8" /><package name="struts2" extends="struts-default"><global-results><result name="login">/login.jsp</result></global-results><action name="loginPerson" class="com.bzu.action.LoginAction"><result name="success">/success.jsp</result></action></package></struts>

4. 编写登录界面login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="struts"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>  <head>  </head>    <body>  <struts:form action="loginPerson">  <struts:label value="登录系统"></struts:label>  <struts:textfield name="account" label="账号"/>  <struts:password name="password" label="密码"/>  <struts:submit value="登录"/>  </struts:form>  </body></html>

5. 编写登录成功界面success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="struts"%><!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=UTF-8"><title>success</title></head><body>登录成功,欢迎你,<struts:property value="account"/></body></html>


6. 配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javeee" 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_5.xsd"><filter><filter-name>struts</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts</filter-name><url-pattern>/*</url-pattern></filter-mapping>  <welcome-file-list>    <welcome-file>login.jsp</welcome-file>  </welcome-file-list></web-app>


*********************************************

自己在学习中遇到的问题:

1.  所必须的jar一定要保证都导入了

2.  配置文件和程序中的包名类名都要对应正确

3. 界面元素的name和LoginAction中的变量名要统一

4. web.xml中的<url-pattern>/*</url-pattern>一定要为/*,如果为.action,login.jsp中的struts2自带的标签不能被解析

5. struts不能写成struct

**********************************************

通过上面的实例自己分析的struts2工作的流程:

1. 在login.jsp中提交表单

2. 通过提交表单的动作在struts.xml的action中找到对应的action,接着找到对应的类

3. 在该类中执行execute(),返回值与struts中的result的值进行对比之后,跳转至相应的jsp界面


0 0
原创粉丝点击