在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的主配置文件`struts.xml`。在该文件中,我们需要定义Action类,指定其对应的类和结果页面。例如,可以创建一个名为`LoginAction`和`RegisterAction`的类,分别对应登录和注册...
STRUTS登录系统是基于Java编程语言和STRUTS框架实现的一个应用程序,主要用于处理用户的身份验证。STRUTS是Apache软件基金会下的一个开源项目,它提供了一个用于构建企业级Web应用的MVC(Model-View-Controller)...
在这个项目"struts2实现用户登录注册"中,我们将深入探讨如何利用Struts2在Eclipse开发环境中构建一个基本的用户注册和登录系统。 首先,让我们了解Struts2的核心概念。Struts2框架是基于Action和Result的设计模式...
本项目是一个基于Struts和Hibernate实现的在线音乐系统,它提供了丰富的功能,包括音乐播放、下载以及一个简单的论坛模块。下面我们将深入探讨这两个框架在系统中的应用及其重要性。 **Struts框架** Struts是Apache...
本项目是一个基于Struts2和Hibernate实现的登录注册系统,旨在为初学者提供一个学习实践的基础平台。 首先,Struts2是MVC(模型-视图-控制器)设计模式的一个强大实现,它使得Web应用的结构更加清晰,降低了业务...
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...
基于Struts2和Hibernate实现登录和注册功能 Struts2是一款基于MVC模式的Java Web应用程序框架,主要用于开发Web应用程序。Hibernate则是一款基于Java的持久层框架,主要用于将Java对象映射到关系数据库中。通过结合...
- `LoginAction.java`:实现登录功能的Action类。 - `LoginForm.java`:封装用户输入的表单类。 - `login.jsp`:登录页面,包含用户名和密码输入元素以及提交按钮。 - `validation.xml`或`@Validated`注解:定义输入...
实现登录功能时,必须考虑安全性。包括但不限于:防止SQL注入(使用预编译的SQL语句或ORM框架)、密码安全存储(哈希加盐)、XSS攻击防护(转义输出内容)、CSRF攻击防护(使用令牌验证)等。 9. **异常处理**: ...
这个“Struts登录系统完整源码”提供了一个完整的示例,帮助开发者理解如何在实际项目中构建一个登录系统,特别是在Struts框架下。此源码包含与数据库交互的部分,以及所有必要的依赖包,确保可以直接运行。 首先,...
在Java Web开发中,"Struts+Hibernate实现用户登录案例"是一个常见的应用场景,它结合了两个重要的技术框架:Struts和Hibernate。Struts是MVC(Model-View-Controller)设计模式的一种实现,用于处理用户的请求和...
在"Struts2框架实现图书管理系统"这个项目中,我们将深入探讨如何利用Struts2来设计和实现一个用于管理图书信息的系统,包括对图书的基本信息进行添加、删除、修改和查询等核心功能。同时,项目还涉及到拦截器的使用...
【标题】"jsp+mysql+struts实现的一个财务管理系统"涉及了三个主要技术:Struts、MySQL和JSP,这些都是Web开发中常见的组件。本文将详细介绍这三个技术在财务管理系统中的应用及其相互配合。 **1. Struts框架** ...
基于javaWeb MVC模式,借助struts2框架编写,实现用户简单的注册与登录功能。 1.本demo严格按照MVC的分层模式采用myeclipse编写,可直接运行,服务器为tomcat,数据库为mysql。 2.数据库操作使用c3p0连接池和dbtuils...
Struts Web登录项目的实现涉及到多个技术栈的整合,包括Struts框架、MyEclipse集成开发环境、MySQL数据库以及相关的数据库连接处理。以下是对这些知识点的详细说明: **1. Struts框架** Struts是一个基于MVC(Model...
通过分析`Struts1-login`项目,我们可以学习到如何构建一个基本的Struts1登录系统,包括Action的编写、Form Bean的使用、配置文件的设置以及JSP页面的设计。这有助于我们理解和掌握Struts1框架的基本工作原理,对于...
值得注意的是,为了实现登录功能,通常还需要数据库支持。你需要创建一个用户表,存储用户名和密码(经过加密处理)。在验证用户时,将表单数据与数据库中的记录进行匹配。此外,为了提高安全性,可以考虑使用预编译...
在这个项目中,“struts2+hibernate+mysql实现注册登录”是一个基础的实战教程,旨在帮助新手理解如何在实际应用中整合这三个技术。 **Struts2** 是一个强大的MVC框架,它负责处理HTTP请求,控制应用程序的流程,并...