问题:如何使用同一个Servlet实现注册,登录等多个功能
解决方案:使用参数进行传递后 实现功能前进行判断,上代码
登录页面代码
<form action="/BBS_Manage/UserServlet?opr=login" method="post" onsubmit="return check()"> <p id="error" style="color: red"></p> <label> 登录名 </label> <input type="text" id="name" name="name" value="" class="login_input"/> <br/> <label> 密码 </label> <input type="password" id="pwd" name="pwd" value="" class="login_input"/> <br/> <label> 邮箱 </label> <input type="text" id="email" name="email" value="" class="login_input"/> <br/> <button type="submit">提交</button> <button type="button" onclick = "location.href = '/BBS_Manage/register.jsp'">注册</button> </form>注册页面代码
//设置参数表单传递 <form action="/BBS_Manage/UserServlet?opr=add" method="post" onsubmit="return check()"> <p id="error" style="color: red"></p> <label> 登录名 </label> <input type="text" id="name" name="name" value="" class="login_input"/> <br/> <label> 密 码 </label> <input type="password" id="pwd" name="pwd" value="" class="login_input"/> <br/> <label> 邮 箱 </label> <input type="text" id="email" name="email" value="" class="login_input"/> <br/> <button type="submit">提交</button> <button type="button" onclick = "location.href = '/BBS_Manage/index.jsp'">返回登陆</button> </form>Servlet代码
String opr = request.getParameter("opr"); //***取参数*** //功能实现 if (opr.equals("login")) { // 登录 String userName = request.getParameter("name"); String userPwd = request.getParameter("pwd"); UserService userService = new UserServiceImpl(); if (userService.userLogin(userName,userPwd)!=null) { request.getSession().setAttribute("loginUser",userName); //保存登录用户名 response.sendRedirect("welcome.jsp"); }else{ response.sendRedirect("index.jsp"); } }else if(opr.equals("add")){ //注册 }通过每个功能传输不同的参数,实现不同的功能。 从而实现一个Servlet实现多个功能