- 浏览: 151251 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
hx0637:
楼主!小弟要面临面试了,能否指导下小弟?
面试 深圳一家公司的 -
kljismi:
你好,我现在正在开这项目的代码,但是我不明白@Privileg ...
权限管理模块分析 -
yzhw:
终于找到了
ImageSizer.java -
sunloveny:
国
struts国际化 -
jackotty:
谢谢楼主的分享
struts validator验证框架
1、配置struts
* 拷贝struts lib下的所有jar到WEB-INF/lib下
* 修改web.xml文件,配置ActionServlet
* 提供struts-config.xml文件
3、创建登录项目
* 创建jsp页面(login.jsp,login_success.jsp,login_error.jsp)
* 创建LoginActionForm.java
* 创建LoginAction.java
* 配置struts-config.xml文件
index.jsp
login.jsp
login_error.jsp
login_success.jsp
LoginAction.java
LoginActionForm.java
UserManager.java
PasswordErrorException.java
UserNotFoundException.java
Web.xml
struts-config.xml
* 拷贝struts lib下的所有jar到WEB-INF/lib下
* 修改web.xml文件,配置ActionServlet
* 提供struts-config.xml文件
3、创建登录项目
* 创建jsp页面(login.jsp,login_success.jsp,login_error.jsp)
* 创建LoginActionForm.java
* 创建LoginAction.java
* 配置struts-config.xml文件
index.jsp
<!<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <a href="login.jsp">登录</a> </body> </html>
login.jsp
<%@ 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>用户登录</title> </head> <body> <h1>用户登录</h1> <hr> <form action="login.do" method="post"> 用户:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html>
login_error.jsp
<%@ 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>登录失败</title> </head> <body> <%=request.getAttribute("errorinfo") %> </body> </html>
login_success.jsp
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <%@ page import="com.bjsxt.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=GB18030"> <title>登录成功</title> </head> <body> <% LoginActionForm laf = (LoginActionForm)request.getAttribute("loginForm"); %> <%=laf.getUsername() %>,登录成功 </body> </html>
LoginAction.java
package com.bjsxt.struts; 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; /** * 用户登录的Action * @author Administrator * */ public class LoginAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginActionForm laf = (LoginActionForm)form; String username = laf.getUsername(); String password = laf.getPassword(); // if ("admin".equals(username) && "admin".equals(password)) { // //转向到登录成功页面 // request.setAttribute("username", username); // return mapping.findForward("success"); // }else { // //转向到登录失败页面 // return mapping.findForward("error"); // } String errorInfo = ""; try { UserManager.getInstance().login(username, password); //request.setAttribute("username", username); return mapping.findForward("success"); }catch(UserNotFoundException unfe) { unfe.printStackTrace(); errorInfo = "用户不能找到,用户名称=[" + username + "]"; }catch(PasswordErrorException pee) { pee.printStackTrace(); errorInfo = "密码错误"; } request.setAttribute("errorinfo", errorInfo); return mapping.findForward("error"); } }
LoginActionForm.java
package com.bjsxt.struts; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * 登录的ActionForm,ActionForam是做数据收集的, * * ActionForm中的属性必须和表单中输入域的名称一致 * @author Administrator * */ public class LoginActionForm extends ActionForm { 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; } @Override public void reset(ActionMapping mapping, HttpServletRequest request) { System.out.println("----------LoginActionForm.reset()-----------"); } @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { System.out.println("----------LoginActionForm.validate()-----------"); return null; } }
UserManager.java
package com.bjsxt.struts; public class UserManager { private static UserManager instance = new UserManager(); private UserManager() {} public static UserManager getInstance() { return instance; } public void login(String username, String password) { if (!"admin".equals(username)) { throw new UserNotFoundException(); } if (!"admin".equals(password)) { throw new PasswordErrorException(); } } }
PasswordErrorException.java
package com.bjsxt.struts; public class PasswordErrorException extends RuntimeException { }
UserNotFoundException.java
package com.bjsxt.struts; public class UserNotFoundException extends RuntimeException { }
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> <!-- Standard Action Servlet Configuration (with debugging) --> <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> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- Standard Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <struts-config> <form-beans> <form-bean name="loginForm" type="com.bjsxt.struts.LoginActionForm"/> </form-beans> <action-mappings> <action path="/login" type="com.bjsxt.struts.LoginAction" name="loginForm" scope="request" validate="false" > <forward name="success" path="/login_success.jsp"/> <forward name="error" path="/login_error.jsp"/> </action> </action-mappings> </struts-config>
发表评论
-
drp_user
2009-01-11 15:10 1189采用DispathAction * 如果覆写DispathA ... -
编程式异常 -声明式异常
2009-01-11 11:28 14791、编程式异常 * 截获异常 * 创建相应的异常消息 * ... -
struts validator验证框架
2009-01-07 23:35 2902struts validator验证框架 1、配置: * ... -
struts国际化
2009-01-07 23:18 66641、struts国际化的配置 * 在struts-confi ... -
了解Locale
2009-01-07 23:01 12741、了解缺省Locale是由操作系统决定的,Locale是由语 ... -
actionmapping
2009-01-07 22:48 14091、struts-config.xml文件中,每个<ac ... -
ActionForward的使用
2009-01-07 22:13 42001、理解全局和局部ActionForward的概念 2、red ... -
分步收集,ActionForm的scope=session
2009-01-07 21:58 1732StartAction.java package com.b ... -
ActionForm
2009-01-07 20:06 14971、动态ActionForm 动态ActionForm是为了 ... -
DispatchAction.java
2009-01-07 19:48 1076/* * $Id: DispatchAction.java ... -
模式匹配
2009-01-07 19:41 779UserAction.java package com. ... -
jstl标签库的配置
2009-01-07 18:51 3412jstl标签库的配置 * 将jstl.jar和standar ... -
1.2.9 RequestProcessor.java
2008-12-27 17:47 1302/* * $Id: RequestProcessor.ja ... -
1.2.9 ActionServlet.java
2008-12-27 17:43 1206/* * $Id: ActionServlet.java ... -
struts_trainnig_cal
2008-12-26 23:17 667CalAction.java package com.bj ... -
bjsxt test_servlet
2008-12-26 22:46 1126TestServlet.java package com. ...
相关推荐
20110930_struts_login20110930_struts_login20110930_struts_login20110930_struts_login20110930_struts_login20110930_struts_login20110930_struts_login20110930_struts_login
本案例“struts_login.rar_struts.login()”旨在演示如何使用Struts框架实现一个简单的登录功能。我们将深入探讨这个案例中的关键知识点。 1. **Struts框架基础**: Struts将业务逻辑、控制流程和表现层进行了分离...
在这个"struts_login.rar"压缩包中,我们很显然看到它提供了一个基本的Struts登录示例,这对于初次接触Struts框架的学习者来说是非常有价值的。 首先,让我们来理解一下Struts框架的核心概念: 1. **MVC设计模式**...
本资料“struts_login”提供了一个基础的登录功能实现,适合初学者进行学习和实践。 在Struts框架中,MVC模式被用来分离业务逻辑、数据模型和用户界面,使得代码更易于管理和维护。具体来说: 1. **Model(模型)*...
欢迎大家下载lib包,谢谢
在"struts_i18n1_login"这个实例中,我们将探讨如何利用Struts框架实现国际化(i18n)功能,并创建一个基本的登录界面。国际化是一个重要的特性,它允许应用程序根据用户的语言和地区提供定制化的用户界面。 首先,...
这个“struts_dynavalidator_login.rar”压缩包包含了一个Struts框架下实现动态验证登录功能的示例程序。在这个程序中,Struts的核心职责是协调控制器、模型和视图,使得开发者可以更方便地构建结构清晰、可维护性强...
标题“struts_autoexceptionhandle_login”暗示了我们讨论的主题与Struts框架有关,特别是关于自动异常处理和登录功能。Struts是Apache软件基金会的一个开源项目,它是一个用于构建企业级Java Web应用程序的MVC...
5. **02_struts_login**: 这是一个常见的应用场景——登录系统。通过这个模块,学习者可以了解如何使用Struts实现用户登录功能,包括表单提交、验证、会话管理等。 6. **03_struts_trainnig_cal**: 可能是一个日历...
"struts_i18n_login.rar_i18n" 这个标题暗示我们将会探讨如何在 Struts 1 中实现国际化登录界面。 国际化(i18n)这个名字来源于 "internationalization" 的首字母缩写,数字 "18" 是因为 "n" 之后到 "i" 之间有18...
1. **13_struts_dynavalidator_login**: 这个例子可能涉及到Struts的动态验证器 DynaValidatorForm。DynaValidatorForm 是 Struts 提供的一种灵活的表单验证机制,它允许在运行时动态地定义表单字段的验证规则,而...
在"struts2_login"这个资源中,我们很显然关注的是Struts2框架中的用户登录功能实现。登录功能是任何Web应用的基础部分,它允许用户进行身份验证,确保只有授权的用户能够访问受保护的系统资源。 首先,让我们了解...
在这个"struts2_login.7z"压缩包中,包含了一个使用Struts2实现的登录功能的源代码,非常适合初学者或有经验的开发者来学习和理解Struts2的工作原理。 首先,Struts2的核心是Action类,它是业务逻辑处理的入口点。...
如果你需要关于如何在Struts中整合SSH的详细示例,建议查看相关教程或文档,或者检查`struts_login`中的源代码以获取具体实现。 总结来说,SSH登录无实例化是针对那些只需执行单个命令而不需要保持完整连接的情况。...
本示例“struts2-login-example”是专门为初学者设计的,旨在帮助他们理解如何在Struts2框架下实现一个基本的用户登录功能。下面将详细介绍这个登录示例所涉及的核心知识点。 首先,我们需要了解Struts2框架的基本...
使用了struts2截至目前最新版2.5.22+MySQL8.0+druid 1.1.10实现了简单的登陆功能,可以在此基础上进一步增加注册功能,代码逻辑和登陆没什么区别,可以使用纯JDBC替代druid数据库连接池。仅仅是再提供一个数据库工具...
3. **struts_i18n_login**:i18n代表国际化,这可能是一个演示如何在Struts中实现多语言登录界面的实例。它可能包括了资源包(property files)来存储不同语言的文本。 4. **struts_taglib**:Struts Taglib是...