简单的登陆注册页面

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登录注册页面的更多相关文章

  1. 登录注册页面html模版

    登录注册页面html模版 地址:http://download.csdn.net/detail/xiaosongaixiaoqian/5432033

  2. /*用户登录注册页面输入框的设置*/<span>的使用

    <!DOCTYPE html> /*用户登录注册页面输入框的设置*/ <html lang="en"> <head> <meta char ...

  3. php登录注册页面及加载

                           php注册界面                               <h1>注册页面</h1> <form acti ...

  4. php做登录注册页面及加载

    //SQL注入攻击 //1.过滤用户的输入 //2.使用预处理语句 //3.写代码的时候尽量避免 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  5. node.js实现简单的登录注册页面

    首先需要新建四个文件 一个服务器js 一个保存数据的txt 一个登陆.一个注册页面html 1.注册页面 <!DOCTYPE html> <html lang="en&qu ...

  6. HTML登录注册页面简单实现

    github:传送门 , 码云: 传送门 效果参考: 登录页面,注册页面 使用了bootstrap,jQuery. 后端使用的CGI处理表单,存入MySQL数据库.(之后更新) 登录页面源码 < ...

  7. javaweb实现注册页面(数据库连接以及ajax验证)

    先放效果图 可实现js实时验证        可实现ajax实时验证注册信息是否存在   页面实现要求 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求 ...

  8. php+ajax 登录注册页面

    主要是登录注册功能,前端后台验证没有什么,这个大家可以自己加上去,比如过滤啊,正则啊等 还是先放图吧 这是登录及注册界面  点击注册切换到注册界面,点击登录切换到登录界面 <!DOCTYPE h ...

  9. javaweb 登陆注册页面

    视图的数据修改,表中也修改引用工具类用<%@ page import=""%> <%@ page import="java.util.Date" ...

随机推荐

  1. iis 应用程序预热

    <applicationPools> <add name="appname" managedRuntimeVersion="v4.0" sta ...

  2. 2018.09.30 bzoj2223: [Coci 2009]PATULJCI(主席树)

    传送门 主席树经典题目. 直接利用主席树差分的思想判断区间中数的个数是否合法然后决定左走右走就行了. 实际上跟bzoj3524是同一道题. 代码: #include<bits/stdc++.h& ...

  3. yii2 内置事件

    1.yii2系统登录   const EVENT_BEFORE_LOGIN = 'beforeLogin';  //登录前    const EVENT_AFTER_LOGIN = 'afterLog ...

  4. 在centos7.1上安装systemd

    1.检查本地systemd的版本 [admin@localhost ~]$ systemctl --version          systemd 208   +PAM +LIBWRAP +AUDI ...

  5. java.lang.NoClassDefFoundError Could not initialize class 异常的处理

    class,forname的配置文件出问题核对url数据库中的名字和bean中名字不同没有把jar包变成build path

  6. python+django+mysql配置步骤

    安装python 详细步骤见:地址 1. 从 http://www.python.org/download/ 下载最新的python版本 (我用的是python2.6, 当时最稳定的) 2. 然后一路 ...

  7. (匹配)Courses -- hdu --1083

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1083 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  8. php学习之路-笔记分享20150327

    由于公司需要,不得已是php也学习并用了段时间做了两个项目,现也分享出笔记.需要源文档的留下邮箱,.

  9. DIN-A4 doublesided year calendar

    % DIN-A4 doublesided year calendar % Author: Robert Krause % License : Creative Commons attribution ...

  10. Android-ActionBar-与Menu结合

    ActionBar就是一个标题栏,以前Android3.0之前还称为标题栏,Android3.0之后取名为ActionBar 首先必须在AndroidManifest.xml中指定Applicatio ...