实验14会员登录 一、实验目的 1.熟练掌握form表单的应用。 2.熟练掌握表格的应用。 3.了解用户登录的流程 4.掌握在mvc下的开发模式。 二、实验要求 1.完成完整html登录页面login.jsp。 2.实现跳转后servlet页面,HandleLogin.java.java, 3.连接数据库,先判断用户是否存在,存在,则成功进入,不存在,提示用户不存在。 4.显示登录页面showLoginMes,jsp. 三、实验内容 ·编写html页面login.jsp,源代码如下。 page contentType="text/htnl;charset=GB2312"%> HTML>HEADX include file="head.txt"/HAD> <table border=2> (tr>(th>请您登录</th>(/tr> <FORM action="helplogin"Method="post"> r>Xtd登录名称:<Input type=text nane=1ogna>/tD/r tr)tdD输入密码:KInput type-password nane=password")/tdD/tr (/table> (BR)Input type=subait name=“g”values=“提交*) EOFX/CENTER> /BODYX</HTML> ◆ 编写servlet页面handlelogin.java,.源代码如下 package myservlet.control: import mybean.data.* imort1ava.sgl.来: import java.io.* import javax.servlet. import javax.servlet.http
实验 14 会员登录 一、实验目的 1. 熟练掌握 form 表单的应用。 2. 熟练掌握表格的应用。 3. 了解用户登录的流程。 4. 掌握在 mvc 下的开发模式。 二、实验要求 1. 完成完整 html 登录页面 login.jsp。 2. 实现跳转后 servlet 页面,HandleLogin.java.java。 3. 连接数据库,先判断用户是否存在,存在,则成功进入,不存在,提示用户不存在。 4. 显示登录页面 showLoginMess.jsp。 三、实验内容 编写 html 页面 login.jsp,源代码如下。 <%@ page contentType="text/html;charset=GB2312" %> <HTML><HEAD><%@ include file="head.txt" %></HEAD> <BODY bgcolor=pink><Font size=2><CENTER> <BR><BR> <table border=2> <tr> <th>请您登录</th></tr> <FORM action="helpLogin" Method="post"> <tr><td>登录名称:<Input type=text name="logname"></td></tr> <tr><td>输入密码:<Input type=password name="password"></td></tr> </table> <BR><Input type=submit name="g" value="提交"> </Form></CENTER> </BODY></HTML> 编写 servlet 页面 handleLogin.java,源代码如下: package myservlet.control; import mybean.data.*; import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*;
public class HandleLogin extends HttpServlet public void init(ServletConfig config)throws ServletException super.init(config) try(Class.forName(con microsoft.sqlserver.jdbe.SQLServerDriver") catch(Exception e){ 1 public String handleString(String s) try{byte bb[]=s.getBytes("iso-8859-1): s=new String(bb): 1 catch (Exception ce)( return s; public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException Connection con: PreparedStatement sql: String backNews=" HttpSession session=request,getSession(true): try{loginBean=(Login)session.getAttribute("login"): loginBean-new Login( session.setAttribute("login",loginBean) catch (Exception ee) (loginBean-new Login() session.setAttribute("login,loginBean) String logname=request.getParameter("logname").trim( password=request,getParameter("password").trim(: boolean ok=loginBean.getSuccess(: password-handleString(password) if(ok==true&&logname.equals(loginBean.getLogname())) {backNews=logname+“已经登录了": loginBean.setBackNews (backNews) else String uri="jdbc:sqlserver://127.0.0.1:1433:DatabaseName=Friend" boolean boo=(logname.length(>0)&&(password.length ()>0) try{con=DriverManager.getConnection (uri,"sa","sa"):
public class HandleLogin extends HttpServlet { public void init(ServletConfig config) throws ServletException { super.init(config); try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch(Exception e){} } public String handleString(String s) { try{ byte bb[]=s.getBytes("iso-8859-1"); s=new String(bb); } catch(Exception ee){} return s; } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { Connection con; PreparedStatement sql; Login loginBean=null; String backNews=""; HttpSession session=request.getSession(true); try{ loginBean=(Login)session.getAttribute("login"); if(loginBean==null) { loginBean=new Login(); session.setAttribute("login",loginBean); } } catch(Exception ee) { loginBean=new Login(); session.setAttribute("login",loginBean); } String logname=request.getParameter("logname").trim(), password=request.getParameter("password").trim(); boolean ok=loginBean.getSuccess(); logname=handleString(logname); password=handleString(password); if(ok==true&&logname.equals(loginBean.getLogname())) { backNews=logname+"已经登录了"; loginBean.setBackNews(backNews); } else { String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Friend"; boolean boo=(logname.length()>0)&&(password.length()>0); try{ con=DriverManager.getConnection(uri,"sa","sa");
String condition="select*fron member where logname =and password=?; (condition) if(boo) (sql.setString(1,logname) sql.setString (2,password): ResultSet rs=sql.executeQuery ( boolean mrs.next(: if(n-=true) loginBean.setBackNews (backNews) loginBean.setSuccess(true): loginBean.setLogname(logname): 【backNews=“您输入的用户名不存在,或密码不般配” loginBean.setBackNews (backNews): loginBean.setSuccess(false); else {backNews:=“您输入的用户名不存在,或密码不般配 loginBean.se BackNews (backNer s): loginBean.set cess(false) loginBean.setLogname (logname): loginBean.setPassword(password) con.close( 1 catch(SQLException exp) 【backNews=+exp; loginBean.setBackNews (backNews) loginBean.setSuccess(false): RequestDispatcher dispatcher=request.getRequestDispatcher("showLoginMess.jsp"): dispatcher.forward(request,response): 1 public void doGet(HttpServletRequest request,HttpServletResponse response) doPost (request,response)
String condition="select * from member where logname =? and password =?"; sql=con.prepareStatement(condition); if(boo) { sql.setString(1,logname); sql.setString(2,password); ResultSet rs=sql.executeQuery(); boolean m=rs.next(); if(m==true) { backNews="登录成功"; loginBean.setBackNews(backNews); loginBean.setSuccess(true); loginBean.setLogname(logname); } else { backNews="您输入的用户名不存在,或密码不般配"; loginBean.setBackNews(backNews); loginBean.setSuccess(false); loginBean.setLogname(logname); loginBean.setPassword(password); } } else { backNews="您输入的用户名不存在,或密码不般配"; loginBean.setBackNews(backNews); loginBean.setSuccess(false); loginBean.setLogname(logname); loginBean.setPassword(password); } con.close(); } catch(SQLException exp) { backNews=""+exp; loginBean.setBackNews(backNews); loginBean.setSuccess(false); } } RequestDispatcher dispatcher=request.getRequestDispatcher("showLoginMess.jsp"); dispatcher.forward(request, response); } public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { doPost(request,response); } }
·显示注册页面showLoginMes,jsp,源码如下: page /html:cha et-6B2312° page import="mybean.data.Login <jsp:useBean id="login"type-"mybean.data.Login"scope="session"/> <HTML><HEAD><%include file="head.txt"%></HEAD> <HTML><BODY bgcolor=yellow (CENTER><Font size=4 color=blue Kjsp:getProperty name="login property=backNews" </Font> %if(login.getSuccess(-=true) BR>登录会员名称:<jsp:getProperty na0="1ogin”property-'1 ogname"> else 》《B限D登录会员名称:<jsp:getProperty name=1ogin”property='1 ognane' <BR>登录会员密码jsp:getProperty name=-"login"property="password"> </FONTX/CENTER </BODYX/HTML> ◆编译并运行该程序,如有错误请改正
显示注册页面 showLoginMess.jsp,源码如下: <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="mybean.data.Login"%> <jsp:useBean id="login" type="mybean.data.Login" scope="session"/> <HTML><HEAD><%@ include file="head.txt" %></HEAD> <HTML><BODY bgcolor=yellow > <CENTER><Font size=4 color=blue > <BR> <jsp:getProperty name="login" property="backNews"/> </Font> <% if(login.getSuccess()==true) { %> <BR>登录会员名称:<jsp:getProperty name="login" property="logname"/> <% } else { %> <BR>登录会员名称:<jsp:getProperty name="login" property="logname"/> <BR>登录会员密码:<jsp:getProperty name="login" property="password"/> <% } %> </FONT></CENTER> </BODY></HTML> 编译并运行该程序,如有错误请改正