struts+ajax+mysql制作的简单登录

 

1建立数据库:

drop database st;
create database st;
 use st;
create   table  student(
                 id   int  primary key auto_increment,
                 name      varchar(32)  unique ,
                 passwd    varchar(12),
                 email     varchar(32),
                 phone     varchar(16),
                 address   varchar(256)
);

建立实体类:

package com.ambow.entity;

public class Student {
 private int id;
 private String name;
 private String password;
 private String email;
 private String phone;
 private String address;
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
 public String getPhone() {
  return phone;
 }
 public void setPhone(String phone) {
  this.phone = phone;
 }
 public String getAddress() {
  return address;
 }
 public void setAddress(String address) {
  this.address = address;
 }
 public Student() {
  super();
 }
 public Student(int id, String name, String password, String email,
   String phone, String address) {
  super();
  this.id = id;
  this.name = name;
  this.password = password;
  this.email = email;
  this.phone = phone;
  this.address = address;
 }
}

建立学生类接口:

package com.ambow.dao;

import com.ambow.entity.Student;

public interface StudentDao {
 public Student login(String name, String passwd);

 public void addUser(Student student);

 public void updateUser(Student student);
 public Student find(String name);

}

 

建立跟数据库连接的工具类:

 

package com.ambow.util;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

public class JdbcConfig {
 
 private Properties pro= new Properties();
 
 private static JdbcConfig jdbcConfig= null;
 
 private JdbcConfig(){
  load();
 }
 
 private void load() {
 try {
   
   
   pro.load(this.getClass().getResourceAsStream("/jdbcconfig.properties"));
    
  } catch (FileNotFoundException e) {
   
   e.printStackTrace();
   
  } catch (IOException e) {

   e.printStackTrace();
   
  }
  
 }
public static JdbcConfig getInstnce() {
  
  if (jdbcConfig == null) {
   jdbcConfig = new JdbcConfig();
  }
  
  return jdbcConfig;
  
 }

 public String getValues(String key) {
  
  return pro.getProperty(key);
  
 }

 public static void main(String[] args) {
  
  
 }

}

 

 

package com.ambow.util;

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

public class JdbcUtil {

 private static String DB_DRIVER = null;
 private static String DB_URL = null;
 private static String DB_USER = null;
 private static String DB_PASSWORD = null;

 static {
  DB_DRIVER = JdbcConfig.getInstnce().getValues("mysql_driver");
  DB_URL = JdbcConfig.getInstnce().getValues("mysql_url");
  DB_USER = JdbcConfig.getInstnce().getValues("mysql_user");
  DB_PASSWORD = JdbcConfig.getInstnce().getValues("mysql_password");
 }

 public static Connection getConnection() throws ClassNotFoundException,
   SQLException {
  Class.forName(DB_DRIVER);
  return DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);

 }

 public static void close(ResultSet rs, Statement stmt, Connection conn) {

  try {
   if (rs != null)
    rs.close();

   if (stmt != null)
    stmt.close();

   if (conn != null)
    conn.close();

  } catch (SQLException e) {

   e.printStackTrace();
  }

 }

 public static void main(String[] args) {
  try {
   
   System.out.println(DB_DRIVER);
   System.out.println(DB_URL);
   System.out.println(DB_USER);
   System.out.println(DB_PASSWORD);
   System.out.println(getConnection());
   
  } catch (ClassNotFoundException e) {

   e.printStackTrace();
   
  } catch (SQLException e) {

   e.printStackTrace();
   
  }
 }

}
在跟目录下建立jdbcconfig.properties文件:

mysql_driver=com.mysql.jdbc.Driver
mysql_url=jdbc:mysql://localhost:3306/st?useUnicode=true&characterEncoding=gbk
mysql_user=root
mysql_password=1234

 

写接口的实现:

package com.ambow.daoimpl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.ambow.dao.StudentDao;
import com.ambow.entity.Student;
import com.ambow.util.JdbcUtil;

public class StudentDaoImpl implements StudentDao{

 public void addUser(Student student) {
        Connection conn = null;
  PreparedStatement pstmt = null;
  try { 
   conn = JdbcUtil.getConnection();
   String sql = "insert into student ( name , passwd, email, phone, address) values (?,?,?,?,?) ";
   pstmt = conn.prepareStatement(sql);
   pstmt.setString( 1, student.getName() );
   pstmt.setString( 2, student.getPassword() );
   pstmt.setString( 3, student.getEmail() );
   pstmt.setString( 4, student.getPhone() );
   pstmt.setString( 5, student.getAddress() );
   int i = pstmt.executeUpdate();
   System.out.println(i + "条记录被修改!");   
  } catch (Exception e) { 
   e.printStackTrace();
   
  }finally{
   
  JdbcUtil.close(null, pstmt, conn);   
  } 
 }

 public Student find(String name) {
  
  return null;
 }

 public Student login(String name, String passwd) {
  Student student = null;
  Connection conn = null;
  PreparedStatement pstmt = null;
  ResultSet rs = null;
  try {
   String  sql = "select  *  from   student  where name =? and passwd = ?";
   conn = JdbcUtil.getConnection();
   pstmt = conn.prepareStatement(sql );
   pstmt.setString(1, name);
   pstmt.setString(2, passwd);
   rs = pstmt.executeQuery();
   if(rs.next()){
    student = new Student();
    int index = 1;
    student.setId( rs.getInt(index++));
    student.setName(rs.getString(index++));
    student.setPassword(rs.getString(index++));
    student.setEmail(rs.getString(index++));
    student.setPhone(rs.getString(index++));
    student.setAddress(rs.getString(index++));
    
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   JdbcUtil.close(rs, pstmt, conn);   
  }
  return student;
 }

 public void updateUser(Student student) {  
 }
    public static void main(String[] args) {
     StudentDaoImpl sd = new StudentDaoImpl();
     Student st = new Student();
//     st.setName("yyyy");
//     st.setPassword("1234");
//     st.setAddress("anhui");
//     st.setEmail("280458609@qq.com");
//     sd.addUser(st);     
//      st = sd.login("yyy", "1234");
//      System.out.println(st);
 }

}


写要登录页面index.jsp

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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 '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">
 -->
 <script type="text/javascript" src="style/js/jquery-1.5.min.js"></script>
 <script type="text/javascript">
  $(document).ready(function(){ 
 $("#login-sumit").submit(function(){
  var username = $("#username").val();
  var pwd = $("#pwd").val();
  $.ajax({
   type: "POST",
      url: "<%=basePath%>um/ajaxlogin.do",
      data:{username:username,pwd:pwd},
      dataType:"json",
      success: function(msg){
        //alert(msg);
        if(msg.rs =="success"){
         $("#login-info").empty();
         var text = "<span>欢迎,"+msg.username+"光临本店</span>";
         $("#login-info").html(text);
        }
        if(msg.rs =="error"){
         var text="<span style='color:red'>"+msg.reason+"</span>"
         $("#login-info").prepend(text);
        }
      },
      error:function(XMLHttpRequest, textStatus, errorThrown){
        alert(textStatus);
        alert(errorThrown);
      }
  });  
  return false;
 });

});  
 </script> 
  </head>  
  <body>
    <div id="login-info">   
    <form id="login-sumit" method="post">
    用户名:<input type="text" id="username" name="username" /><br/>
    密码:<input type="password" id="pwd" name="pwd" /><br/>
    <input type="submit" value="登录">
   </form>   
    </div>    
  </body>
</html>

配置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">
  <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> 
    </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>
</web-app>


配置struts-config.xml文件:

 

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

   <form-beans>
    </form-beans>

    <global-exceptions>     
    </global-exceptions>
    <global-forwards>
    </global-forwards>
    <action-mappings>
         <action path="/um/login"
                 type="com.ambow.action.UserAction"
                 parameter="login"
         >
         <forward name="success" path="/success_login.jsp"></forward>
         <forward name="error" path="/error_login.jsp"></forward>
         </action>
       <action path="/um/ajaxlogin"
       type="com.ambow.action.UserAction"
       parameter="ajaxLogin"
       >
       <forward name="rs" path="/ajax.jsp"></forward>
    </action>  
    </action-mappings>
    <message-resources parameter="MessageResources" />
</struts-config>

 

最后一步写UserAction类:

package com.ambow.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;
import com.ambow.dao.StudentDao;
import com.ambow.daoimpl.StudentDaoImpl;
import com.ambow.entity.Student;

 

 public ActionForward ajaxLogin(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  //获取页面的提交的信息
  String username = request.getParameter("username");
  String pwd = request.getParameter("pwd");
  //连接数据库查找是否用该用户
        StudentDao sd = new StudentDaoImpl();
  Student student = new Student();
  student = sd.login(username, pwd);
  
  //根据结果处理相应的结果
  if(student!=null){
   String data = "{/"rs/":/"success/",/"username/":/"bjg/"}";
   request.setAttribute("data", data);
   return mapping.findForward("rs");
  }else{
   String data = "{/"rs/":/"error/",/"reason/":/"用户名或密码错误/"}";
   request.setAttribute("data", data);
   return mapping.findForward("rs");
  }
 }
  
}

要导入struts1相关的jar包,同时引入jquery-1.5.min.jss

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值