更新時間:2021-09-06 12:46:46 來源:動力節點 瀏覽1909次
簡單的登陸注冊頁面
1.配置JDBC驅動連接數據庫
2.配置struts2框架
3.利用1 2完成登錄頁面, 注意做到不耦合,即servlet Api和控制器完全脫離)
4.利用1 2 制作注冊頁面,判斷數據庫是否存在注冊賬號,若存在,則提示賬號存在,不存在則跳轉注冊成功頁面
創建項目命名為chapter04 找到下載好的JDBC驅動jar文件復制粘貼到WebRoot-WEB-INF下的lib文件夾下,如圖
配置struts2框架
在網上下載struts2框架,打開struts2文件夾中的lib找到如下的jar文件 同樣復制到WebRoot-WEB-INF下的lib文件夾下
接下來在web.xml中配置前端控制器,具體代碼如下
<filter>
<filter-name>struts2</filter-name>
<filter-class> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最后在Struts.xml中配置Action分發給對應的JSP 代碼如下
<struts>
<constant name="struts.devMode" value="true"></constant>
<package name="loginpkg" extends="struts-default" namespace="/">
<action name="succes" class="loginAction.login" method="logins">
<result name="succes">/succes.jsp</result>
<result name="defeat">/defeat.jsp</result>
</action>
<action name="register" class="loginAction.register" method="registers">
<result name="succes">/index.jsp</result>
<result name="defeat">/defeat.jsp</result>
</action>
</package>
</struts>
JSP頁面的有 index.jsp register.jsp defeat.jsp success.jsp對應分別是首頁 注冊頁面 失敗跳轉頁面 成功登錄頁面這里只介紹index.jsp界面,其他比較簡單自己寫 index.jsp代碼如下
<body>
<form action="/chapter04/succes">
用戶:<input name="name" style="margin-left:10px;"><br>
密碼:<input name="password" style="margin-left:10px;"><br>
<input type="submit" value="登錄" style="position: absolute; left: 50px; top:60px;">
</form>
<a style="position: absolute; left: 110px; top:60px;" href='/chapter04/register.jsp' >注冊</a>
</body>
在src下創建一個包 名為jdbcDAO ,在包內創建名為Conn的jdbc連接數據庫類,代碼如下;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conn {
public static Connection con;
public static Connection getconnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String url="jdbc:mysql://127.0.0.1:3306/userdb?characterEncoding=utf8";
String user="root";
String password="123456";
try {
con=DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con}
新建查詢數據庫功能類 read 代碼如下
package jdbcDAO;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.PreparedStatement;
public class read {
public static boolean isCheck(String name,String password){
Connection con=Conn.getconnection();
String sql="select * from user";
PreparedStatement ps=null;
ResultSet rs=null;
try {
ps=(PreparedStatement) con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
String name1=rs.getString("name");
String password1=rs.getString("password");
if(name1.equals(name)&&password1.equals(password)){
return true;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public static boolean isCheck1(String name){
Connection con=Conn.getconnection();
String sql="select * from user";
PreparedStatement ps=null;
ResultSet rs=null;
try {
ps=(PreparedStatement) con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
String name1=rs.getString("name");
if(name1.equals(name)){
return true;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
}
創建添加用戶功能類 Add代碼如下
package jdbcDAO;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.PreparedStatement;
public class Add {
public static boolean Adds(String name,String password){
Connection con=Conn.getconnection();
boolean falg=false;
PreparedStatement ps=null;
String sql="insert into user(name,password)values(?,?)";
try {
ps=(PreparedStatement) con.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, password);
int i=ps.executeUpdate();
if(i==1){
falg=true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return falg;
創建longAction包
在longAction包中創建兩個類login和register類
login類代碼如下
package loginAction;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.Servlet;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import jdbcDAO.read;
import userBean.User;
public class login extends ActionSupport {
private String name;
private String password;
private boolean falg=false;
private static final long serialVersionUID = 1L;
public String logins(){
ServletActionContext sac=null;
name=sac.getRequest().getParameter("name");
password=sac.getRequest().getParameter("password");
falg=read.isCheck(name, password);
if(falg){
return "succes";
}else{
return "defeat";
}
}
}
Register類代碼如下
package loginAction;
import org.apache.struts2.ServletActionContext;
import jdbcDAO.Add;
import jdbcDAO.read;
public class register {
private boolean falg=false;
private String name;
private String password;
public String registers(){
ServletActionContext sac=null;
name=sac.getRequest().getParameter("name");
password=sac.getRequest().getParameter("password");
falg=read.isCheck1(name); //真
if(!falg){
falg=Add.Adds(name, password);
if(falg){
return "succes";
}
else{
return "defeat";
}
}else{
return "defeat";
}
}
}
以上就是動力節點小編介紹的"JavaWeb注冊頁面代碼",希望對大家有幫助,想了解更多可查看JavaWeb教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習