javaWeb登录注册页面
简单的登陆注册页面
1.配置JDBC驱动连接数据库
2. 配置struts2框架
3. 利用1 2完成登录页面, 注意做到不耦合,即servlet Api和控制器完全脱离)
4. 利用1 2 制作注册页面,判断数据库是否存在注册账号,若存在,则提示账号存在,不存在则跳转注册成功页面
创建项目命名为chapter04 找到下载好的JDBC驱动jar文件复制粘贴到WebRoot-WEB-INF下的lib文件夹下,如图

2配置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登录注册页面的更多相关文章
- 登录注册页面html模版
登录注册页面html模版 地址:http://download.csdn.net/detail/xiaosongaixiaoqian/5432033
- /*用户登录注册页面输入框的设置*/<span>的使用
<!DOCTYPE html> /*用户登录注册页面输入框的设置*/ <html lang="en"> <head> <meta char ...
- php登录注册页面及加载
php注册界面 <h1>注册页面</h1> <form acti ...
- php做登录注册页面及加载
//SQL注入攻击 //1.过滤用户的输入 //2.使用预处理语句 //3.写代码的时候尽量避免 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...
- node.js实现简单的登录注册页面
首先需要新建四个文件 一个服务器js 一个保存数据的txt 一个登陆.一个注册页面html 1.注册页面 <!DOCTYPE html> <html lang="en&qu ...
- HTML登录注册页面简单实现
github:传送门 , 码云: 传送门 效果参考: 登录页面,注册页面 使用了bootstrap,jQuery. 后端使用的CGI处理表单,存入MySQL数据库.(之后更新) 登录页面源码 < ...
- javaweb实现注册页面(数据库连接以及ajax验证)
先放效果图 可实现js实时验证 可实现ajax实时验证注册信息是否存在 页面实现要求 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求 ...
- php+ajax 登录注册页面
主要是登录注册功能,前端后台验证没有什么,这个大家可以自己加上去,比如过滤啊,正则啊等 还是先放图吧 这是登录及注册界面 点击注册切换到注册界面,点击登录切换到登录界面 <!DOCTYPE h ...
- javaweb 登陆注册页面
视图的数据修改,表中也修改引用工具类用<%@ page import=""%> <%@ page import="java.util.Date" ...
随机推荐
- Jmeter Ant Task如何让beanshell断言失败的详细信息展示在report里面
首先必须给beanshell断言添加FailureMessage if(${TotalClient_SS}+2!=${TotalClient_SS2}){Failure=true; Fai ...
- c++ 博客资源
/************************************************************** 技术博客 http://www.cnblogs.com/itdef/ ...
- linux 安装 rz sz 快速上传和下载文件
## ubuntu系统 apt install lrzsz
- kubernetes pod、service文件yaml模版格式
apiVersion: v1 #必选,版本号,例如v1,版本号必须可以用 kubectl api-versions 查询到 . kind: Pod #必选,Pod metadata: #必选,元数据 ...
- 17 Privacy Lost:Dose Anybody Care ? 失去隐私,有人在乎吗 ?
Privacy Lost:Dose Anybody Care ? 失去隐私,有人在乎吗 ? ①Someday a stranger will read your e-mail without your ...
- 在windows7下创建ftp服务站点
1.开始->控制面板->程序(点击“卸载程序”)->启动或关闭windows功能->Internet Information Services(Internet信息服务)-&g ...
- Java基础知识学习笔记(一)
理解面向对象: Java纯粹的面向对象的程序设计语言,主要表现为Java完全支持面向对象的三个基本特征:继承.封装.多态. Java程序的最小单位是类,类代表客观世界中具有某种特征的一类事物,这些类可 ...
- BSD Socket 通信
Berkeley sockets is an application programming interface (API) for Internet sockets and Unix domain ...
- [label][翻译][JavaScript Regular Expression]JavaScript Regular Expressions
原文:http://www.javascriptkit.com/javatutors/re.shtml 校验用户的输入是每一个软件开发者的必须要做的事情. 正则表达式与模式 如何在JavaScript ...
- Get size of all tables in database
http://stackoverflow.com/questions/7892334/get-size-of-all-tables-in-database SELECT t.NAME AS Table ...