struts2简单登录注册程序(连接数据库)

本文介绍了一个使用Struts2、Tomcat7和Oracle数据库的简单登录注册程序的实现过程。在IntelliJ IDEA中创建项目,导入Struts2的核心库,并将库文件移动到web-INF下。配置web.xml和struts.xml文件,编写Dao、UserAction和视图页面。注意,Struts2.5以上版本需要更新web.xml配置,并确保运行时能够连接网络,否则可能出现配置加载错误。数据库中需有名为Users的表,包含username和password字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我用的是:struts2.3,tomcat7.0,oracle,编译器intellij idea。

首先,打开idea,找到file->new->project

根据图中所指进行选择,点击create找到struts下的lib路径,找到以下核心jar包

接下来一路next即可

创建成功后,将主目录下的lib移动到web->web-inf下,如图

至此,创建项目完成,以下为我的项目目录

具体代码实现:

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <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>

struts.xml:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>
    <package name="com" extends="struts-default">
        <action name="login" class="com.UserAction" method="login">
            <result name="loginout">/error.jsp</result>
            <result name="loginin">/welcome.jsp</result>
        </action>
        <action name="regist" class="com.UserAction" method="regist">
            <result name="error">/error.jsp</result>
            <result name="success">/welcome.jsp</result>
        </action>
    </package>
</struts>

Dao.java:

package dao;
import java.sql.*;
public class Dao {
    Connection con = null;
    Statement stat = null;
    ResultSet rs = null;
    public Dao() {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
            stat = con.createStatement();
        } catch (Exception e) {
// TODO: handle exception
            con = null;
        }
    }
    public ResultSet executeQuery(String sql) {
        try {
            rs = stat.executeQuery(sql);
        } catch (Exception e) {
// TODO: handle exception
            rs = null;
        }
        return rs;
    }
    public int executeUpdate(String sql) {
        try {
            stat.executeUpdate(sql);
            return 0;
        } catch (Exception e) {
// TODO: handle exception
        }
        return -1;
    }
}

UserAction.java:

package com;
import java.sql.*;
import com.opensymphony.xwork2.ActionSupport;
import dao.Dao;
@SuppressWarnings("serial")
public class UserAction extends ActionSupport{
    private Dao dao = new Dao();
    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;
    }
    public String login() {
        String sql = "select
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值