精华内容
下载资源
问答
  • Java Web简单注册登陆界面(mysql+servlet+jsp)

    万次阅读 多人点赞 2017-05-12 20:18:47
    通过一段时间Java Web的学习,写一个简单注册界面来做个总结,也方便与大家分享交流。首先我们先写一个UserBean,代码如下: package com.szx.jnmc; public class User { private String username; private ...

    通过一段时间Java Web的学习,写一个简单的注册登陆界面来做个总结,也方便与大家分享交流

    首先我们先写一个UserBean,代码如下:

        package com.szx.jnmc;
    
        public class User {
    
    	private String username;
    	private String userpass;
    	private int role;
    	private int lognum;
    	private  String regtime;
    	public String getUsername() {
    		return username;
    	}
    	public void setUsername(String username) {
    		this.username = username;
    	}
    	public String getUserpass() {
    		return userpass;
    	}
    	public void setUserpass(String userpass) {
    		this.userpass = userpass;
    	}
    	public int getRole() {
    		return role;
    	}
    	public void setRole(int role) {
    		this.role = role;
    	}
    	
    	public int getLognum() {
    		return lognum;
    	}
    	public void setLognum(int lognum) {
    		this.lognum = lognum;
    	}
    	public String getRegtime() {
    		return regtime;
    	}
    	public void setRegtime(String regtime) {
    		this.regtime = regtime;
    	}
    	
        }
    

    这段代码用来对user进行数据的封装。

    下面再写一个数据库连接类DBOper 这个类具有连接数据库以及增删改(executeUpdate)查(executeQuery)的功能,以便于AddUserServlet的调用

    package com.szx.jnmc;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class DBOper {
    
    	Connection conn = null;
    	PreparedStatement ps = null;
    	ResultSet rs = null;
    	//打开连接
    	public Connection getConn(String server,String dbname,String dbuser,String dbpwd){		
    		String DRIVER = "com.mysql.jdbc.Driver";
    		String URL = "jdbc:mysql://"+server+":3306/"+dbname+"?user="+dbuser+"&password="+dbpwd+"&useUnicode=true&characterEncoding=utf8";
    		try{
    			Class.forName(DRIVER);	
    			conn = DriverManager.getConnection(URL);
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    		return conn;
    	}
    	//关闭连接
    	public void closeAll(){
    		try{
    			if(rs != null){
    				rs.close();
    			}
    		}catch(SQLException e){
    			e.printStackTrace();
    		}finally{
    			try{
    				if(ps != null){
    					ps.close();
    				}
    			}catch(SQLException e){
    				e.printStackTrace();
    			}finally{
    			try{
    				if(conn != null){
    					conn.close();
    				}
    			}catch (SQLException e){
    				e.printStackTrace();
    			}
    			}
    		}
    		
    	}
    	//执行sql语句,可以进行查询
    	public ResultSet executeQuery(String preparedSql,String []param){
    		try{
    			ps = conn.prepareStatement(preparedSql);
    			if(param != null){
    				for (int i = 0; i < param.length; i++) {
    					ps.setString(i + 1, param[i]);
    				}
    			}
    			rs = ps.executeQuery();
    		}catch(SQLException e){
    			e.printStackTrace();
    		}		
    		return rs;
    		
    	}
    	//执行sql语句,增加,修改,删除
    	public int executeUpdate(String preparedSql,String[]param){
    		int num = 0;
    		try{
    			ps = conn.prepareStatement(preparedSql);
    			if(ps != null){
    				for (int i = 0; i < param.length; i++) {
    					ps.setString(i + 1, param[i]);
    				}
    			}
    			num = ps.executeUpdate();
    		}catch(SQLException e){
    			e.printStackTrace();
    		}
    		return num;
    	}
    }
    
    

    数据库连接类写完之后,继续写一个UserDao,这个类主要功能是对用户进行增删改查 ,虽然是一个简单的登录界面,但是考虑到后面的开发,所以就直接把删改查的功能也一并实现了,代码如下:

    package com.szx.jnmc;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    public class UserDao extends DBOper{
    	//获取用户列表
    	public List<User> getUser(){
    		List<User>userList = new ArrayList<User>();
    		User user = new User();
    		String sql = "SELECT * FROM tb_user";
    		try{
    			ResultSet rs = this.executeQuery(sql,null);
    			while(rs.next()){
    				user.setUsername(rs.getString("username"));
    				user.setUserpass(rs.getString("userpass"));
    				user.setLognum(rs.getInt("lognum"));
    				user.setRegtime(rs.getString("regtime"));
    				user.setRole(rs.getInt("role"));
    				userList.add(user);
    			}
    			
    		}catch(SQLException e){
    			e.printStackTrace();
    		}finally{
    			this.closeAll();
    		}
    		return userList;
    	}
    	//根据用户名获取用户
    	public User getUserByName(String name){
    		User user = null;
    		String sql = "SELECT * FROM tb_user WHERE username = ?";
    		try{			
    			ResultSet rs = this.executeQuery(sql, new String[]{name});
    			if(rs.next()){
    				user = new User();
    				user.setUsername(rs.getString("username"));
    				user.setUserpass(rs.getString("userpass"));
    				user.setRole(rs.getInt("role"));
    				user.setLognum(rs.getInt("lognum"));
    				user.setRegtime(rs.getString("regtime"));
    			}
    		}catch(SQLException e){
    			e.printStackTrace();
    		}finally{
    			this.closeAll();
    		}
    		return user;
    	}
    	//修改用户信息
    	public boolean editUser(User user){
    		boolean r = false;
    		String sql = "UPDATE tb_user SET userpass = ?,role = ?,regtime = ?,lognum = ? WHERE username = ?";
    		try{
    			int num = this.executeUpdate(sql, new String[]{user.getUserpass(),""+user.getRole(),""+user.getLognum(),user.getRegtime(),user.getUsername()});
    			if(num > 0){
    				r = true;
    			}
    		}catch(Exception e){
    			e.printStackTrace();
    		}finally{
    			this.closeAll();
    		}
    		return r;
    		
    	}
    	//添加用户
    	public boolean addUser(User user){
    		boolean r = false;
    		String sql = "INSERT INTO tb_user(username,userpass,role,regtime)VALUES(?,?,?,?) ";
    		try{
    			int num = this.executeUpdate(sql,new String[]{user.getUsername(),user.getUserpass(),""+user.getRole(),user.getRegtime()});
    			if(num > 0){
    				r = true;
    			}
    		}catch(Exception e){
    			e.printStackTrace();
    		}finally{
    			this.closeAll();
    		}
    		return r;
    	}
    	//删除指定用户
    	public boolean delUser(String name){
    		boolean r = false;
    		String sql = "DELETE FROM tb_user WHERE username = ?";
    		try{
    			int num = this.executeUpdate(sql,new String[]{name});
    			if(num > 0){
    				r = true;
    			}
    		}catch(Exception e){
    			e.printStackTrace();
    		}finally{
    			this.closeAll();
    		}
    		return r;
    	}
    }
    
    

    ####我们先写注册部分,addUser.jsp用来接收用户的输入。抛开各种样式,直接用最原始的样式呈现吧,代码如下:

     <%@ page language="java" contentType="text/html; charset=GBK"
        pageEncoding="GBK"%>
        <!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=GBK">
        <title>添加用户页面</title>
        </head>
        <body>
        <form action = "AddUserServlet" method = "POST">
        用户名:<input type = "text" name = "username">
        密码:<input type = "password" name = "userpass">
        <input type = "submit" value = "注册">
        <input type = "reset" value = "重置">
        </form>
        </body>
        </html>
    

    ####效果如下图,太丑了,仅作分享交流,不喜勿喷
    这里写图片描述

    这里有一个地方需要注意,就是页面的字符编码设置统一为GBK

    下面写我们的AddUserServlet,不多说,直接贴代码:

      package com.szx.jnmc;
    
        import java.io.IOException;
        import java.io.PrintWriter;
    	import java.text.SimpleDateFormat;
    	import java.util.Date;
    	
    	import javax.servlet.ServletContext;
    	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 AddUserServlet
    	 */
    	@WebServlet("/AddUserServlet")
    	public class AddUserServlet extends HttpServlet {
    		private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public AddUserServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doPost(request,response);
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		request.setCharacterEncoding("GBK");
    		response.setContentType("text/html;charset = GBK");
    		String username = request.getParameter("username");
    		String userpass = request.getParameter("userpass");
    		//String role = request.getParameter("role");
    		Date curTime = new Date();
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    		String regtime = sdf.format(curTime);
    		PrintWriter out = response.getWriter();
    		ServletContext ctx = this.getServletContext();
    		String server = ctx.getInitParameter("server");
    		String dbname = ctx.getInitParameter("dbname");
    		String dbuser = ctx.getInitParameter("dbuser");
    		String dbpwd = ctx.getInitParameter("dbpwd");
    		User user = new User();
    		user.setUsername(username);
    		user.setUserpass(userpass);
    		user.setRegtime(regtime);
    		//user.setRole(Integer.parseInt(role));
    		UserDao dao = new UserDao();
    		dao.getConn(server, dbname, dbuser, dbpwd);
    		if(dao.addUser(user)){
    			out.print("注册成功!");
    		}
    		else{
    			out.print("注册失败!");
    		}
    		
    		
    	}
    
        }
    

    接下来我们写登陆部分,login.jsp代码如下:

    <%@ page language="java" contentType="text/html; charset=GBK"
        pageEncoding="GBK"%>
    <!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=GBK">
    <title>登陆页面</title>
    </head>
    <body>
    <form method = "POST" action = "LoginServlet">
    用户名:<input type = "text" name = "username">
    密码:<input type = "password" name = "userpass">
    <input type = "submit" value = "登陆">
    <input type = "reset" value = "重置">
    </form>
    </body>
    </html>
    

    登录页面如下:

    这里写图片描述

    LoginServlet代码如下:

    package com.szx.jnmc;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    /**
     * Servlet implementation class LoginServlet
     */
    @WebServlet("/LoginServlet")
    public class LoginServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public LoginServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doPost(request,response);
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		request.setCharacterEncoding("GBK");
    		response.setContentType("text/html;charset = GBK");
    		PrintWriter out = response.getWriter();
    		String username = request.getParameter("username");
    		String userpass = request.getParameter("userpass");
    		ServletContext ctx = request.getServletContext();
    		String server = ctx.getInitParameter("server");
    		String dbname = ctx.getInitParameter("dbname");
    		String dbuser = ctx.getInitParameter("dbuser");
    		String dbpwd = ctx.getInitParameter("dbpwd");		
    		DBOper db = new DBOper();
    		db.getConn(server, dbname, dbuser, dbpwd);
    		String sql = "SELECT username,userpass,role FROM tb_user WHERE username = ? AND userpass = ?";
    		ResultSet rs = db.executeQuery(sql,new String[]{username,userpass});
    		try {
    			if(rs != null && rs.next()){
    				HttpSession session = request.getSession();
    				session.setAttribute("username",username);
    				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    				String logtime = sdf.format(new Date()); 
    				session.setAttribute("logtime",logtime);
    				Cookie cookie = new Cookie("username",username);
    				cookie.setMaxAge(60*60*24*30);
    				response.addCookie(cookie);
    				RequestDispatcher dispatcher = request.getRequestDispatcher("MainServlet");
    				dispatcher.forward(request,response);
    			}else{
    				out.print("登录失败");
    				out.print("<br><a href = 'login.jsp'>重新登陆</a>");
    			}
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    	public void init()throws ServletException {
    		
    	}
    
    }
    
    

    LoginServlet里的MianServlet用来显示登陆成功的信息,登陆失败则跳转到login.jsp重新登陆,MainServlet的代码如下:

    package com.szx.jnmc;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    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 javax.servlet.http.HttpSession;
    
    /**
     * Servlet implementation class MainServlet
     */
    @WebServlet("/MainServlet")
    public class MainServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public MainServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doPost(request,response);
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		request.setCharacterEncoding("GBK");
    		response.setContentType("text/html;charaset = GBK");
    		PrintWriter out = response.getWriter();
    		HttpSession session = request.getSession();
    		String username = (String)session.getAttribute("username");
    		String logtime = (String)session.getAttribute("logtime");
    		out.println("登录名:"+username+"&nbsp;&nbsp;&nbsp;&nbsp;登陆时间:"+logtime);
    		out.println("欢迎"+username);
    	}
    
    }
    
    

    到此我们还有最重要的一步,就是在web.xml里配置我们的项目,web.xml代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>20170512</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <context-param>
        <param-name>server</param-name>
        <param-value>localhost</param-value>
      </context-param>
      <context-param>
        <param-name>dbname</param-name>
        <param-value>A20170512</param-value>
      </context-param>
      <context-param>
        <param-name>dbuser</param-name>
        <param-value>root</param-value>
      </context-param>
      <context-param>
        <param-name>dbpwd</param-name>
        <param-value>123456</param-value>
      </context-param>
      <servlet>
        <display-name>AddUserServlet</display-name>
        <servlet-name>AddUSerServlet</servlet-name>
        <servlet-class>com.szx.jnmc.AddUserServlet</servlet-class>
      </servlet>
       <servlet>
      <display-name>LoginServlet</display-name>
      <servlet-name>LoginServlet</servlet-name>
      <servlet-class>com.szx.jnmc.LoginServlet</servlet-class>
      </servlet>
    </web-app>
    

    ####当然,配置文件容易出现问题,例如在刚开始的时候项目里并没有web.xml,所以我们不妨在创建项目的时候就直接带上,步骤如下:
    1.新建项目
    这里写图片描述
    2.next
    这里写图片描述
    3.勾选√
    这里写图片描述
    ####这时候,项目的/0512/WebContent/WEB-INF/目录下就会出现web.xml文件

    还有一步就是要把jdbc连接数据库(mysql)的jar包复制到/20170512/WebContent/WEB-INF/lib目录下,这样才能连接保证连接到数据库

    到此有必要贴出项目的目录结构:

    这里写图片描述
    ####数据库需要自己创建,如图所示:
    这里写图片描述

    项目的下载地址:

    CSDN下载中心:http://download.csdn.net/detail/itcreater000/9841194

    百度网盘下载:链接: https://pan.baidu.com/s/1m1A8wNt7FVwwh8t7UuyAMw 提取码: 6ygn

    喜欢的朋友可以点个赞,有问题欢迎留言!

    到此就结束了我们的项目,欢迎大家提出宝贵的建议改进方案!

    展开全文
  • JavaWeb小项目-简单Web登录注册界面

    千次阅读 2020-09-14 16:44:42
    Java小项目-简单Web登录注册界面 为了完成一个作业弄的。 Java+servlet+Mysql 本次项目的原型作者是“WANGZIC” 这是它原项目的下载链接 原代码有一些问题,本项目作出了一些改动,值得一提的是漏洞很多,仅供新手...

    Java小项目-简单Web登录注册界面

    为了完成一个作业弄的。

    Java+servlet+Mysql

    本次项目的原型作者是“WANGZIC”

    这是它原项目的下载链接

    原代码有一些问题,本项目作出了一些改动,值得一提的是漏洞很多,仅供新手学习和娱乐哟!

    环境准备

    eclipse2019,Tomcat9,Mysql(为了方便直接用的phpstudy),java1.8

    参考配置

    phpstudy安装配置
    懂的朋友可以直接安装mysql,这里为了小白方便操作,选择的phpstudy
    eclipse下载安装
    ps:有些eclipse可能没有安装web插件,在帮助->安装新软件里面搜索web然后安装即可。
    eclipse开发web配置

    这个只需要做到第二步就可以了

    注意
    这里有个小问题,需要做预处理
    在这里插入图片描述

    如果第二个箭头那里有东西的,右键,点击除去,没有的直接做第二步
    左键双击,点击第一个箭头指向的地方 Use Tomcat installation…然后ctrl+s报存
    下面开始正式部署项目,加油!离使用已经很近了!

    部署项目

    数据库创建

    创建前要点击启动按钮启动哦!

    1.单击MySql管理工具,再点击MySql-Front
    在这里插入图片描述

    弹出这个界面,点击打开
    在这里插入图片描述

    下面可能有点复杂,不懂的请务必按照指示做,注意标记的几个东西
    在这里插入图片描述

    2.首先点击SQL编辑器,输入create database users这个代码,然后再点击工具栏上标记的那个蓝色方块按钮,执行成功后左边目录会多出一个users,如果没有就点击一下目录上面的刷新按钮。
    然后,在SQL编辑器界面下,继续输入代码,就像图中一样,代码如下,可以粘贴

    use users
    
    CREATE TABLE `user` (
              `USERID` int(11) NOT NULL AUTO_INCREMENT,
              `USERNAME` varchar(255) NOT NULL,
              `PASSWORD` varchar(255) DEFAULT NULL,
              `NICKNAME` varchar(255) DEFAULT NULL,
              `GENDER` varchar(255) DEFAULT NULL,
              `PHONE` varchar(255) DEFAULT NULL,
              `EMAIL` varchar(255) DEFAULT NULL,
              `ADDRESS` varchar(255) DEFAULT NULL,
              PRIMARY KEY (`USERID`,`USERNAME`)
            ) ENGINE=InnoDB AUTO_INCREMENT=100000 DEFAULT CHARSET=utf8;
    

    最后鼠标左键按住不动选中这块代码,再点击工具栏的那个按键,这时左边users下方会出现user,
    如果没出现,点击刷新
    至此,数据库建立完成,以后注册的用户的一些信息都在这里
    eclipse部署

    1.项目导入到Eclipse
    下载完项目后解压,然后打开eclipse,
    >右键eclipse右侧项目目录空白处,点击import
    >选择 General>Existing projects into Workspace
    在这里插入图片描述

    >点击Next>点击Browse..选择刚下载的项目
     >勾选下面Options中的Copy projects into workspace 然后点击Finish(项目导入后会有小红叉,先不用管)
    

    在这里插入图片描述

    >右键导入的项目选择Build path>configure build path
    >选择Libraries
    

    在这里插入图片描述
    >选中JRE System Library 然后点击右边的 Remove
    >然后点击Add Library…>选择JRE System Library >点击Next >点击 Finish
    >选中Apache Tomcat 然后点击右边的 Remove
    >然后点击Add Library…>选择Server Runtime >点击Next >选中你自己的tomcat >点击 Finish
    在这里插入图片描述

    我这是中文版,大家英文版的也没错哈。

    2.更改UserDao.java文件中JDBC连接信息
    将数据库驱动名更改位自己所用的数据库的驱动名,本项目只提供Mysql的驱动包。
    (若连接其他数据库请自行下载数据库驱动jar包)
    更改数据库连接的用户和密码为自己数据库的用户和密码
    在这里插入图片描述

    如果是按照本文的配置,基本不需要改
    在这里插入图片描述

    3.新建用户表 (数据库操作)
    建表语句:

        CREATE TABLE `user` (
          `USERID` int(11) NOT NULL AUTO_INCREMENT,
          `USERNAME` varchar(255) NOT NULL,
          `PASSWORD` varchar(255) DEFAULT NULL,
          `NICKNAME` varchar(255) DEFAULT NULL,
          `GENDER` varchar(255) DEFAULT NULL,
          `PHONE` varchar(255) DEFAULT NULL,
          `EMAIL` varchar(255) DEFAULT NULL,
          `ADDRESS` varchar(255) DEFAULT NULL,
          PRIMARY KEY (`USERID`,`USERNAME`)
        ) ENGINE=InnoDB AUTO_INCREMENT=100000 DEFAULT CHARSET=utf8;
    

    到此,项目已可以尝试运行了!

    注意

    这里注意到项目上面还是有个小红叉,下面介绍解决办法

    到项目的目录setting下,修改这个文件,如图将7.0改为自己Tomcat的版本,同时还要把下面的“1.7”改成自己的java版本哦!
    在这里插入图片描述

    一些知识补充

    Servlet

    参考理解

    参考开发教程

    简介

    servlet是运行在服务器上的一个小程序,用来处理服务器请求的 ,B/S模型(浏览器-服务器模型).而servlet就是对请求作出处理的组件,运行于支持Java的应用服务器中 , 起到对数据进行操作的作用

    开发流程
    • 编写一个java类,继承HttpServlet类

    • 重写HttpServlet类的doGet方法和doPost方法

    • 配置web.xml文件,或者使用注解对servlet进行配置

      1. web.xml(一般在webapp目录下)
      <webapp>
      <!-- 配置一个servlet -->
        <!-- servlet的配置 -->
        <servlet>
        	<!-- servlet的内部名称,自定义。尽量有意义 -->
        	<servlet-name>MyServlet</servlet-name>
        	<!-- servlet的类全名: 包名+简单类名 -->
        	<servlet-class>cn.roobtyan.servlet.FirstServlet</servlet-class>
        </servlet>
        
        
        <!-- servlet的映射配置 -->
        <servlet-mapping>
        	<!-- servlet的内部名称,一定要和上面的内部名称保持一致!! -->
        	<servlet-name>MyServlet</servlet-name>
        	<!-- servlet的映射路径(访问servlet的名称) -->
        	<url-pattern>/first</url-pattern>
        </servlet-mapping>
      </webapp>
      
      1. 注解(servlet3.0以上)

        方法是在对应的Servlet类上使用@WebServlet注解进行标记 @WebServlet中有两个属性可以用来表示Servlet的访问路径,分别是value和urlPatterns。value和urlPatterns都是数组形式,表示我们可以把一个Servlet映射到多个访问路径,但是value和urlPatterns不能同时使用。举个例子(这是下面的一部分代码)

        package com.wzc.login.servlet;
        
        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
         * @author WANGZIC
         */
        @WebServlet("/LogoutServlet")
        public class LogoutServlet extends HttpServlet {
        	private static final long serialVersionUID = 1L;
               
            public LogoutServlet() {
                super();
            }
        
        	@Override
        	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        		request.getSession().removeAttribute("user");
        		response.sendRedirect(request.getContextPath()+"login.jsp");
        	}
        
        	@Override
        	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        		doGet(request, response);
        	}
        
        }
        
        
    JDBC

    参考理解

    简单使用

    简介

    Java Database Connecive, Java 数据库连接,是一组专门负责连接并操作数据库的标准,在整个JDBC 中实际上大量的提供的是接口

    使用

    在进行JDBC 操作的时候可以按照以下的步骤完成:

    1、加载数据库驱动程序,加载的时候需要将驱动程序配置到classpath之中

    2、连接数据库,通过Connection 接口和 DriverManager 类完成

    3、操作数据库,通过Statement、PreparedStatement、ResultSet 三个接口完成

    4、关闭数据库,在实际开发中数据库资源非常有限,操作完之后必须关闭

    具体使用参考上面链接哦!

    展开全文
  • <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div{ width: 100px; he...

    在这里插入图片描述

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div{
                width: 100px;
                height: 100px;
                margin: 0 auto;
            }
        </style>
    </head>
    <body>
    <div>
        <form method="post" action="" onsubmit="return xc.regCheck();" >
            <input type="hidden" name="" id="errnum" value="0">
            name: <input type="text" name="" id="name"><br>
            sex: <input type="radio" value="1" checked="checked">
            sex: <input type="radio" value="0" >
            <br>
            age: <select name="" id="age">
            <option value="0" selected="selected">xz</option>
            <option value="1">0~18</option>
            <option value="2">18~24</option>
            <option value="2">25~30</option>
            <option value="2">31~35</option>
            <option value="5">35~</option>
        </select>
            <br>
            like: <input type="checkbox" name="like" value="1" class="like" hidden="hidden">
            <br>
            a<input type="checkbox" name="like" value="1" class="like">
            b<input type="checkbox" name="like" value="2" class="like">
            c<input type="checkbox" name="like" value="3" class="like">
            <br>
            pass: <input type="password" id="pass"><br>
            repass: <input type="password" id="repass"><br>
            about: <textarea name="" id="about" cols="18" rows="4"></textarea>
            <input type="submit" value="login" id="regBtn">
            <input type="button" value="解锁" onclick="xc.unlock()"
                   id="regUnlock" style="display:none;">
        </form>
    </div>
    
    <script>
        var xc={};
        xc.$=function (id) {
            return document.getElementById(id);
    
        };
        xc.regCheck=function () {
            var name=xc.$('name');
            var upass=xc.$('pass');
            var rpass=xc.$('repass');
            if (name.value===''){
                alert('not null');
                xc.err();
                return false;
            }
            if (upass.value===''){
                alert('pass null');
                xc.err();
                return false;
            }
            if (upass.value!==rpass.value){
                alert('not same');
                xc.err();
                return false;
            }
            var about=xc.$('about');
            if (about.value.length>60){
                alert('To long');
                xc.err();
                return false;
            }
    
            var age=xc.$("age");
            if (age.value==="0"){
                alert("age");
                return false;
            }
    
    
            var likes =document.getElementsByClassName("like");
            var likeNum=0;
            for (var n=0;n<likes.length;n++){
                if (likes[n].checked){
                    likeNum++;
                }
            }
            if (likeNum===0){
                alert("like");
                xc.err();
                return false;
            }
            return true;
    
        };
    
        xc.err=function(){
            var el=xc.$("errnum");
            var old=el.value;
            el.value=parseInt(old)+1;
            console.log(el);
            xc.lock();
        };
    
        xc.lock=function(){
            var err=xc.$("errnum");
            if (parseInt(err.value)>2){
                xc.$("regBtn").disabled=true;
                xc.$("regUnlock").style.display="block";
            }
        };
    
        xc.unlock=function () {
            xc.$("regBtn").disabled=false;
            xc.$("regUnlock").style.display="none";
    
        };
    </script>
    
    </body>
    </html>
    
    展开全文
  • 标签:Java Web、JSP、Servlet、Tomcat登录注册功能实现近期写了一个简单地登录注册,是基于 java web ...登录与注册界面:2.登陆成功与注册成功界面:(目前注册成功后返回登录界面)1.总述登录与注册是两个最基本的...

    标签:Java Web、JSP、Servlet、Tomcat

    登录注册功能实现

    近期写了一个简单地登录注册,是基于 java web 的;

    涉及知识较简单,主要是数据库的连接,jsp 与 servlet 的使用等;

    本文是图文结合;

    实现效果在第二部分展示。

    所用平台 Myeclipse 、Mysql

    1.登录与注册界面:

    9850f427b239

    9850f427b239

    2.登陆成功与注册成功界面:

    (目前注册成功后返回登录界面)

    9850f427b239

    9850f427b239

    1.总述

    登录与注册是两个最基本的功能,可以以此为基础进行拓展,基于数据的处理,可进一步学习更多的知识,深入了解认识 java web

    登录注册的实现,主要分为 以下  3  部分,

    java  基础接口与类

    数据库  Mysql  连接

    jsp  与 servlet 的使用

    2.实现

    (1).  首先是数据库的创建与连接

    (登录与注册都要提交数据给服务器,服务器拿其余数据库数据进行相关操作)

    以我的程序为例

    首先在数据库中建立一个用户表(学生用户),Database:Mysql3 Table: student

    设置两个属性 String name  ;   String password;

    初始化一些数据即可。

    9850f427b239

    9850f427b239

    (2).数据库及相关表处理好后,在  MyEclipse   创建  web project  项目,其他代码都在这个平台编写(也可用eclipse)

    新建包  cn.edu.hpu.model   名字自定义(以下新建  servlet  jsp  工程名  class   interfence  名字自定义)

    1>.用来写学生类,对应建的表,

    2>. 然后建立数据库的连接,以便服务器查询使用数据库数据

    (数据库连接分为三大步:

    一是加载驱动

    二是创建连接对象,及其他相关对象

    三是关闭所打开的数据流)

    3>.新建包  cn.edu.hpu.test  写测试连接的代码,在  /test/WebRoot/WEB-INF/lib  导入数据库连接的  *.jar  文件

    -->学生类 Student

    9850f427b239

    -->连接数据库所需的包,此处用的 mysql

    9850f427b239

    -->与数据库创建连接的类 DataConner

    9850f427b239

    9850f427b239

    -->测试数据库连接是否成功

    9850f427b239

    -->新建包  cn.edu.hpu.service

    在包里写一个接口,及两个方法  add  ckeckLogin  对应注册‘登录

    新建一个实现接口的类

    9850f427b239

    -->实现接口的类

    9850f427b239

    9850f427b239

    -->测试以上接口方法是否可用

    1.

    9850f427b239

    2.

    9850f427b239

    -->相关验证,直接打开数据库,直观的看到数据记录是否变化,刚才的测试操作是否成功

    9850f427b239

    9850f427b239

    -->最后创建   jsp  及对应的  servlet

    jsp

    代码如下:注意将  pageEncoding  改为  utf-8  支持中文防止乱码

    (jsp 文件都要在此处设置编码方式为 utf-8 以便防止不支持中文而导致乱码)

    9850f427b239

    1>登录代码 jsp 文件

    9850f427b239

    2>失败提示界面代码

    9850f427b239

    3>注册界面文件 jsp 代码

    9850f427b239

    4>成功界面代码

    9850f427b239

    servlet

    1>注册功能:数据处理文件 servlet

    9850f427b239

    9850f427b239

    2>登录 servlet 文件

    9850f427b239

    9850f427b239

    四、配置文件 XML简单说明

    xml  文件 在Myeclipse 自动生成,其他平台可能要自己写

    代码如下:

    9850f427b239

    友情提示:

    由于路径问题、大小写问题等书写不规范可能导致一系列错误,异常;

    以上代码可用无错误;

    请注意代码书写规范;

    养成良好风格。

    展开全文
  • } } 下面来写一个简单注册的jsp | Settings | File Templates. --%> ; charset=utf-8" pageEncoding="utf-8" %> 注册 用户名 密码 效果图展示,有点丑 下来就是添加用户的servlet界面了 package Servlet; import ...
  • 标签:Java Web、JSP、Servlet、Tomcat登录注册功能实现近期写了一个简单地登录注册,是基于 java web ...登录与注册界面:2.登陆成功与注册成功界面:(目前注册成功后返回登录界面)1.总述登录与注册是两个最基本的...
  • 代码: <!doctype htpl> <html> <head> <meta charset="utf-8" /> <title>注册用户</title> </head> <body> <...
  • 用户登录注册流程图 ...注册界面 登陆成功界面 LoginServlet import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servle...
  • 核心技术 java web servlet:HttpServlet类,基于@WebServlet()注释的Servlet类的配置 tomcat项目部署 mysql数据库 jdbc druid数据库连接池 ...mysql的可视化界面:SQLyog 用到的jar包 项目所需的jar包:druid...
  • Java WEB 简单 de 登录注册

    万次阅读 多人点赞 2016-04-05 15:14:38
    登录注册功能实现图文教程 一、前言  近期写了一个简单地登录注册,是基于 java web 的;涉及知识较简单,主要是数据库的连接,jsp 与 servlet 的使用等;实现效果在第二部分展示。...2.1 登录与注册界面  ...
  • 登录注册功能实现一、前言 近期写了一个简单地登录注册,是基于 Java Web 的; 涉及知识较简单,主要是数据库的连接,JSP 与 Servlet 的使用等...登录与注册界面: 2.登陆成功与注册成功界面: (目前注册成功后返回...
  • 我想实现一个注册跳转功能,可总是出现异常:程序也没什么问题啊?怎么回事。。。。。。(数据库已经连接上了)////////////////////////////////////////////////////////////////////////////////////////////...
  • 昨天用java写了一个简单web,实现了登录注册,工具是Eclipse,部署在Tomcat,用了一下jsp+servlet,前台页面用了一下bootstrap,数据库用的MySQL,虽然非常简单,但是还是出现了很多错误,主要问题是在前台向后台...
  • 这篇文章主要介绍了用Python实现web端用户登录和注册功能的教程,需要的朋友可以参考下用户管理是绝大部分Web网站都需要解决的问题。用户管理涉及到用户注册和登录。用户注册相对简单,我们可以先通过API把用户注册这...
  • 实验目的:利用Struts 1.x和Hibernate框架,实现注册功能。即在Web界面上输入学号,用户名和密码,存入MySQL数据库中。 注:此实验是基于struts1.x框架下(含有Action,ActionForm和jsp) 使用软件:MySQL 8.0及以上...
  • 导入包及资源,项目层次结构为垂直设置项目编码为UTF-8JSP编码为UTF-8项目视图为Java视图或者将准备好的素材放进去创建首页Servletweb.xml配置Index.jsp访问地址查看效果​我们编写一个登陆类和注册类登陆类注册类...
  • 启动Tomcat服务器,在浏览器输入 http://127.0.0.1:8080/,查看浏览器输出界面; 2. 定制配置: (1)修改Tomcat的服务端口为88(默认安装为8080); (2)修改HTTP GET方式的字符编码为UTF-8(默认为ISO-8859-1);...
  • 同样的方式我们建立一个注册界面: 这里我使用了三个TextBox、两个Button、一个Label和一个CompareValidator验证控件 其中CompareValidator验证控件用来验证密码和确认密码栏是否一致,如果不一致给出错误
  • 简单的登录界面,实现注册帐号,修改密码,忘记密码后修复密码。 需要使用后台与数据库的交互。 求教各位大神,1.搭什么样的环境比较好。求文章分享。 2.类似的文章讨论过的项目。 谢谢各位大神。
  • 'password' /> 邮箱 type = 'text' name = 'mailbox' id = 'mailbox' /> 姓名 type = 'text' name = 'name' id = 'name' /> type = 'button' value = '注册' onclick = 'checkusername();' /> type = 'reset' value ...
  • 1、创建一个maven项目 2、pom.xml导入依赖jar包(这里需要注意的是jar包的完整性,不然会报错) ...spring-webmvc(4.3.8);hibernate-core(5.0.11);hibernate-entitymanager(5.0.11);javax.serv...
  • JSP作业2 - 利用html实现简单的用户登录注册界面

    万次阅读 多人点赞 2017-06-10 10:21:11
    实验要求:自己拟定一个Web应用系统,设计其启动页面和用户登录注册页面。具体要求:设计系统启动页面,使用CSS完成页面中的格式化设计简单格式化即可。用户登录页面页面中至少包括用户登录表单,有用户注册的链接...
  • 此资源实现安卓APP注册登录功能,通过Android Studio编写界面和相应功能,用Eclipse开启web服务器进行客户端与服务端之间的通信,并且将用户的账户密码经过MD5的加密后存入Mysql数据库中。
  • Html、Js基于web储存localStorage下的注册界面、登录界面及登录验证成功弹出跳转的简单网页 实现结果: 注册网页 注册信息存入localStorage (web下存储) 登录网页 注册完成跳转登录界面 验证登录完成 延时跳转至...
  • 4.模块设计(分为登入页面实现和注册页面实现) 一、数据库设计 本实例采用SQL Server2012数据库系统建立一个如下所示的数据库 二、配置web.config <configuration> <appSettings> <add key=...
  • 导入包及资源,项目层次结构为垂直设置项目编码为UTF-8JSP编码为UTF-8项目视图为Java视图或者将准备好的素材放进去创建首页Servletweb.xml配置Index.jsp访问地址查看效果​我们编写一个登陆类和注册类登陆类注册类...
  • 与他人实时协作,无需注册! 可在上或作为 使用易于使用的GUI配置项目 下载/上传为易于使用的CSV( )或JSON( ) 支持图像,视频,PDF,文本,音频转录和许多其他格式 可以 用分类,标签,边界框,多边形和点注释...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 755
精华内容 302
关键字:

web简单注册界面