`

struts登录系统实现

阅读更多
在java ee中讲了第一个web实例,具体见博文:http://hnzhoujunmei.iteye.com/admin/blogs/1004827
非常简单的一个实例,没有数据库连接,本实例在这个实例基础上添加struts功能和数据库功能
在上一个实例基础上用myeclipse的添加struts功能,即生成了一个struts的资源文件,
ApplicationResources.properties:
# Resources for parameter 'com.qdu.struts.ApplicationResources'
# Project strustLoginDemo
#message file
login.username=username is null!
login.password=password is null!

项目的目录结构:




注意该文件不能写入中文。可以使用java中的native2ascii.exe将中文转换为字符串。
然后新建Action,Form等,并可在可视化环境下进行配置,如form的属性等
Action类:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.qdu.struts.action;

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;

import com.qdu.struts.BO.LoginBO;
import com.qdu.struts.form.LoginForm;

/** 
 * MyEclipse Struts
 * Creation date: 04-14-2011
 * 
 * XDoclet definition:
 * @struts.action path="/login" name="loginForm" input="/login.jsp" scope="request" validate="true"
 * @struts.action-forward name="failed" path="/fail.jsp"
 * @struts.action-forward name="success" path="/success.jsp"
 */
public class LoginAction extends Action {
	/*
	 * Generated Methods
	 */

	/** 
	 * Method execute
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub

//        调用业务处理类
		LoginBO login = new LoginBO();
		if(login.validate(loginForm.getUsername(),loginForm.getPassword())){
			request.setAttribute("username", loginForm.getUsername());
			return mapping.findForward("success");
		}
		else return mapping.findForward("failed");
	}
}


业务逻辑类:
package com.qdu.struts.BO;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class LoginBO {

	public boolean validate(String username, String password) {
		Connection conn = null;
		try {
			Class.forName("org.gjt.mm.mysql.Driver");
			String url = "jdbc:mysql://localhost:3306/junit";
			conn = DriverManager.getConnection(url,"root","root");
			Statement stmt = conn.createStatement();
			String sql = "select * from usertable where name='"+username+"' and password = '"+password+"'";
			
			ResultSet rs = stmt.executeQuery(sql);
			if(rs.next()){return true;}
			else return false;
			
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return false;
	}

}

表单类:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.qdu.struts.form;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

/**
 * MyEclipse Struts Creation date: 04-14-2011
 * 
 * XDoclet definition:
 * 
 * @struts.form name="loginForm"
 */
public class LoginForm extends ActionForm {
	/*
	 * Generated fields
	 */

	/** password property */
	private String password;

	/** username property */
	private String username;

	/*
	 * Generated Methods
	 */

	/**
	 * Method validate
	 * 
	 * @param mapping
	 * @param request
	 * @return ActionErrors
	 */
	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {//验证,相当于JavaScript的验证
		ActionErrors errors = new ActionErrors();
		if (this.username == null || this.username.length() < 1)
			errors.add("username", new ActionMessage("login.username"));
	if (this.password == null || this.username.length() < 1)
		errors.add("password", new ActionMessage("login.password"));
	return errors;
}

	/**
	 * Method reset
	 * 
	 * @param mapping
	 * @param request
	 */
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		// TODO Auto-generated method stub
		this.username = null;
		this.password = null;
	}

	/**
	 * Returns the password.
	 * 
	 * @return String
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * Set the password.
	 * 
	 * @param password
	 *            The password to set
	 */
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * Returns the username.
	 * 
	 * @return String
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * Set the username.
	 * 
	 * @param username
	 *            The username to set
	 */
	public void setUsername(String username) {
		this.username = username;
	}
}

struts配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="loginForm" type="com.qdu.struts.form.LoginForm" />

  </form-beans>

  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action
      attribute="loginForm"
      input="/login.jsp"
      name="loginForm"
      path="/login"
      scope="request"
      type="com.qdu.struts.action.LoginAction">
      <forward name="failed" path="/fail.jsp" />
      <forward name="success" path="/success.jsp" />
    </action>

  </action-mappings>

  <message-resources parameter="com.qdu.struts.ApplicationResources" />
</struts-config>

web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <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>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <filter>
  <filter-name> FormFilter</filter-name>
  <filter-class>com.qdu.struts.BO.FormFilter</filter-class>
  </filter>
  <filter-mapping>
  <filter-name>FormFilter</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>
  
</web-app>


  • 大小: 44.5 KB
分享到:
评论

相关推荐

    struts2登录注册简单实现

    实现登录注册功能首先需要配置Struts2的主配置文件`struts.xml`。在该文件中,我们需要定义Action类,指定其对应的类和结果页面。例如,可以创建一个名为`LoginAction`和`RegisterAction`的类,分别对应登录和注册...

    STRUTS登录系统

    STRUTS登录系统是基于Java编程语言和STRUTS框架实现的一个应用程序,主要用于处理用户的身份验证。STRUTS是Apache软件基金会下的一个开源项目,它提供了一个用于构建企业级Web应用的MVC(Model-View-Controller)...

    struts2实现用户登录注册

    在这个项目"struts2实现用户登录注册"中,我们将深入探讨如何利用Struts2在Eclipse开发环境中构建一个基本的用户注册和登录系统。 首先,让我们了解Struts2的核心概念。Struts2框架是基于Action和Result的设计模式...

    struts+hibernate实现在线音乐系统源码

    本项目是一个基于Struts和Hibernate实现的在线音乐系统,它提供了丰富的功能,包括音乐播放、下载以及一个简单的论坛模块。下面我们将深入探讨这两个框架在系统中的应用及其重要性。 **Struts框架** Struts是Apache...

    基于Struts2+Hibernate的登录注册系统

    本项目是一个基于Struts2和Hibernate实现的登录注册系统,旨在为初学者提供一个学习实践的基础平台。 首先,Struts2是MVC(模型-视图-控制器)设计模式的一个强大实现,它使得Web应用的结构更加清晰,降低了业务...

    JAVA struts+hibernate实现的网络购物系统.zip

    JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA ...

    论坛系统项目(Struts 2+Hibernate+Spring实现)

    论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...

    基于struts2和hibernate实现登录和注册功能

    基于Struts2和Hibernate实现登录和注册功能 Struts2是一款基于MVC模式的Java Web应用程序框架,主要用于开发Web应用程序。Hibernate则是一款基于Java的持久层框架,主要用于将Java对象映射到关系数据库中。通过结合...

    struts 2登录系统及其jar包

    - `LoginAction.java`:实现登录功能的Action类。 - `LoginForm.java`:封装用户输入的表单类。 - `login.jsp`:登录页面,包含用户名和密码输入元素以及提交按钮。 - `validation.xml`或`@Validated`注解:定义输入...

    jsp+struts2+mysql实现登录

    实现登录功能时,必须考虑安全性。包括但不限于:防止SQL注入(使用预编译的SQL语句或ORM框架)、密码安全存储(哈希加盐)、XSS攻击防护(转义输出内容)、CSRF攻击防护(使用令牌验证)等。 9. **异常处理**: ...

    Struts 登录系统完整源码

    这个“Struts登录系统完整源码”提供了一个完整的示例,帮助开发者理解如何在实际项目中构建一个登录系统,特别是在Struts框架下。此源码包含与数据库交互的部分,以及所有必要的依赖包,确保可以直接运行。 首先,...

    Struts+Hibernate实现用户登录案例

    在Java Web开发中,"Struts+Hibernate实现用户登录案例"是一个常见的应用场景,它结合了两个重要的技术框架:Struts和Hibernate。Struts是MVC(Model-View-Controller)设计模式的一种实现,用于处理用户的请求和...

    Struts2框架实现图书管理系统

    在"Struts2框架实现图书管理系统"这个项目中,我们将深入探讨如何利用Struts2来设计和实现一个用于管理图书信息的系统,包括对图书的基本信息进行添加、删除、修改和查询等核心功能。同时,项目还涉及到拦截器的使用...

    jsp+mysql+struts实现的一个财务管理系统

    【标题】"jsp+mysql+struts实现的一个财务管理系统"涉及了三个主要技术:Struts、MySQL和JSP,这些都是Web开发中常见的组件。本文将详细介绍这三个技术在财务管理系统中的应用及其相互配合。 **1. Struts框架** ...

    javaWeb_struts2框架实现简单用户注册登录

    基于javaWeb MVC模式,借助struts2框架编写,实现用户简单的注册与登录功能。 1.本demo严格按照MVC的分层模式采用myeclipse编写,可直接运行,服务器为tomcat,数据库为mysql。 2.数据库操作使用c3p0连接池和dbtuils...

    struts web的登录项目

    Struts Web登录项目的实现涉及到多个技术栈的整合,包括Struts框架、MyEclipse集成开发环境、MySQL数据库以及相关的数据库连接处理。以下是对这些知识点的详细说明: **1. Struts框架** Struts是一个基于MVC(Model...

    Struts1的登录例子,可以实现

    通过分析`Struts1-login`项目,我们可以学习到如何构建一个基本的Struts1登录系统,包括Action的编写、Form Bean的使用、配置文件的设置以及JSP页面的设计。这有助于我们理解和掌握Struts1框架的基本工作原理,对于...

    用MyEclipse工具struts实现的登录功能

    值得注意的是,为了实现登录功能,通常还需要数据库支持。你需要创建一个用户表,存储用户名和密码(经过加密处理)。在验证用户时,将表单数据与数据库中的记录进行匹配。此外,为了提高安全性,可以考虑使用预编译...

    struts2+hibernate+mysql实现注册登录

    在这个项目中,“struts2+hibernate+mysql实现注册登录”是一个基础的实战教程,旨在帮助新手理解如何在实际应用中整合这三个技术。 **Struts2** 是一个强大的MVC框架,它负责处理HTTP请求,控制应用程序的流程,并...

Global site tag (gtag.js) - Google Analytics