java ee 实验一

实验1Servlet编程

实现一个用户注册/登录模块,大致功能如下:

1启动首页为登录页

2如果用户还没有用户名和密码,则请他/她先进行注册,注册信息写入一个文本文件中,注册成功后直接回到登录页

3登录成功后则提示XXX登录成功

4登录不成功则提示究竟是用户名不存在还是密码错误

5其它你想到的情况,请多参看别的软件的登录页

6加入HttpSession,登录成功后才允许下列操作:

A上传自己的照片

B下载你的软件说明文档

总结:

1.html页面新建在WebContent目录下,不要在总项目目录下。


2.改注解时,前面的name属性也要做相应修改,否则出现404错误。


3.写入txt文件时,如果输出流没有关闭,写入会失败,所以记得一定要调用close();


其中,str+"\r\n"表示按行写入

4.html中在最外层比在里层设置编码格式能较好解决乱码


5.servlet中输出并嵌入html/servlet页面(使用RequestDispatcher)。

out.println("<body>");
            out.println("<h1> 密码错误,请重新登录!</h1>");
          RequestDispatcher dispatcher=request.getRequestDispatcher("dl.html");
          dispatcher.include(request,response);
            out.println("</body>");
            out.println("</html>"); 

6.按行写入文件,fw和bw不关闭会出现写入不成功情况,所以一定要调用close();

String str = new_userID+","+new_password;
           FileWriter fw = new FileWriter("D:\\java2ee ecplise\\workspace\\java_ee_project1\\name_pwd.txt",true);
           BufferedWriter bw = new BufferedWriter(fw);
           bw.write(str+"\n");
           bw.close();
           fw.close();
7.html文件中,action=“servletName”而不是action=“/servletName”


8.登陆成功后向session中写入一个值

//向session中的变量token赋值。
     HttpSession session = request.getSession();
     session.setAttribute("token", name);
     session.setMaxInactiveInterval(60);
     PrintWriter out = response.getWriter();
     if(session==null){
			//重定向到登陆页面
    	 	response.sendRedirect(request.getContextPath()+"/dl.html"); 
			return;
		}//这里要先判断session是否存在先,直接用第二个if条件判断token值,当session不存在时会出错
		if(session.getAttribute("token")==null) {
			response.sendRedirect(request.getContextPath()+"/dl.html"); 
			return;
		}

9.从session中取出该值,判断当前session是否为登陆状态,否则重定向到登陆页面

//httpSession检测是否登陆
    	HttpSession session = request.getSession(false); 
		if(session==null){
			//重定向到登陆页面
			response.sendRedirect(request.getContextPath()+"/dl.html"); 
			return;
		}//这里要先判断session是否存在先,直接用第二个if条件判断token值,当session不存在时会出错
		if(session.getAttribute("token")==null) {
			response.sendRedirect(request.getContextPath()+"/dl.html"); 
			return;
		}


 



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值