IT学习联盟

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
IT学习联盟 门户 文章 java 查看内容

用Servlet完成login_process.jsp的功能

2012-10-16 12:43| 发布者: admin| 查看: 795| 评论: 0

login_process.jsp主要功能,判断用户输入的用户名和口令是否合法,然后根据判断的结果选择界面对用户响应。

    对于JSP文件来说,优势在于显示信息,login_process.jsp中的代码都不是显示信息的,主要用于控制。在Java Web应用中存在大量的这种现象。是Java Web中的控制功能。主要使用Servlet完成控制。

    login_process.jsp的基本功能:获取用户的输入信息;进行判断;转向。

    如果使用Servlet完成,功能代码应该写在doGet或者doPost方法中。对应上面的3个功能分别实现如下:

    获取用户信息:用户信息存储在doGet或者doPost方法的第一个参数中,所以从参数中获取,获取的代码为

        String username = request.getParameter("username");

        String userpass = request.getParameter("userpass");

    判断:

        if( username.equals("zhangsan") && userpass.equals("zhangsan") )

    转向响应界面:

        第一种方式:response.sendRedirect("index.jsp");

        第二种方式:与<jsp:forward>功能相同

        RequestDispatcher rd = request.getRequestDispatcher("index.jsp");  // 参数是要转向的页面

        rd.forward(request,response); // 完成跳转

LoginProcessServlet.java代码如下:

package servlet;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class LoginProcessServlet extends HttpServlet

{

  public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException

  {

        // 获取用户输入的信息

        String username = request.getParameter("username");

        String userpass = request.getParameter("userpass");

        if( username.equals("zhangsan") && userpass.equals("zhangsan") )

        {

           RequestDispatcher rd = request.getRequestDispatcher("success.jsp");  // 跳转到成功的页面

           rd.forward(request,response); // 完成跳转

        }else

        {

           RequestDispatcher rd = request.getRequestDispatcher("index1.jsp");  // 跳转到登录页面

           rd.forward(request,response); // 完成跳转

        }

  }

  public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException

  {

     doGet(request,response);

  }

}

配置文件中添加如下代码:

   <servlet>

      <servlet-name>login_process</servlet-name>

      <servlet-class>servlet.LoginProcessServlet</servlet-class>

   </servlet>

   <servlet-mapping>

      <servlet-name>login_process</servlet-name>

      <url-pattern>/login_process</url-pattern>

   </servlet-mapping>

修改index1.jsp的代码(修改form所在行),修改前:

<form action="login_process.jsp" method="post">

修改后:

<form action="login_process" method="post">

 

版权声明:本站所收集的下载资源均来自网络,如果有侵犯你的版权,请来信通知,我们马上删除。

 

Archiver|IT学习联盟| 网站地图

Powered by Discuz! X2.5© 2001-2010 世界学习室 大伟制作

GMT+8, 2018-10-15 20:22 , Processed in 0.094193 second(s), 12 queries .