struts2连接数据库实现用户登录
来源:互联网 发布:女性职场歧视 知乎 编辑:程序博客网 时间:2024/06/05 01:27
1. struts2 配置文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <package name="default" namespace="/" extends="struts-default"> <action name="logAct" class="com.struts.LoginAction"> <result name="input">/error.jsp</result> <result name="success">/success.jsp</result> </action> </package></struts>
2. web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <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> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
3. LoginAction 类:
package com.struts; import java.util.Map; importorg.apache.struts2.interceptor.ApplicationAware;import org.apache.struts2.interceptor.SessionAware; importcom.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven; public class LoginAction extendsActionSupport implements ModelDriven, SessionAware,ApplicationAware{ privateusers user = new users(); privateMap<String, Object> sessionM; privateMap<String, Object> applicationM; //private HttpSession session; publicObject getModel() { returnuser; } publicvoid setSession(Map<String, Object> arg0) { sessionM= arg0; } publicvoid setApplication(Map<String, Object> arg0) { applicationM=arg0; } @Override publicString execute() throws Exception { //TODO Auto-generated method stub DataBeandb=new DataBean(); //第一种方法:通过ActionContext获取MAP类型的Session //ActionContext ac=ActionContext.getContext(); //sessionM=ac.getSession(); //sessionM.put("userName",user.getName()); //sessionM.put("user",user); //第三种方法:通过控制反转方法 获取MAP类型的Session sessionM.put("userName",user.getName()); sessionM.put("userPwd",user.getPwd()); sessionM.put("user",user); Stringname=(String)sessionM.get("userName"); Stringpwd=(String)sessionM.get("userPwd"); usersa=new users(); a.setName(name); a.setPwd(pwd); intflag=db.Login(a); if(flag>0){ if(applicationM.get("count")==null){ applicationM.put("count", 1); }else{ intcount=Integer.parseInt(applicationM.get("count").toString()); applicationM.put("count",count+1); } //第二种方法:通过ServletActionContext获取 httpSESSIN类型的 SESSION //session = ServletActionContext.getRequest().getSession(); //session.setAttribute("userName", user.getName()); //session.setAttribute("user", user); returnSUCCESS; }else{ returnINPUT; } } }
4. DataBean 类:
package com.struts; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.ResourceBundle; public class DataBean { //业务bean //连接和关闭 private Connection conn=null; public void connect(){ //连接数据库的方法 try{ ResourceBundlerb=ResourceBundle.getBundle("com.struts.date"); Stringdirver=rb.getString("dirver"); Stringurl=rb.getString("url"); Stringuser=rb.getString("user"); Stringpwd=rb.getString("pwd"); Class.forName(dirver); conn = DriverManager.getConnection(url,user,pwd); if(conn!=null){ System.out.println("连接成功"); } }catch(Exception ex){ ex.printStackTrace(); } } public void closeConn(){ try{ if(conn!=null&&!conn.isClosed()){ conn.close(); } }catch(Exception ex){ ex.printStackTrace(); } } public int Login(users a){ int flag=0; this.connect(); String sql = "select * from users where userName=? and userPwd=?"; try { PreparedStatement psta = conn.prepareStatement(sql); psta.setString(1,a.getName()); psta.setString(2,a.getPwd()); ResultSet rs =psta.executeQuery(); //1 if(rs!=null&&rs.next()){ flag=1; } } catch (SQLException e) { // TODO Auto-generatedcatch block e.printStackTrace(); } return flag; }}
5. users类:
package com.struts; public class users { private String name; private String pwd; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; }}
6. 资源文件:date.properties
dirver=oracle.jdbc.driver.OracleDriverurl=jdbc\:oracle\:thin\:@localhost\:1521\:orcluser=systempwd=Sa123456
7. jsp页面(index.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%> <!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 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> <s:form action="logAct"> <s:textfield name="name" label="用户名"></s:textfield> <s:password name="pwd" label="密码"></s:password> <s:submit value="登陆"> </s:submit> </s:form> </body></html>
8. jsp页面(error.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%> <!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP'success.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> 用户名: <s:property value="name" /> <br /> 密码: <s:property value="pwd" /> <br /> 登陆失败! </H1> </body></html>
9. jsp页面(success.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%> <!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP'success.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> 用户名: <s:property value="name" /> <br /> 密码: <s:property value="pwd" /> <br /> 登陆成功! <br> 从SESSION中获取值(jsp方式):用户名:<%=session.getAttribute("userName")%><br> 从SESSION中获取值(struts方式):用户名: <s:property value="#session.userName"/> <br> 访问次数: <s:property value="#application.count"/> </H1> </body></html>
这个变文章也是在这个csdn某个大神的博客上看到的 为了以后自己方便查看特地转载
0 0
- struts2连接数据库实现用户登录
- struts2连接数据库实现用户注册与登录
- Winform连接数据库并实现用户登录
- jsp连接数据库实现用户登录功能
- jsp连接数据库实现用户登录功能
- 用python连接数据库,实现用户注册和用户登录
- 【J2EE核心开发学习笔记 010】struts2的搭建及连接数据库实现用户注册与登录
- struts2 简单实现用户登录
- Winform连接SQL数据库并实现用户登录
- MyEclipse下jsp连接mysql数据库实现用户登录
- ADO.NET 使用Connection对象连接数据库实现用户登录
- C#连接数据库 用户登录
- Struts2 + MySql 数据库实现登录
- struts2之用户登录校验数据库信息
- node.js---study2 连接池连接数据库实现登录注册查询用户的功能---
- java之Struts2实现用户登录过滤
- struts2+ajax+json实现用户登录
- Struts2 mybatis spring 实现用户登录
- boost::timer
- 史上最详细的Android Studio系列教程三--快捷键
- hdu 2795 线段树
- 【张孝祥并发课程笔记】09:Callable与Future的应用
- 20150302 N1
- struts2连接数据库实现用户登录
- 线性表线性(顺序)存储结构
- html编辑器kindeditor的使用
- xcode修改完js lua等文件不用每次都重新编译的设置方法
- 【张孝祥并发课程笔记】10:java5的线程锁技术
- java常用系统包介绍
- LINUX 笔记2 之LINUX常用命令
- VC内存泄露检测
- [Parallax Animation]实现知乎 Android 客户端启动页视差滚动效果