在我们网络编程中,用户登录界面是必不可少的,那么怎么完成这么一个简单的工程,在网络编程中,如何实现登录界面,如何提交账号密码,如何跳转页面,下面给出做法!!
首先我们在myeclipse建立一个web项目,在项目下的src文件夹下建立一个servlet命名为LoginServlet,在它的doGet中敲入以下代码
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset = utf-8"); //这代表的意思是让浏览器以utf-8格式显示 response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); //打印到浏览器的方法 out.println("<h1>用户登录</h1>"); out.println("<form action = '/UsersManage/LoginClServlet' method = 'post'>"); //设立一个表单,当输入账号,密码确认的时候,自动跳转到LoginClServlet这个Serlet去,输入的账户,密码也能被那个servlet获取 out.println("用户名:<input type = 'text' name = 'username'/><br/>"); //设立文本栏 text ,名字为username,便于跳转到的servlet用该名字获取所填写内容 out.println("密码: <input type = 'password' name = 'password'/><br/>"); //<br/>是用来换行的,设立密码栏 out.println("<input type = 'submit' value = '登录'/><br/>"); out.println("</form>"); }
以上我们实现之后界面如下
当我敲入用户名和密码的时候,会跳转到LoginClServlet这个servlet中去,所以我们重新生成这个servlet,写入代码如下:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset = utf-8"); PrintWriter out = response.getWriter(); String username = request.getParameter("username"); //获取前一个页面的账户和密码 String password = request.getParameter("password"); out.println("adsf"); if("qinlibo".equals(username)&&"123".equals(password)) //只有账号,密码是qinlibo 123的时候,我才到MainFrame这个界面去 { //跳转到下一页面 servlet提供了俩种方法,Sendredirct转向 forward转发 //Sendredirct的url是这样的/web/名字 response.sendRedirect("/UsersManage/MainFrame"); } else { //调回 response.sendRedirect("/UsersManage/LoginServlet"); //否则返回原来界面 } }
这个servlet相当于controller,,它得到了最开始登录界面的账户和密码,那么我们在这个servlet中,就可以处理这些数据,我们可以查询数据库,看是否在数据库中存在过(注册过),如果存在过,我们应该跳转到那个界面,如果没有该用户,我们应该怎么跳转,通俗的说,就是我们这个servlet操作着数据,并且根据数据判断如何跳转,我这里的代码没有操作数据库,但是原理是一样的,我假如账号是qinlibo,密码是123的时候,我才认为是登录成功,跳转到MainFrame这个servlet去(这里就可以写主界面什么的),如果不是这个用户名和密码,我就跳转到原理登录的页面,一直等待。。。。。。这就实现了一个最简单的登录界面。。但是基本原理是类似的!