您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > 天津理工大学J2EE实验一实验报告1
计算机科学与工程系天津理工大学计算机科学与工程学院实验报告2017至2018学年第2学期课程名称J2EE程序设计学号学生姓名年级2015级专业计算机科学与技术教学班号实验地点7-212实验时间2018年5月31日第7节至第8节2018年6月1日第7节至第8节主讲教师董玉涛辅导教师董玉涛计算机科学与工程系2实验(一)实验名称用户登录处理Web程序软件环境STS、MySQL、Maven硬件环境PC机实验目的1、熟悉使用servlet、jsp;2、实现Web程序与数据库的连接实验内容(应包括实验题目、实验要求、实验任务等)制作一个简单的用户登录处理Web程序。在登录页面中输入正确的用户名、密码、确认密码则可以正常登录,并自动跳转到欢迎页面,并且在欢迎页面中显示当前所有已经登录的用户名列表。数据库中用户名唯一。登录错误则自动跳转回到登录页面,并在登录页面中提示登录错误。数据库字段及内容自行设计,页面显示方式自行设计。提交内容为Maven工程、数据库脚本文件(logindb.sql)以及针对本程序的使用说明简述(readme.txt)。计算机科学与工程系3实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等)一、实验过程及源代码1、Login.jsp%@pagelanguage=javapageEncoding=UTF-8%!DOCTYPEHTMLhtmlheadtitle用户登陆/title/headbodyformaction=${pageContext.request.contextPath}/servlet/LoginServletmethod=post用户名:inputtype=textname=usernamebr/密码:inputtype=passwordname=passwordbr/inputtype=submitvalue=登陆/form/body/html2、LoginCheck.jsp%@pagelanguage=javacontentType=text/html;charset=utf-8pageEncoding=UTF-8%%@pageimport=java.sql.*,login.QueryBean,java.util.HashSet,java.util.Set%jsp:useBeanid=querybeanscope=requestclass=login.QueryBean/!DOCTYPEhtmlPUBLIC-//W3C//DTDHTML4.01Transitional//EN!privatestaticStringurl=jdbc:mysql://127.0.0.1:3306/logindb?serverTimezone=UTC&useSSL=false;privatestaticStringusername=root;privatestaticStringpassword=123456;%%!@SuppressWarnings(unchecked)%%ResultSetrs=null;booleanflag=false;%%try{querybean.setConnection(com.mysql.cj.jdbc.Driver,url,username,password);querybean.setQuerystatement(SELECTusernameFROMuserWHEREusername=?ANDpassword=?);String[]param={request.getParameter(username),request.getParameter(password)};计算机科学与工程系4querybean.setParam(param);rs=querybean.getResult();if(rs.next()){flag=true;}}catch(Exceptione){e.printStackTrace();}finally{try{rs.close();}catch(Exceptione){e.printStackTrace();}}%%if(flag){Stringname=request.getParameter(username);session.setMaxInactiveInterval(60);SetStringonlineUserSet=newHashSetString();onlineUserSet=(SetString)application.getAttribute(onlineUserSet);onlineUserSet.add(name);application.setAttribute(onlineUserSet,onlineUserSet);session.setAttribute(username,name);%jsp:forwardpage=list.jsp/%}else{request.getSession().setAttribute(mrgss,用户名或密码错误);request.getSession().setAttribute(flag,1);response.sendRedirect(index.jsp);}%/body/html3、JavaBeanimportjava.sql.*;publicclassQueryBean{publicStringquery_statement;/*定义sql语句*/publicStringparam[];/*查询条件,或者是新的记录*/publicResultSetresult=null;publicConnectionconn;publicvoidsetParam(String[]param){计算机科学与工程系5this.param=param;}publicvoidsetQuerystatement(Stringquery_statement){this.query_statement=query_statement;}publicvoidsetConnection(StringdriverName,StringjdbcURL,Stringusername,Stringpasswd)throwsException{Connectionconn1;Class.forName(driverName);conn1=DriverManager.getConnection(jdbcURL,username,passwd);conn1.setAutoCommit(false);this.conn=conn1;}publicResultSetgetResult(){try{PreparedStatementselect_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);if(param!=null)for(inti=0;iparam.length;i++)select_stm.setString(i+1,param[i]);result=select_stm.executeQuery();}catch(Exceptione){System.out.println(e);}returnresult;}publicvoidinsertRecord()throwsSQLException,java.io.UnsupportedEncodingException{try{PreparedStatementinsert_stm=conn.prepareStatement(query_statement);if(param!=null)for(inti=0;iparam.length;i++)insert_stm.setString(i+1,param[i]);insert_stm.executeUpdate();insert_stm.close();conn.commit();}catch(Exceptione){System.out.println(e);conn.rollback();}}publicvoidupdateRecord()throwsSQLException,java.io.UnsupportedEncodingException{计算机科学与工程系6try{PreparedStatementupdate_stm=conn.prepareStatement(query_statement);if(param!=null)for(inti=0;iparam.length;i++)update_stm.setString(i+1,param[i]);update_stm.executeUpdate();update_stm.close();conn.commit();}catch(Exceptione){System.out.println(e);conn.rollback();}}publicvoiddeleteRecord()throwsSQLException,java.io.UnsupportedEncodingException{try{PreparedStatementdelete_stm=conn.prepareStatement(query_statement);if(param!=null)for(inti=0;iparam.length;i++)delete_stm.setString(i+1,param[i]);delete_stm.executeUpdate();delete_stm.close();conn.commit();}catch(Exceptione){System.out.println(e);conn.rollback();}}}4、Listenerimportjava.util.HashSet;importjava.util.Set;importjavax.servlet.ServletContext;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;importjavax.servlet.http.HttpSession;importjavax.servlet.http.HttpSessionEvent;importjavax.servlet.http.HttpSessionListener;publicclassLoginListenerimplementsHttpSessionListener,ServletContextListener{privateServletContextapplication=null;publicvoidcontextDestroyed(ServletContextEventsce){System.out.println(contextdestory);}计算机科学与工程系7publicvoidcontextInitialized(ServletContextEventsce){System.out.println(contextinit);application=sce.getServletContext();SetStringonlineUserSet=newHashSetString();application.setAttribute(onli
本文标题:天津理工大学J2EE实验一实验报告1
链接地址:https://www.777doc.com/doc-5189074 .html