struts2中用数据库连接验证登陆问题
表 user
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 'login.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>
<h1 align="center">欢迎使用文档管理系统</h1>
<form action="LoginAction.action" method="post">
<table border="1"align="center" width="30">
<tr>
<th colspan="2">欢迎使用文档管理系统</th>
</tr>
<tr>
<td> 用 户</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td> 密 码</td>
<td><input type="text" name="password"></td>
</tr>
<tr>
<tr>
<td>
用户类型
</td>
<td>
<input type="radio" name="userType" value="admin" /> 管理员
<input type="radio" name="userType" value="user" /> 用户
</td>
</tr>
<td colspan="2" align="center" >
<input type="submit" value="submit"/>
<input type="reset" value="resert"/>
</td>
</tr>
</table>
</form>
</body>
</html>
struts.xml文件代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="rabc" extends="struts-default">
<action name="LoginAction" class="com.rabc.action.LoginAction">
<result name="success">/logon.jsp</result>
</action>
<action name="DocUploadAction" class="com.rabc.action.DocUploadAction">
<result name="success">/docUploadResult.jsp</result>
</action>
</package>
</struts>
数据处理DAO
package com.rabc.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.rabc.bean.*;
import com.rabc.util.DataBaseUtil;
/**
* 用户数据库操作类
*
*/
public class UserDao {
/**
* 用户登录
* @param username 用户名
* @param password 密码
* @return 用户对象
*/
public UserBean login(String username, String password,String userType){
UserBean user = null ;
// 获取数据库连接Connection对象
Connection conn = DataBaseUtil.getConnection();
// 根据用户名及密码查询用户信息
String sql = "select * from user where username = ? and password = ? and userType=?" ;
try {
// 获取PreparedStatement对象
PreparedStatement ps = conn.prepareStatement(sql);
// 对SQL语句的占位符参数进行动态赋值
ps.setString(1, username);
ps.setString(2, password);
ps.setString(3, userType);
// 执行查询获取结果集
ResultSet rs = ps.executeQuery();
// 判断结果集是否有效
if(rs.next()){
// 实例化一个用户对象
user = new UserBean();
// 对用户对象属性赋值
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setPassword(rs.getString("userType"));
}
// 释放此 ResultSet 对象的数据库和 JDBC 资源
rs.close();
// 释放此 PreparedStatement 对象的数据库和 JDBC 资源
ps.close();
} catch (Exception e) {
e.printStackTrace();
}finally{
// 关闭数据库连接
DataBaseUtil.close(conn);
}
return user;
}
}
UseBean 文件代码:
package com.rabc.bean;
public class UserBean {
private String username;
private String password;
private String userType;//判断用户的类型:0表示一般用户,1表示管理员
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
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;
}
}
LoginAction.java 代码
package com.rabc.action;
import com.opensymphony.xwork2.ActionSupport;
import com.rabc.bean.UserBean;
import com.rabc.dao.UserDao;
public class LoginAction extends ActionSupport{
private String username ;
private String password;
private String userType;
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
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;
}
UserDao userDao = new UserDao();
UserBean user = userDao.login(username, password,userType);
@Override
public String execute() throws Exception {
if(user==null){
return INPUT;
}
return SUCCESS;
}
}
运行错误:
警告: Could not find action or result
No result defined for action com.rabc.action.LoginAction and result input
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:375)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)……………………………………
菜鸟一个,求助…………