Jsp+JavaBean 모드의 로그인 등록 시스템
9047 단어 jsp
먼저 자바빈을 씁니다. 일반적인 자바빈에게 변수를 정의하고 Getter/setter 함수를 추가하면 완전한 자바빈입니다.그러나 보통 이것뿐만 아니라 현재 자바빈의 목적에 따라 독특한 조작 함수를 추가해야 한다.이 단원에서 개발한 DBAccess.자바는 각기 다른 목적을 가진 자바빈으로 데이터베이스 조작의 자바빈으로서 데이터베이스의 매개 변수와 변수를 저장할 수 있을 뿐만 아니라 데이터베이스 조작도 할 수 있다.
이 모델의 변화는 주로 두 개의 자바빈을 개발했는데 하나는 데이터베이스 처리 클래스인 DBAccess이다.java, 다른 하나는 업무 논리 클래스 UserBean.java
예를 들어 데이터베이스 조작을 하려면 먼저 데이터베이스 링크를 만들고 유사한 업데이트 SQL 함수를 만들어야 한다. 이 문제는 이 두 개만 있으면 충분하다.
네 개의 문건을 중점적으로 수정했는데,
DBAccess.java
이javaBean에서 데이터베이스에 대한 모든 조작을 완성했습니다. UserBean.자바의 방법은 이 안의 방법으로 데이터베이스를 조작하고, 그 두 JSp 페이지는 순서대로 UserBean의 방법으로 조작한다.
이렇게 해서 데이터베이스 조작에 대한 봉인을 실현했고 코드의 재사용을 실현했다. jsp 페이지에서 자바 코드의 양을 최대한 낮추고 데이터의 조작을 완전히 제거했다. 모든 stconn rs는 DBAccess에서 완성했다. 이것은 한국의 servlet 컨트롤러 안에 해당하는 strs conn이 이미 함수를 닫았다.생각이 다르죠.
공사 훈련 그 종목도 한씨의 조작 방식을 채택했다.
확실히 strs conn과 닫기 함수, 추가 삭제try catch는 모두 자바빈에서 완성해야 합니다. 그러면 더욱 좋습니다.
package com.gxm.jspandbean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DBAccess {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/login";
String user = "root";
String password = "admin";
Connection conn = null;
Statement st = null;
ResultSet rs = null;
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Connection getConn() {
return conn;
}
public void setConn(Connection conn) {
this.conn = conn;
}
public Statement getSt() {
return st;
}
public void setSt(Statement st) {
this.st = st;
}
public ResultSet getRs() {
return rs;
}
public void setRs(ResultSet rs) {
this.rs = rs;
}
/*
* @
* @return boolean
*/
public boolean creatConn(){
boolean flag = false;
try{
Class.forName(driver);
conn = DriverManager.getConnection(url,user,password);
// , ,
flag = true;
}catch(Exception e){
e.printStackTrace();
}
return flag;
}
/*
* @
* @return boolean
*/
public boolean update(String sql){
boolean flag = false;
try{
st = conn.createStatement();
int res = st.executeUpdate(sql);
if(0!=res){
flag = true;
}
}catch(Exception e){
e.printStackTrace();
}
return flag;
}
/*
* @
* @return boolean
*/
public boolean query(String sql){
boolean flag = false;
try{
st = conn.createStatement();
rs = st.executeQuery(sql);
flag = true;
}catch(Exception e){
e.printStackTrace();
}
return flag;
}
/*
* @ next
* @return boolean
*/
public boolean next(){
boolean flag = false;
try{
if(rs.next()) flag = true;
}catch(Exception e){
e.printStackTrace();
}
return flag;
}
/*
* @ ,
* @param field
* @return String
*/
public String getValue(String field){
String value = null;
try{
if(rs!=null){
value = rs.getString(field);
}
}catch(Exception e){
e.printStackTrace();
}
return value;
}
public void close() {
try{
if(rs!=null){
rs.close();
rs = null;
}
if(st!=null){
st.close();
st = null;
}
if(conn!=null){
conn.close();
conn = null;
}
}catch(Exception e){
e.printStackTrace();
}
}
}
UserBean.java
package com.gxm.jspandbean;
//
// , st rs ,
public class UserBean {
/*
*
* @param username
* @param password
*/
public boolean isvalid(String username,String password){
boolean flag = false;
DBAccess db = new DBAccess();
if(db.creatConn()){
String sql = "select * from users where username ='"+username+"' and password = '"+password+"' ";
db.query(sql);
if(db.next()){
flag = true;
}
db.close();
}
return flag;
}
/*
* @
*/
public boolean isExist(String username){
boolean flag = false;
DBAccess db = new DBAccess();
if(db.creatConn()){
String sql = "select * from users where username = '"+username+"'";
db.query(sql);
if(db.next()){
System.out.println(" ");
flag = true;
}
db.close();
}
return flag;
}
/*
* @
*/
public boolean add(String username,String password){
boolean flag = false;
DBAccess db = new DBAccess();
//
if(db.creatConn()){
String sql = "insert into users(username,password) values('"+username+"','"+password+"')";
if(db.update(sql)){
flag = true;
}
db.close();
}
return flag;
}
}
registerCheck.jsp
<%@ page language="java" import="java.util.*,java.sql.*,com.gxm.jspandbean.*;" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String email = request.getParameter("email");
String username = request.getParameter("username");
String password1 = request.getParameter("password1");
String password2 = request.getParameter("password2");
if(username == null||password1 == null|| password2 == null||!password1.equals(password2)){
response.sendRedirect("register.jsp");
}
boolean flag = false;
UserBean ub = new UserBean();
if(ub.isExist(username)){
//
response.sendRedirect("register.jsp");
}else if(ub.add(username,password1)){
flag = true;
response.sendRedirect("login.jsp");
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'registerCheck.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>
This is my JSP page. <br>
</body>
</html>
loginCheck.jsp
<%@ page language="java" import="java.util.*,java.sql.*,com.gxm.jspandbean.*;" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String username = request.getParameter("username");
String password = request.getParameter("password");
// ,javascript , ,
if(username == null||password ==null){
response.sendRedirect("login.jsp");
}
boolean flag = false;
UserBean ub = new UserBean();
if(ub.isvalid(username,password)){
flag = true;
}
if(flag){
response.sendRedirect("welcome.jsp?user="+username);
}else{
response.sendRedirect("login.jsp?info=error");
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'loginCheck.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>
</body>
</html>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JSP| EL (Experession Language)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.