2019寒假答辩

2019寒假答辩 ———— low中low

  • 使用知识点:Java,HTML/CSS/JS,Mysql
  • 制作目的:学习JavaWeb基础并运用,熟悉数据库的连接,了解基本的前段知识
  • 开发环境与工具:myeclipse,数据库使用的是c3p0连接池,jsp
  • 作品内容:基本的登录注册,个人信息修改,然后加了各种乱七八糟的东西。。。

答辩内容

登录界面

登录注册页面不用我show出来了,就是那种很low的那种,自己去想象吧。。。学习了下ajax,实现了基本的异步校验,前段后台都做了校验,虽然感觉没必要,但都做了校验…还记得刚学的时候还花了我好长时间,现在看来实在是太low了…还写了个验证码,是通过时间来产生的,保证每次的都不一样。然后就是通过session判断了下用户是否登录了,毕竟外人不让进来看我low逼的界面嘛。

个人信息修改

个人信息修改部分就是通过对数据库的增删查改操作的,使用了包装者模式,对QueryRunner进行了包装,学的时候着实不懂,后来发现好像是基础知识了。

主页面内容

学习了js的拖拽,然后就把wyx dalao的名字挂在上面了,随意拖拽,还挺好玩的。然后就是各种内容的杂合…我把我觉得有点用的东西(也许并没有什么用)都揉进去了。仿照知乎去广告版写了一个油猴插件的部分,然后改造了一波,结果被说像钓鱼网站,以后再也不写了…

部分代码

这是service方法,通过反射,调用各个方法。这个真心花了好长时间,毕竟回头又温习了下反射。前面都是写了好些个Servlet,结果整出这么一招,但是不得不说,挺nb的(个人觉得,毕竟如果是我,应该不会去想这些问题的)。

	public void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		String s = req.getHeader("via");
		System.out.println(s);
		
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		
		String methodName = req.getParameter("method");//获取方法参数
		
		Class c = this.getClass();//得到当前class对象
		Method method = null;
		try {
			method = c.getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
		} catch (Exception e) {
			throw new RuntimeException("调用的方法不存在");
		}
		
		//调用method表示的方法
		try {
			method.invoke(this, req, resp);
		} catch (Exception e) {
			System.out.println("您调用的方法内部出现了异常");
			throw new RuntimeException(e);
		}
	}
遇到的难点

都是新东西,好像都是难点… 主要是学习的时候有些东西容易搞混,又是速成,感觉学的东西也挺多的,学后面的忘前面。。。特别是jsp的就打内置对象,EL表达式,学了之后又说jsp标准又不支持…但是写了这个基础页面,感觉也把知识连起来了吧(但是jsp好像已经死了?)。还有一个不得不说的就是xml,是真的麻烦…

总结

学习了基础的JavaWeb知识,为以后的学习打了基础。学习了基础的前段知识,面对这学期老师的各种骚操作算是有点用吧。然后就是学习了数据库的连接,比如jdbc,DBUtil,dbcp,c3p0,为以后学习hibernate和mybatis(特别是底层机构),也算有点帮助吧。
什么,你要看图片?不给!!!
只有这个
2019寒假答辩