My Campus My Home Project Summary

My Campus My Home Project

It has been a few days since the defense of the project, and I will summarize what I have obtained in this project, so that I can review it later:

The first is to modify the password function:

insert image description here

change password 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 charset='utf-8'>
        <title>Input From UI Design</title>
        <link rel="stylesheet" href="style.css">
        <style type="text/css">
	body
{
    
    
	margin:0;
	padding: 0;
	font-family: sans-serif;
	background: url(img/3.gif);
	background-size: cover;
	background-repeat: no-repeat;
	
	/*background-color: skyblue;*/
}
.box
{
    
    
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width:500px;
	height: 450px;
	padding: 40px;
	background: rgba(0,0,0,.8)
	box-sizing : border-box;
	box-shadow: 0 15px 25px rgba(0,0,0,.5);
	border-radius: 10px;
}
.box h2
{
    
    
	margin:0 0 60px;
	padding: 0;
	color: #fff;
	text-align: center;
}
.box .inputBox
{
    
    
	position: relative;
}
.box .inputBox input
{
    
    
	width:100%;
	padding: 10px 0;
	font-size: 15px;
	color: #fff;
	letter-spacing: 1px;
	margin-bottom: 15px;
	border: none;
	border-bottom: 1px solid #fff;
	outline: none;
	background: transparent;
}
.box .inputBox label
{
    
    
	position: absolute;
	top:0;
	left: 0;
	padding: 10px 0;
	letter-spacing: 1px;
	font-size: 20px;
	color: #fff;
	pointer-events: none;
	transition: .5s;
}
.box .inputBox input:focus ~ label,
.box .inputBox input:valid ~ label
{
    
    
	top:-18px;
	left:0;
	color:#03a9f4;
	font-size: 12px;
}
.box input[type="submit"]
{
    
    
	background: transparent;
 
	border: none;
	outline:none;
	color: #fff;
	background: #03a9f4;
	padding: 10px 20px;
	cursor:pointer;
	border-radius: 5px;
}
.inputBox1{
    
    
	/*margin-top: -20px;*/
	margin-bottom: 30px;
	
}
.q1{
    
    
	margin-right: 280px;
	color: white;
	font-size: 12px;
	text-decoration: none;
}
.q2{
    
    
	
	color: white;
	font-size: 12px;
	text-decoration: none;
}
.inputBox_sel{
    
    
	color: #03A9F4;
	font-size: 12px;
	border: 1px solid skyblue;
	border-radius: 10px;
	margin-bottom: 30px;
}
        </style>
    </head>
    <body>
        <div class="box">
            <h2>修改密码</h2>
            <form action="updatemimaser_louyu" method="post"  name="form1" >
            	<div class="inputBox">
                    <input type="text" name="name" required="">
                    <label>name</label>
                </div><br>
                <div class="inputBox">
                    <input type="text" name="oldpwd" required="">
                    <label>old-password</label>
                </div><br>
                <div class="inputBox">
                    <input type="password" name="newpwd" required="">
                    <label>new-password</label>
                </div><br>
                <div class="inputBox">
                    <input type="password" name="confirm" required="">
                    <label>confirm-password</label>
                </div>
              <br> 
                <input type="submit" name="" value="Submit" style="width: 150px;height:70px;font-size: 30px;">
               
            </form>

        </div>
          
    </body>
</html>

Servlet layer (modify password)

public class updateservlet2 extends HttpServlet {
    
    
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public updateservlet2() {
    
    
        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
	}

	/**
	 * @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");
//		update(request, response);
		request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
		boolean flag = false;
		String msg = "修改密码成功!!";
		String name = request.getParameter("name");
		String pwd = request.getParameter("oldpwd");//获取前端提交的旧密码
		String pwd1 = request.getParameter("newpwd");//获取提交的新密码
		String pwd2= request.getParameter("confirm");//确认密码
		System.out.println(name);
		System.out.println(pwd);
		System.out.println(pwd1);
		//从当前的session中获得当前登录的用户信息
//		admin userinInfo = (admin)request.getSession().getAttribute("userinfo");
		mima userManager = new mima();
		List<admin>  stu1=userManager.select(name);
		List<admin>  stu2=userManager.select2(pwd);	
		if (name.length()>0&&pwd.length()>0) {
    
    
			if (stu1.size()!=0) {
    
    
										
				if (stu2.size()!=0) {
    
    
							System.out.println(name);
							System.out.println(pwd);
							if (pwd1.equals(pwd2)) {
    
    
								mima userManager1 = new mima();
								userManager1.xiugai(pwd2,name);
								request.setAttribute("msg", msg);
								request.getRequestDispatcher("in2.jsp").forward(request, response);
//								JOptionPane.showMessageDialog(null, "恭喜你,修改成功");
							} else {
    
    
								msg = "修改密码出错,请重新提交!!";
								request.setAttribute("msg", msg);
							}
				} else {
    
    
					msg = "修改密码出错,请重新提交!!";
					request.setAttribute("msg", msg);
				}
} else {
    
    
				msg = "用户名不存在";
				request.setAttribute("msg", msg);
}
}else {
    
    	
		msg = "账号或密码或问题不能为空";
		request.setAttribute("msg", msg);
   }

	}
}

The above is the record of changing the password, which is convenient for reference in the future

docs in docs and can be edited on this

<iframe src="071.jsp" width="100%" height="1500px" 
style="border: medium none;z-index : -1;position: absolute;border: 0;">
</iframe>

It is very convenient to use iframe to introduce the content of other pages. For my project, the biggest convenience is to introduce page special effects#

Share a nice particle effect

jsp page

<%@ 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">
<title>Insert title here</title>
<style>
html {
    
    
  height: 100%;
  background-image: -webkit-radial-gradient(ellipse farthest-corner at center top, #015CAF 0%, #41647a 100%);
  background-image: radial-gradient(ellipse farthest-corner at center top, #0D3349 0%, #41647a  100%);
  cursor: move;
  
}

body {
    
    
  width: 100%;
  margin: 0;
  overflow: hidden;
}

</style>
</head>
<body>

<canvas id="canv" width="1920" height="572" style="position: absolute;z-index: -1;"></canvas>

<script>
var num = 300;
var w = window.innerWidth;
var h = window.innerHeight;
var max = 100;
var _x = 0;
var _y = 0;
var _z = 150;
var dtr = function(d) {
    
    
  return d * Math.PI / 180;
};

var rnd = function() {
    
    
  return Math.sin(Math.floor(Math.random() * 360) * Math.PI / 180);
};
var dist = function(p1, p2, p3) {
    
    
  return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2) + Math.pow(p2.z - p1.z, 2));
};

var cam = {
    
    
  obj: {
    
    
    x: _x,
    y: _y,
    z: _z
  },
  dest: {
    
    
    x: 0,
    y: 0,
    z: 1
  },
  dist: {
    
    
    x: 0,
    y: 0,
    z: 200
  },
  ang: {
    
    
    cplane: 0,
    splane: 0,
    ctheta: 0,
    stheta: 0
  },
  zoom: 1,
  disp: {
    
    
    x: w / 2,
    y: h / 2,
    z: 0
  },
  upd: function() {
    
    
    cam.dist.x = cam.dest.x - cam.obj.x;
    cam.dist.y = cam.dest.y - cam.obj.y;
    cam.dist.z = cam.dest.z - cam.obj.z;
    cam.ang.cplane = -cam.dist.z / Math.sqrt(cam.dist.x * cam.dist.x + cam.dist.z * cam.dist.z);
    cam.ang.splane = cam.dist.x / Math.sqrt(cam.dist.x * cam.dist.x + cam.dist.z * cam.dist.z);
    cam.ang.ctheta = Math.sqrt(cam.dist.x * cam.dist.x + cam.dist.z * cam.dist.z) / Math.sqrt(cam.dist.x * cam.dist.x + cam.dist.y * cam.dist.y + cam.dist.z * cam.dist.z);
    cam.ang.stheta = -cam.dist.y / Math.sqrt(cam.dist.x * cam.dist.x + cam.dist.y * cam.dist.y + cam.dist.z * cam.dist.z);
  }
};

var trans = {
    
    
  parts: {
    
    
    sz: function(p, sz) {
    
    
      return {
    
    
        x: p.x * sz.x,
        y: p.y * sz.y,
        z: p.z * sz.z
      };
    },
    rot: {
    
    
      x: function(p, rot) {
    
    
        return {
    
    
          x: p.x,
          y: p.y * Math.cos(dtr(rot.x)) - p.z * Math.sin(dtr(rot.x)),
          z: p.y * Math.sin(dtr(rot.x)) + p.z * Math.cos(dtr(rot.x))
        };
      },
      y: function(p, rot) {
    
    
        return {
    
    
          x: p.x * Math.cos(dtr(rot.y)) + p.z * Math.sin(dtr(rot.y)),
          y: p.y,
          z: -p.x * Math.sin(dtr(rot.y)) + p.z * Math.cos(dtr(rot.y))
        };
      },
      z: function(p, rot) {
    
    
        return {
    
    
          x: p.x * Math.cos(dtr(rot.z)) - p.y * Math.sin(dtr(rot.z)),
          y: p.x * Math.sin(dtr(rot.z)) + p.y * Math.cos(dtr(rot.z)),
          z: p.z
        };
      }
    },
    pos: function(p, pos) {
    
    
      return {
    
    
        x: p.x + pos.x,
        y: p.y + pos.y,
        z: p.z + pos.z
      };
    }
  },
  pov: {
    
    
    plane: function(p) {
    
    
      return {
    
    
        x: p.x * cam.ang.cplane + p.z * cam.ang.splane,
        y: p.y,
        z: p.x * -cam.ang.splane + p.z * cam.ang.cplane
      };
    },
    theta: function(p) {
    
    
      return {
    
    
        x: p.x,
        y: p.y * cam.ang.ctheta - p.z * cam.ang.stheta,
        z: p.y * cam.ang.stheta + p.z * cam.ang.ctheta
      };
    },
    set: function(p) {
    
    
      return {
    
    
        x: p.x - cam.obj.x,
        y: p.y - cam.obj.y,
        z: p.z - cam.obj.z
      };
    }
  },
  persp: function(p) {
    
    
    return {
    
    
      x: p.x * cam.dist.z / p.z * cam.zoom,
      y: p.y * cam.dist.z / p.z * cam.zoom,
      z: p.z * cam.zoom,
      p: cam.dist.z / p.z
    };
  },
  disp: function(p, disp) {
    
    
    return {
    
    
      x: p.x + disp.x,
      y: -p.y + disp.y,
      z: p.z + disp.z,
      p: p.p
    };
  },
  steps: function(_obj_, sz, rot, pos, disp) {
    
    
    var _args = trans.parts.sz(_obj_, sz);
    _args = trans.parts.rot.x(_args, rot);
    _args = trans.parts.rot.y(_args, rot);
    _args = trans.parts.rot.z(_args, rot);
    _args = trans.parts.pos(_args, pos);
    _args = trans.pov.plane(_args);
    _args = trans.pov.theta(_args);
    _args = trans.pov.set(_args);
    _args = trans.persp(_args);
    _args = trans.disp(_args, disp);
    return _args;
  }
};

(function() {
    
    
  "use strict";
  var threeD = function(param) {
    
    
    this.transIn = {
    
    };
    this.transOut = {
    
    };
    this.transIn.vtx = (param.vtx);
    this.transIn.sz = (param.sz);
    this.transIn.rot = (param.rot);
    this.transIn.pos = (param.pos);
  };

  threeD.prototype.vupd = function() {
    
    
    this.transOut = trans.steps(

      this.transIn.vtx,
      this.transIn.sz,
      this.transIn.rot,
      this.transIn.pos,
      cam.disp
    );
  };

  var Build = function() {
    
    
    this.vel = 0.04;
    this.lim = 360;
    this.diff = 200;
    this.initPos = 100;
    this.toX = _x;
    this.toY = _y;
    this.go();
  };

  Build.prototype.go = function() {
    
    
    this.canvas = document.getElementById("canv");
    this.canvas.width = window.innerWidth;
    this.canvas.height = window.innerHeight;
    this.$ = canv.getContext("2d");
    this.$.globalCompositeOperation = 'source-over';
    this.varr = [];
    this.dist = [];
    this.calc = [];

    for (var i = 0, len = num; i < len; i++) {
    
    
      this.add();
    }

    this.rotObj = {
    
    
      x: 0,
      y: 0,
      z: 0
    };
    this.objSz = {
    
    
      x: w / 5,
      y: h / 5,
      z: w / 5
    };
  };

  Build.prototype.add = function() {
    
    
    this.varr.push(new threeD({
    
    
      vtx: {
    
    
        x: rnd(),
        y: rnd(),
        z: rnd()
      },
      sz: {
    
    
        x: 0,
        y: 0,
        z: 0
      },
      rot: {
    
    
        x: 20,
        y: -20,
        z: 0
      },
      pos: {
    
    
        x: this.diff * Math.sin(360 * Math.random() * Math.PI / 180),
        y: this.diff * Math.sin(360 * Math.random() * Math.PI / 180),
        z: this.diff * Math.sin(360 * Math.random() * Math.PI / 180)
      }
    }));
    this.calc.push({
    
    
      x: 360 * Math.random(),
      y: 360 * Math.random(),
      z: 360 * Math.random()
    });
  };

  Build.prototype.upd = function() {
    
    
    cam.obj.x += (this.toX - cam.obj.x) * 0.05;
    cam.obj.y += (this.toY - cam.obj.y) * 0.05;
  };

  Build.prototype.draw = function() {
    
    
    this.$.clearRect(0, 0, this.canvas.width, this.canvas.height);
    cam.upd();
    this.rotObj.x += 0.1;
    this.rotObj.y += 0.1;
    this.rotObj.z += 0.1;

    for (var i = 0; i < this.varr.length; i++) {
    
    
      for (var val in this.calc[i]) {
    
    
        if (this.calc[i].hasOwnProperty(val)) {
    
    
          this.calc[i][val] += this.vel;
          if (this.calc[i][val] > this.lim) this.calc[i][val] = 0;
        }
      }

      this.varr[i].transIn.pos = {
    
    
        x: this.diff * Math.cos(this.calc[i].x * Math.PI / 180),
        y: this.diff * Math.sin(this.calc[i].y * Math.PI / 180),
        z: this.diff * Math.sin(this.calc[i].z * Math.PI / 180)
      };
      this.varr[i].transIn.rot = this.rotObj;
      this.varr[i].transIn.sz = this.objSz;
      this.varr[i].vupd();
      if (this.varr[i].transOut.p < 0) continue;
      var g = this.$.createRadialGradient(this.varr[i].transOut.x, this.varr[i].transOut.y, this.varr[i].transOut.p, this.varr[i].transOut.x, this.varr[i].transOut.y, this.varr[i].transOut.p * 2);
      this.$.globalCompositeOperation = 'lighter';
      g.addColorStop(0, 'hsla(255, 255%, 255%, 1)');
      g.addColorStop(.5, 'hsla(' + (i + 2) + ',85%, 40%,1)');
      g.addColorStop(1, 'hsla(' + (i) + ',85%, 40%,.5)');
      this.$.fillStyle = g;
      this.$.beginPath();
      this.$.arc(this.varr[i].transOut.x, this.varr[i].transOut.y, this.varr[i].transOut.p * 2, 0, Math.PI * 2, false);
      this.$.fill();
      this.$.closePath();
    }
  };
  Build.prototype.anim = function() {
    
    
    window.requestAnimationFrame = (function() {
    
    
      return window.requestAnimationFrame ||
        function(callback, element) {
    
    
          window.setTimeout(callback, 1000 / 60);
        };
    })();
    var anim = function() {
    
    
      this.upd();
      this.draw();
      window.requestAnimationFrame(anim);

    }.bind(this);
    window.requestAnimationFrame(anim);
  };

  Build.prototype.run = function() {
    
    
    this.anim();

    window.addEventListener('mousemove', function(e) {
    
    
      this.toX = (e.clientX - this.canvas.width / 2) * -0.8;
      this.toY = (e.clientY - this.canvas.height / 2) * 0.8;
    }.bind(this));
    window.addEventListener('touchmove', function(e) {
    
    
      e.preventDefault();
      this.toX = (e.touches[0].clientX - this.canvas.width / 2) * -0.8;
      this.toY = (e.touches[0].clientY - this.canvas.height / 2) * 0.8;
    }.bind(this));
    window.addEventListener('mousedown', function(e) {
    
    
      for (var i = 0; i < 100; i++) {
    
    
        this.add();
      }
    }.bind(this));
    window.addEventListener('touchstart', function(e) {
    
    
      e.preventDefault();
      for (var i = 0; i < 100; i++) {
    
    
        this.add();
      }
    }.bind(this));
  };
  var app = new Build();
  app.run();
})();
window.addEventListener('resize', function() {
    
    
  canvas.width = w = window.innerWidth;
  canvas.height = h = window.innerHeight;
}, false);
</script>

</body>
</html>

The gif animation used in the project

All pictures come from the Internet;
if there is any infringement, it can be deleted immediately;

insert image description here
insert image description here
insert image description here

Learned how to create the map you want

http://api.map.baidu.com/lbsapi/creatmap/index.htmlBaidu Map Generator
You can fill in the address you want to generate code and copy it to jsp to use.
I also use iframe application in the project

The above is what I want to share, for reference only

Guess you like

Origin blog.csdn.net/grayandwhite/article/details/115738713