精华内容
下载资源
问答
  • javaWeb登录注册页面

    2019-03-30 15:51:00
    3. 利用1 2完成登录页面, 注意做到不耦合,即servlet Api和控制器完全脱离) 4. 利用1 2 制作注册页面,判断数据库是否存在注册账号,若存在,则提示账号存在,不存在则跳转注册成功页面 创建项目命名为...

    简单的登陆注册页面

    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";
            }
        }
    }

     

     

     

    转载于:https://www.cnblogs.com/canxiong/p/10627636.html

    展开全文
  • Javaweb登录注册界面入门教程

    万次阅读 多人点赞 2019-07-29 17:16:43
    博主是一个自学了点Java,只是连那本《Java从入门到精通》基础知识都没看完的人,由于实习的需要,需要用JavaEE(J2E)开发一个简单的登录注册界面,通过强大的搜索引擎和无数的推盘重来,博主终于实现了一个基本的...

    前言:

    博主是一个自学了点Java,只是连那本《Java从入门到精通》基础知识都没看完的人,由于实习的需要,需要用JavaEE(J2E)开发一个简单的登录注册界面,通过强大的搜索引擎和无数的推盘重来,博主终于实现了一个基本的登录注册界面,参考了大佬们的博客:JavaWeb入门登录注册系统,可以初步交差了,写这篇博客是为了给自己这段时间的工作内容做一个总结吧,也方便自己以后回顾起来方便,当然如果能帮助和我一样刚入门的新手也是一件乐事,如果碰巧和Java大佬们偶遇,还请多多海涵多多指教,毕竟我是一名java小菜鸟。


    Javaweb登录注册界面开发

    开发前提:

    环境搭建:MySQL-8.0.16+MySQL-workbench-8.0+Eclipse JavaEE+Tomcat-7.0.94

    一.数据库-数据表的创建

    1.打开MySQL-workbench,建立新连接,如下图所示:

    这样就建立好了一个新的连接。 

    双击之后,出现下面的界面:

     2.创建一个新的schema。

    出现下面的界面。

    MySQL-workbench左侧会出现新建立的scheme 。

    3.双击mydatabase!!!鼠标右键点击Tables 

    创建数据表的名字,这里定义users,并添加三个表项:idusers、username、password,idusers设置为自增模式。PK、NN等含义可参考mysql workbench中PK,NN,UQ,BIN,UN,ZF,AI字段类型标识说明 

    数据表就创建完了。 

    在MySQL-workbench左侧界面mydatabase里可以发现users。 

    4.鼠标右键点击users,选择第一个选项将数据表扩展到1000行,并预存储了四个用户,如下图所示:

    5.接下来就可以在命令窗口输入cmd测试一下数据库是否创建完成 。

    依次输入以下命令:

    从上图可看出数据库已经可以正常使用了,说明数据库已经成功创建了。到这里就已经完成了一部分内容了。

    二.建立Javaweb项目 

    数据库创建好后,接下来利用Eclipse for JavaEE 建立一个Javaweb项目,我发现了一个大佬写的特别详细的一个教程,JavaEE开发测试,我从头照着博客的流程走了一遍,基本熟悉了如何使用Eclipse for JavaEE和开发登录界面的流程。下面开始具体介绍我的操作步骤。

    1.打开Eclipse for JavaEE软件,添加Tomcat。

     

    可以看到Eclipse界面左侧出现Servers。 

     

    2.建立一个Dynamic Web Project。

    项目主要采用三层MVC思想,即M(Model)、V(view)、C(Controller),全称是模型视图控制器。

    可以看到Eclipse界面左侧出现JavaEEDemo项目。 

    项目主要使用Java Resources里的src和WebContent文件夹,其中 src里存放用于登录注册的java、javabean和Servlet代码;而WebContent里存放一些前端界面代码,比如登录注册界面,常用.html、.jsp格式,另外这个文件夹下可以放登陆注册界面的背景图片,后面还会提到。

    3.建立DbUtil.java文件,用于Java连接MySQL。

    在src文件夹上点击鼠标右键,New--->Class

     

     

     

    具体代码如下:

    package model;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    
    public class DbUtil {
        
        /**
         *
         * @DbUtil类的作用 jdbc 的一些简单配置
         * dbUrl
         * dbusername
         * dbpassword
         * jdbcName
         */
    
        private String dbUrl="jdbc:mysql://localhost:3306/mydatabase?serverTimezone=UTC";
    
    
        private String dbUsername="root";
        private String dbPassword="XXXX";  /**你自己数据库的密码**/
    
    
    
    
        private String jdbcName="com.mysql.cj.jdbc.Driver"; /** 我用com.mysql.jdbc.Driver时出错,百度解决办法是:com.mysql.cj.jdbc.Driver **/
        
        /**
         * 获取数据库连接
         * @return
         * @throws Exception
         */
        public Connection getCon() throws Exception{
            Class.forName(jdbcName);
            Connection con=DriverManager.getConnection(dbUrl,dbUsersname,dbPassword);
            return con;
        }
        
        /**
         * 关闭数据库连接
         * @param con
         * @throws Exception
         */
        public void closeCon(Connection con) throws Exception{
            if(con!=null){
                con.close();
            }
        }
        
        /**
         * 建立一个main方法测试是否可以连接数据库成功!
         */
        
        public static void main(String[] args) {
            DbUtil dbUtil=new DbUtil();
            try {
                dbUtil.getCon();
                System.out.println("数据库连接成功");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    

    注意!!!在使用这个文件之前,一定要添加JDBC驱动,将.jar包导入项目,将准备好的.jar驱动包复制到 WebContent---->WEB-INF里。

    在.jar文件上,鼠标右键点击,进行如下操作: 

    4.创建用户类user,用于从数据库中读出用户名和密码,同时也可以从前端界面中获得用户名和密码。

    具体代码如下: 

    package model;
    
    public class User {
    
    	 private static String usersname;
    	 private String password;
    	 
    	 public User() {}
    	 
    	 public User(String usersname, String password) {
    		 this.usersname=usersname;
    		 this.password=password;
    		 
    	 }
    	 
    	 public static String getUsersname() {
    		 return usersname;
    	 }
    	 public void setUsersname(String usersname) {
    		 this.usersname = usersname;
    	 }
    	 public String getPassword() {
    		 return password;
    	 }
    	 public void setPassword(String password) {
    		 this.password = password;
    	 }
    }
    
    

     

     

     

     

    5.建立DAO类,增加数据库增加查询用户的功能。

    具体代码如下:

    package model;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
     
    
    public class DAO {
        /**
         * login(Connection con,User user) 登录验证
         * (Connection con,User user)注册功能
      
         */
        public User login(Connection con,User user) throws Exception{
            User resultUser=null;
            String sql="select * from users where usersname=? and password=?";
            PreparedStatement pstmt=con.prepareStatement(sql);
            pstmt.setString(1, user.getUsersname());
            pstmt.setString(2, user.getPassword());
            ResultSet rs=pstmt.executeQuery();
            if(rs.next()){
                resultUser=new User();
                resultUser.setUsersname(rs.getString("usersname"));
                resultUser.setPassword(rs.getString("password"));
            }
            return resultUser;
        }
        
        //注册功能
        public boolean regist(Connection con,User user) throws Exception{
            boolean flag=false;
            PreparedStatement pstmt = null;
            String sql="INSERT INTO user(usersame,password)VALUES(?,?)";
            pstmt = con.prepareStatement(sql);
            pstmt.setString(1, user.getUsersname());
            pstmt.setString(2, user.getPassword());
            if (pstmt.executeUpdate() > 0) {
                flag = true;
            }
            return flag;
        }
    
    }

     -------------------------------------------------------------------我是过渡线--------------------------------------------------------------------------------------

    编辑文档的时候,调整了一下内容的顺序,然后就空出来这么大的空白区,博主不知道如何删除,哈哈。

    --------------------------------------------------------------------我是过渡线-------------------------------------------------------------------------------------

     

     

     

     

     

     

     

     

    6.分别建立用于登录(Login)和注册(Regist)的Servlet文件。

    鼠标右键点击src文件夹,然后进行如下操作:

    出现如下程序: 

    具体LoginServlet代码如下:

    package controller;
    
    import java.io.IOException;
    import java.sql.Connection;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import model.DAO;
    import model.DbUtil;
    import model.User;
    
    @WebServlet("/Login")
    public class LoginServlet extends HttpServlet{
        @Override
        protected void doGet(HttpServletRequest req, 
        		HttpServletResponse resp) throws ServletException, IOException {
            this.doPost(req, resp);
        }
    
        @Override
        protected void doPost(HttpServletRequest req, 
        		HttpServletResponse resp) throws ServletException, IOException {
        
        
            /**
             * 接收前台传来的值 账号和密码
             */
            String usersname=req.getParameter("usersname");
            
            String password=req.getParameter("password");
            
            DbUtil db= new DbUtil();
            User user=new User(usersname,password);
            DAO dao=new DAO();
            try {
                //数据库连接
                Connection con=db.getCon();
                
                if(dao.login(con, user)!=null) {
                    resp.sendRedirect("success.jsp");
                }else {
                    resp.sendRedirect("register.jsp");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

     RegistServlet同理,具体代码如下:

    package controller;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import model.DAO;
    import model.DbUtil;
    import model.User;
    @WebServlet("/Regist")
    public class RegistServlet extends HttpServlet{
    
        @Override
        protected void doGet(HttpServletRequest req,
        		HttpServletResponse resp) throws ServletException, IOException {
            this.doPost(req, resp);
        }
    
        @Override
        protected void doPost(HttpServletRequest req,
        		HttpServletResponse resp) throws ServletException, IOException {
        
        
            /**
             * 接收前台传来的值 账号和密码
             */
        	
        	//获取注册用户名
            String usersname=req.getParameter("usersname");
            //获取注册用户密码
            String password=req.getParameter("password");
            
            DbUtil db= new DbUtil();
            User user=new User(usersname,password);
            DAO dao=new DAO();
            try {
                //数据库链接
                Connection con=db.getCon();
                
                if(dao.regist(con,user)) {
                    resp.sendRedirect("login.jsp");
                }else {
                    resp.sendRedirect("regist.jsp");
           
                }
                
                
            } catch (Exception e) {
                e.printStackTrace();
            }
        
        }
    }

    --------------------------------------------------------------------至此,后台代码弄好了。--------------------------------------------------------------------

    接下来编写前台html代码,主要包括四部分:index.jsp(主页面)、login.jsp(登录界面)、regist(注册界面)、success.jsp(登录成功界面)。

    7.编写前台界面:.jsp界面

    在WebContent鼠标右击,进行如下操作:

    具体代码如下: 

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <link rel="stylesheet" type="text/css" href="./css/index.css" />
            <title>欢迎来到我的网站</title>
            <style type="text/css" media="screen">
                    .center{
                            position:absolute;
                            width: 200px;
                            height: 120px;
                            left: 50%;
                            top: 50%;
                            margin: -60px 0px 0px -60px;
                           
                    }
            </style>
        </head>
        
          <center>
        <body style="background:url(images/index.jpg);
                     background-size:cover;">
      <div class="center">
        <h3 style="color:red">这是首页,欢迎光临!</h3>
    
            <tr>
                <a href="login.jsp"><li>用户登录</li></a>
                <a href="regist.jsp" class="right40"><li>新用户注册</li></a>
            </tr>
      </div>
        </body>
         </center>
    </html>

    其余几个.jsp文件具体代码分别如下所示:

    login.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>登录界面</title>
     <style type="text/css" media="screen">
                    .center{
                            position:absolute;
                            width: 250px;
                            height: 120px;
                            left: 50%;
                            top: 50%;
                            margin: -100px 0px 0px -100px;
                            
                    }
            </style>
    </head>
    <body style="background:url(images/back.png);
                     background-size:cover;">
                      <div class="center">
    
    <center>
    <form action="/JavaEEDemo/Login" method="post">
    <h3>欢迎登录!</h3>
    账号:<input name="usersname" type="text" style="width:150px"><br>
    密码:<input name="password" type="password" style="width:150px"><br>
    <input type="submit" value="登录" >
    <input type="reset" value="重置">
    </form>
    
    </center>
    
    </body>
    </html>

    success.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>登录成功界面</title>
    
    </head>
    <body style="background:url(images/house.jpg);
                     background-size:cover;">
                     
    
    
    
    欢迎来到我的小屋!
    
    
    
    
    </body>
    </html>

    regist.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <link rel="stylesheet" type="text/css" href="../css/style.css" />
            <title>注册界面</title>
            <style type="text/css" media="screen">
                    .center{
                            position:absolute;
                            width: 250px;
                            height: 120px;
                            left: 50%;
                            top: 50%;
                            margin: -100px 0px 0px -100px;
                            
                    }
            </style>
    </head>
    <body style="background:url(images/background.png);
                     background-size:cover;">
     <div class="center">
    <center>
     <h3 style="color:red">新用户注册!</h3>
            <form action="/JavaEEDemo/Regist" method="post">
         <table >
                    <tr>
                        <td class="alignRight">
                                                                       账号: 
                        </td>
                        <td>
                            <input type="text" name="usersname" style="width:150px;height:20px"/>
                        </td>
                    </tr>
                    <tr>
                        <td class="alignRight">
                                                                        密码: 
                        </td>
                        <td>
                            <input type="password" name="password" style="width:150px;height:20px"/>
                        </td>
                    </tr>
                                 
                </table>
    <input type="submit" value="提交" class="submit">
    <input type="reset" value="重置" class="reset">
    </form>
    </center>
    </div>
    </body>
    </html>

     修改WebContent-->WEB-INF-->lib文件夹下的web.xml。如下:

    默认情况下是这样的:

    修改之后是这样的:

    如果你想给你的登录注册添加好看的背景图片,在WebContent文件夹下建立一个文件夹存放图片。

     deng~deng~dengdeng~

    至此,登录注册项目的所有工作都完成了。

    但是还有一个会出错的地方,当你运行整个项目的时候,会出现下图的错误:

    下面是解决办法:

    1.在Server上鼠标右击,点击stop:

    2.点击Add and Remove

     

     3.点击clean

    4.点击open

     默认是下面这样的:

    改成下面这样的:

     Ctrl+S保存。

    再次运行整个项目。这次就可以成功了!!!

     主页面:

     点击主页面上的用户登录:

    点击登录:

     注册界面:

     三.总结

    1.各种必要软件的下载安装、环境配置是前提;

    2.数据库数据表的创建;

    3.JavaWeb项目的开发:理解MVC思想,自信编写代码,即使用别人的代码也要注意路径,字母大小写是否一致,要注意修改不一样的地方,一旦忽略一个小地方,可能就会产生一个需要你找好长时间的bug;

    4.项目没有运行成功,有bug(404错误、500错误)也不要灰心丧气,学会借助强大的搜索引擎,问百度,努力自己解决问题,主要还是要耐心,不要着急。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • javaweb登录注册页面

    2017-06-21 16:16:00
    初学javaweb,第一个要做的项目就是登陆注册页面,被这两个页面折磨了两天,终于写出来了,相信也会有许多初学者会面临着写这个页面的问题,给大家提供一段代码,仅供参考。 登录页面; <form action="in.jsp" ...

    初学javaweb,第一个要做的项目就是登陆注册页面,被这两个页面折磨了两天,终于写出来了,相信也会有许多初学者会面临着写这个页面的问题,给大家提供一段代码,仅供参考。

    登录页面;

    <form action="in.jsp" method="post">
    <input type="hidden" name="hidden" value="deng">
    <table>
    <tr>
    <td width="150px" height="50px">
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;账号
    </td>
    <td width="300px" height="50px">
    <input type="text" placeholder="请输入账号" style="height:30px;width:250px;" name="username">
    </td>
    </tr>
    <tr>
    <td>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;密码
    </td>
    <td>
    <input type="password" placeholder="请输入密码" style="height:30px;width:250px;" name="password">
    </td>
    </tr>
    </table>
    <div id="button">
    <input type="submit" value="登录">
    </form>
    <a href="zhuce.jsp">去注册</a>

    注册页面;

    <form action="in.jsp" method="post">
    <input type="hidden" name="hidden" value="zhu">
    <table>
    <tr>
    <td width="150px" height="50px">
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;账号
    </td>
    <td width="300px" height="50px">
    <input type="text" placeholder="请输入账号" style="height:30px;width:250px;" name="username">
    </td>
    </tr>
    <tr>
    <td>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;密码
    </td>
    <td>
    <input type="password" placeholder="请输入密码" style="height:30px;width:250px;" name="password">
    </td>
    </tr>
    <tr>
    <td>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;确认密码
    </td>
    <td>
    <input type="password" placeholder="请再次输入密码" style="height:30px;width:250px;" name="password0">
    </td>
    </tr>
    </table>
    <div id="button">
    <input type="submit" value="注册">
    </form>

    中间需要跳转的in.jsp;

    <%
    request.setCharacterEncoding("utf-8");
    String hidd=request.getParameter("hidden");
    if("deng".equals(hidd)){
    String username=request.getParameter("username");
    String password =request.getParameter("password");

    if(username!=null&&username.trim().length()>0){
    Object oo=application.getAttribute(username);
    if(oo==null){
    response.sendRedirect("java.jsp?code=5");
    }
    else{
    String userinfo=(String)oo;
    if(password.equals(userinfo.split(",")[1])){
    response.sendRedirect("pinglun.jsp");
    }
    else{
    response.sendRedirect("java.jsp?code=6");
    }
    }
    }
    else{
    response.sendRedirect("java.jsp?code=4");
    }
    }
    if("zhu".equals(hidd)){
    String username=request.getParameter("username");
    String password=request.getParameter("password");
    String password0=request.getParameter("password0");
    Object obj=application.getAttribute("username");
    if(obj==null){
    if(password.equals(password0)){
    application.setAttribute(username, username+","+password);
    response.sendRedirect("java.jsp?code=2");
    }
    else{
    response.sendRedirect("java.jsp?code=3");
    }
    }
    else{
    response.sendRedirect("java.jsp?code=1");
    }
    }

    %>

    java.jsp;

    <%
    String code=request.getParameter("code");
    if(code.equals("1")){
    out.print("<h5>该用户已经存在 </h5>");
    }
    if(code.equals("2")){
    out.print("<h5>注册成功 </h5>");
    }
    if(code.equals("3")){
    out.print("<h5>两次输入密码不同 </h5>");
    }
    if(code.equals("4")){
    out.print("<h5>请输入用户名 </h5>");
    }
    if(code.equals("5")){
    out.print("<h5>请先前往注册 </h5>");
    }
    if(code.equals("6")){
    out.print("<h5>密码错误! </h5>");
    }

    %>
    <a href="denglu.jsp">登录</a>
    <a href="zhuce.jsp">注册</a>

    转载于:https://www.cnblogs.com/hljj/p/7060150.html

    展开全文
  • 用户登录注册流程图 ...注册界面 登陆成功界面 LoginServlet import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servle...

    用户登录注册流程图

    老版:

    新版:

     

    登陆界面



    注册界面


    登陆成功界面

    LoginServlet

    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.wzc.login.dao.UserDao;
    import com.wzc.login.domain.User;
    
    /**
     * @description 登录请求处理类
     * @author WANGZIC
     */
    @WebServlet("/LoginServlet")
    public class LoginServlet extends HttpServlet {
    
    	private static final long serialVersionUID = 1L;
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		request.setCharacterEncoding("utf-8");
    		response.setContentType("text/html;charset=utf-8");
    		//接收表单信息
    		String username = request.getParameter("username");
    		String password = request.getParameter("password");
    		String verifyc  = request.getParameter("verifycode");
    		//设置回显
    		request.setAttribute("username", username);
    		request.setAttribute("password", password);
    		request.setAttribute("verifycode", verifyc);
    		//获取验证码
    		String svc =(String) request.getSession().getAttribute("sessionverify");
    		//根据用户名查询用户
    		User user =new UserDao().findUser(username);
    		if(!svc.equalsIgnoreCase(verifyc)){
    			request.setAttribute("loginError", "* 验证码错误");
    			request.getRequestDispatcher("/login.jsp").forward(request, response);
    			return;
    		}
    		if(user!=null){
    			if(user.getPassword().equals(password)){
    				request.getSession().setAttribute("user", user);
    				response.sendRedirect("index.jsp");
    			}else {
    				request.setAttribute("loginError", "* 密码错误");
    				request.getRequestDispatcher("/login.jsp").forward(request, response);
    			}
    		}else {
    			request.setAttribute("loginError", "* 用户不存在");
    			request.getRequestDispatcher("/login.jsp").forward(request, response);
    		}
    		
    	}
    	
    	@Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doPost(request, response);
    	}
    
    }

    RegistServlet

    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.wzc.login.dao.UserDao;
    
    /**
     * @description 注册请求处理类
     * @author WANGZIC
     */
    @WebServlet("/RegistServlet")
    public class RegistServlet extends HttpServlet {
    
    	private static final long serialVersionUID = 1L;
    
    	@Override
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setContentType("text/html;charset=utf-8");
    		String username = request.getParameter("username");
    		String password = request.getParameter("password");
    		String rpsw = request.getParameter("rpsw");
    		if(username==null||username.trim().isEmpty()){
    			request.setAttribute("registError", "用户名不能为空");
    			request.getRequestDispatcher("/regist.jsp").forward(request, response);
    			return;
    		}
    		if(password==null||password.trim().isEmpty()){
    			request.setAttribute("registError", "密码不能为空");
    			request.getRequestDispatcher("/regist.jsp").forward(request, response);
    			return;
    		}
    		if(!password.equals(rpsw)){
    			request.setAttribute("registError", "密码不一致");
    			request.getRequestDispatcher("/regist.jsp").forward(request, response);
    			return;
    		}
    		UserDao u = new UserDao();
    		boolean res = u.addUser(username,password);
    		if(res){
    			response.sendRedirect("index.jsp");
    		}else {
    			request.setAttribute("registError", "注册失败,该用户名已存在");
    			request.getRequestDispatcher("/regist.jsp").forward(request, response);
    		}
    	}
    	
    	@Override
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doPost(request, response);
    	}
    }
    

    LogoutServlet

    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class LogoutServlet
     */
    @WebServlet("/LogoutServlet")
    public class LogoutServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        public LogoutServlet() {
            super();
        }
        
        
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		request.getSession().removeAttribute("user");
    		response.sendRedirect("login.jsp");
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    
    }
    


    VerifyCodeServlet

    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.Random;
    import javax.imageio.ImageIO;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * @description 验证码请求生成处理类
     * @author WANGZIC
     */
    @WebServlet("/VerifyCodeServlet")
    public class VerifyCodeServlet extends HttpServlet {
    
    	private static final long serialVersionUID = 1L;
    	@Override
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		VerifyCode vc = new VerifyCode();
    		request.getSession().setAttribute("sessionverify", vc.getText());
    		vc.outputImage(90,35,response.getOutputStream());
    	}
    
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    	
    	
    	/**
    	 * 验证码生成工具内部类
    	 * @author WANGZIC
    	 *
    	 */
    	static class VerifyCode {
    
    		private static final char[] CHARS = { '2', '3', '4', '5', '6', '7', '8','9',
    				'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M',
    				'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
    
    		private static Random random = new Random();
    
    		private String text ;
    		
    		public String getText() {
    			StringBuffer buffer = new StringBuffer();
    			for (int i = 0; i < 4; i++) {
    				buffer.append(CHARS[random.nextInt(CHARS.length)]);
    			}
    			text = buffer.toString();
    			return text;
    		}
    
    		public void outputImage(int width,int height,OutputStream out) throws IOException{
    			Color color = new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255));
    			Color reverse = new Color(255 - color.getRed(), 255 - color.getGreen(), 255 - color.getBlue());
    			BufferedImage bi = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
    			Graphics2D g = bi.createGraphics();
    			g.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 25));
    			g.setColor(color);
    			g.fillRect(0, 0, width, height);
    			g.setColor(reverse);
    			g.drawString(text, 10, 26);
    			for (int i = 0, n = random.nextInt(80); i < n; i++) {
    				g.drawRect(random.nextInt(width), random.nextInt(height), 1, 1);
    			}
    			ImageIO.write(bi, "JPEG", out);
    		}
    	}
    }

    User

    public class User {
    	
    	private String username;
    	
    	private String password;
    
    	public String getUsername() {
    		return username;
    	}
    
    	public void setUsername(String username) {
    		this.username = username;
    	}
    
    	public String getPassword() {
    		return password;
    	}
    
    	public void setPassword(String password) {
    		this.password = password;
    	}
    	
    	
    }
    


    UserDao

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import com.wzc.login.domain.User;
    /**
     * @description 数据库连接与操作类用于增删改查数据并返回给servlet使用
     * @author WANGZIC
     *
     */
    public class UserDao {
    	/*
    	 * 数据库中运行下面的语句
    	  	CREATE TABLE `user` (
    		  `username` varchar(255) NOT NULL,
    		  `password` varchar(255) DEFAULT NULL,
    		  PRIMARY KEY (`username`)
    		) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    	*/
    	
    	//根据用户名查找用户密码
    	public User findUser(String username){
    		String sql = "select * from user where username=?";
    		Connection con =getConnection();
    		PreparedStatement pstmt =null;
    		ResultSet rs = null;
    		User user = new User();
    		try {
    			pstmt = con.prepareStatement(sql);
    			pstmt.setString(1, username);
    			rs = pstmt.executeQuery();
    			if(rs.next()){
    				user.setUsername(rs.getString("username"));
    				user.setPassword(rs.getString("password"));
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}finally {
    			try {
    				if(pstmt!=null)pstmt.close();
    				if(con!=null)con.close();
    			} catch (SQLException e) {		
    				e.printStackTrace();
    			}
    		}
    		return user;
    	}
    	//添加用户
    	public boolean addUser(String username,String psw){
    		Connection con = getConnection();
    		PreparedStatement pstmt =null;
    		String sql = "INSERT INTO user(username,password) VALUES(?,?)";
    		boolean res = false;
    		try {
    			pstmt = con.prepareStatement(sql);
    			pstmt.setString(1, username);
    			pstmt.setString(2, psw);
    			res = (pstmt.executeUpdate()==1);
    		}catch (SQLException e) {
    			if(!e.getMessage().contains("PRIMARY")){
    				e.printStackTrace();
    			}
    		}finally {
    			try {
    				if(pstmt!=null)pstmt.close();
    				if(con!=null)con.close();
    			}catch (SQLException e) {	
    				e.printStackTrace();
    			}
    		}
    		return res;
    	}
    	//获得连接
    	public static Connection getConnection(){
    		String driver ="com.mysql.jdbc.Driver";//记得依赖mysql-jdbc驱动包
    		String url ="jdbc:mysql://localhost:3306/mytest";//修改为自己的数据库
    		String user ="root";//修改未自己数据库的用户名密码
    		String password ="root";//修改未自己数据库的名密码
    		Connection connection =null;
    		try {
    			Class.forName(driver);
    			connection =DriverManager.getConnection(url, user, password);
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		return connection;
    	}
    	public static void main(String[] args) {
    		//测试方法
    //		System.out.println(new UserDao().findUser("123"));
    //		new UserDao().addUser("1345", "1345");
    	}
    
    
    	
    }
    

    新增了用户管理功能(对用户的增删改查)

    有问题可以加QQ群:483411192
    源码下载 下载完源码之后请仔细阅读README.md文件,导入运行步骤和数据库表结构都在里面

    展开全文
  • javaweb注册登录页面

    千次阅读 2018-06-24 10:35:51
    javaweb注册登录页面 &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%&gt; &lt;!DOCTYPE...
  • 主要介绍了JavaWeb表单注册界面的实现方法的相关资料,希望通过本文大家能掌握这部分内容,需要的朋友可以参考下
  • JavaWeb入门登录注册系统

    万次阅读 多人点赞 2018-07-31 04:37:20
    JavaWeb入门先从登录注册系统开始做起. 我的这个入门教程特别简单大家按步骤做就行一定没有问题的!源码在下面一个字不少大家认真仔细学   1、需要预先了解的几个基本概念,JSP文件和HTML文件还有XML文件,还有...
  • 登录注册源码和使用视频教学,教你怎么吧源码部署到开发工具上,还是比较全面,需要注意的就是里面还有很多没有写后台的html页面,影响不大,介意的话勿下
  • javaweb使用servlet技术,mysql数据库,jsp页面。实现简单的注册登录功能,可自行修改数据库连接。
  • 登录成功: 登录失败: 代码: (1)主页jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> <script> window....
  • javaweb登录注册功能代码

    千次阅读 2020-07-09 14:29:03
    遇到的问题 ...${pageContext.request.contextPath}获得页面全局路径 οnsubmit=“return ff()”当表单提交时完成校验工作(ff()中必须用return false/ture) request域知识一次请求范围有效 e
  • javaweb登录注册源码含使用教学视频,里面说了怎么把我的源码部署到你的开发工具上。比较全面,只收一分。里面还有很多没有写后台的html页面。本想删掉的,但是又想了下还是不删了,反正不影响。
  • 1.登录页面; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here UserName: Password: 注册 2.注册页面 <%@ page langua
  • Javaweb登录页面login.zip

    2020-05-24 09:21:15
    Javaweb登录页面login.zip
  • JavaWeb表单注册界面思路分析

    千次阅读 2015-03-07 19:49:05
    今天又做了一个注册界面,还是一如既往的从以前的代码copy过来,于是决定总结一下做注册界面的思路,供同学参考。
  • javaweb 用户注册登录页面

    千次阅读 2020-03-28 19:46:16
    JSP隐含对象是可以直接在JSP页面使用的对象,无需使用"new"获取实例 二、JSP隐含对象 三、request对象 request对象主要用于处理客户端请求,当浏览器请求一个网页,会发送大量信息到web服务器,这些信息不能直接读取,...
  • javaweb注册页面

    2020-07-22 11:35:39
    列表结构如下,三行列进行表格分布 *" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 注册页面 新用户注册 用户名: ${errors.loginname } 登录密码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,576
精华内容 5,430
关键字:

javaweb登录注册界面

java 订阅