JAVA mvc学习。

准备:sql

数据库:

create table USER(

userid varchar(30) PRIMARY key,

name VARCHAR(30) not null,

password varchar(32) not null

);

INSERTuser(userid,name,password) values('admin','admin','admin');


JSP页面:

<%@ page contentType="text/html" pageEncoding="utf-8"%>
<%@ page import="java.util.*"%>
<html>
<head>
 <title>hello</title>
</head>
<body>
<%
 request.setCharacterEncoding("utf-8");
%>
<%
   List<String>info =(List<String>)request.getAttribute("info");
   if(info !=null)
   {
     Iterator<String> inter=info.iterator();
     while(inter.hasNext()){
      %>
       <h4><%=inter.next()%></h4>
      <%
     }
    
   }
%>
<form action="loginServlet" method="post">
  用户名:<input type="text" name="userid"/></br>
  密&nbsp;&nbsp;码:<input type="password" name="password"/></br>
  <input type="submit" value="提交"/>&nbsp;&nbsp;&nbsp;
  <input type="reset" value="重置"/>
</form>
</body>
</html>


vo类:

package org.wade.mvcdemo.vo;
public class User{
 private String userid;
 private String name;
 private String password;
 public void setUserid(String userid)
 {
  this.userid=userid;
 }
  public void setName(String name)
 {
  this.name=name;
 }
   public void setPassword(String password)
 {
  this.password=password;
 }
 public String getUserid()
 {
  return this.userid;
 }
  public String getName()
 {
  return this.name;
 }
  public String getPassword()
 {
  return this.password;
 }
}

数据库连接:

package org.wade.mvcdemo.dbc;
import java.sql.*;
public class DatabaseConnection{
  private static final String DBDRIVER="org.gjt.mm.mysql.Driver";
  private static final String Url="jdbc:mysql://localhost:3306/test";
  private static final String dbuser="root";
  private static final String dbpassword="root";
  private Connection conn=null;
  public DatabaseConnection() throws Exception
  {
 
   Class.forName(DBDRIVER);
   this.conn=DriverManager.getConnection(Url,dbuser,dbpassword);
  }
  public Connection getConnection()
  {
   return this.conn;
  }
  public void close() throws Exception
  {
   if(this.conn!=null)
   {
   try{
   this.conn.close();
   }
   catch(Exception e)
   {
    throw e;
   }}
   
   
  }

}

接口:

package org.wade.mvcdemo.idao;
import org.wade.mvcdemo.vo.User;
public interface IUserDao{

  public boolean findLogin(User user)throws Exception;
 
}

实现:

package org.wade.mvcdemo.impl;
import org.wade.mvcdemo.vo.User;
import org.wade.mvcdemo.dbc.*;
import org.wade.mvcdemo.idao.*;
import java.sql.*;
public class UserDaoImpl implements IUserDao{
 
  private Connection conn=null;
  private PreparedStatement pstmt=null;
  public UserDaoImpl(Connection conn){this.conn=conn;}
  public boolean findLogin(User user)throws Exception{
 
   boolean flag=false;
   String sql="select name from user where name=? and password=?";
   this.pstmt=this.conn.prepareStatement(sql);
   this.pstmt.setString(1,user.getUserid());
   this.pstmt.setString(2,user.getPassword());
   ResultSet rs= this.pstmt.executeQuery();
   
   if(rs.next())
   {
    System.out.println(rs.getString(1));
    System.out.println("UserDaoImpl select resultSet:"+rs.getString(1));
    flag=true;
   }
   this.pstmt.close();
   return flag;
  };
 
}

代理:

package org.wade.mvcdemo.proxy;
import org.wade.mvcdemo.vo.User;
import org.wade.mvcdemo.dbc.*;
import org.wade.mvcdemo.impl.*;
import org.wade.mvcdemo.idao.*;
import java.sql.*;
public class UserDaoProxy implements IUserDao{
 
  private DatabaseConnection dbc=null;
  private IUserDao dao=null;
  public UserDaoProxy()
  {
   try{
    this.dbc=new DatabaseConnection();
      }
    catch(Exception e){e.printStackTrace();}
    this.dao=new UserDaoImpl(dbc.getConnection());
  }
 
  public boolean findLogin(User user)throws Exception{
   boolean flag=false;
  try{flag=this.dao.findLogin(user);
  System.out.println("this is userDaoProxy boolean:"+flag);
  }
  catch(Exception e){throw e;}
  finally{this.dbc.close();}
   return flag;
  };
 
}

工厂类:

package org.wade.mvcdemo.facory;
import org.wade.mvcdemo.proxy.*;
import org.wade.mvcdemo.idao.*;

public class DaoFactory {
 public static IUserDao getIUserDaoInstance(){
  return new UserDaoProxy();
 }
 
}

servlet:类

package org.wade.mvcdemo.servlet;
import org.wade.mvcdemo.vo.*;
import org.wade.mvcdemo.facory.*;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class LoginServlet extends HttpServlet {
   public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
   String path="Login.jsp";
   String userid=request.getParameter("userid");
   String password=request.getParameter("password");
   List<String> info=new ArrayList<String>();
   
   
   if(userid==null ||"".equals(userid))
   {
    info.add("user in not null");
   }
   if(password==null ||"".equals(password))
   {
    info.add("password in not null");
   }  
   if(info.size()==0)
   {
     User user=new User();
     user.setUserid(userid);
     user.setPassword(password);
     try{
     System.out.println(DaoFactory.getIUserDaoInstance().findLogin(user));
  }catch(Exception e){e.printStackTrace();}
     try{
     if(DaoFactory.getIUserDaoInstance().findLogin(user))
     {
     info.add("user login  sueecss");
     }
     else
     {
      info.add("user or password is errors");
     }
     }catch(Exception e)
     {
      e.printStackTrace();
     }
   }
   request.setAttribute("info",info);
   request.getRequestDispatcher(path).forward(request,response);
   }
   public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
   this.doGet(request,response);
   }
}


web.xml配置

<servlet>
 <servlet-name>loginservlet</servlet-name>
 <servlet-class>org.wade.mvcdemo.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>loginservlet</servlet-name>
 <url-pattern>/mvc/loginServlet</url-pattern>
</servlet-mapping> 






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值