这篇文章主要介绍了JavaWeb怎么实现注册页面功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaWeb怎么实现注册页面功能文章都会有所收获,下面我们一起来看看吧。
简单的登陆注册页面
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怎么实现注册页面功能”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。