• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Java Web实现的基本MVC实例分析

    本文实例讲述了Java Web实现的基本MVC。分享给大家供大家参考。具体如下:

    login.jsp——视图部分的输入文件
    success.jsp——视图部分的输出文件
    failure.jsp——视图部分的输出文件
    LoginBean.java——模型部分
    LoginServlet.java——控制器部分
    web.xml——web应用的配置文件

    下面分别介绍:

    1、login.jsp

    该功能的输入文件,用户首先访问这个文件。主要用于输入用户名和口令。
    代码如下:

    %@ page contentType="text/html;charset=gb2312"%>
    script language="JavaScript">
     function isValidate(form)
     {
       // 得到用户输入的信息
       username = form.username.value;
       userpass = form.userpass.value;
       // 判断用户名长度
       if(!minLength(username,6))
       {
         alert("用户名长度小于6位!");
         form.username.focus();
         return false;
       }
       if(!maxLength(username,8))
       {
         alert("用户名长度大于8位!");
         form.username.focus();
         return false;
       }
       // 判断口令长度
      if(!minLength(userpass,6))
       {
         alert("口令长度小于6位!");
         form.userpass.focus();
         return false;
       }
       if(!maxLength(userpass,8))
       {
         alert("口令长度大于8位!");
         form.userpass.focus();
         return false;
       }
       return true;
     }
     // 验证是否满足最小长度
     function minLength(str,length)
     {
       if(str.length>=length)
         return true;
       else
         return false;
     }
     // 判断是否满足最大长度
     function maxLength(str,length)
     {
       if(str.length=length)
         return true;
       else
         return false;
     }
    /script>
    html>
     head>
      title>用户登陆/title>
     /head>
     body>
      h2>用户登录/h2>
      form name="form1" action="login" method="post"
        onsubmit="return isValidate(form1)">
        用户名:input type="text" name="username"> br>
        口令:input type="password" name="userpass">br>
        input type="reset" value="重置">
        input type="submit" value="提交">br>
      /form>
     /body>
    /html>
    
    

    代码中提供了客户端验证功能(用户名和口令的长度为6-8位)。验证通过之后会把请求提交给控制器Servlet。

    2、success.jsp

    登录成功之后会跳转到这个界面,界面的代码如下:

    %@ page contentType="text/html;charset=gb2312"%>
    html>
     head>
      title>登录成功/title>
     /head>
     body>
      h2>${sessionScope.username}您好,欢迎登录网上书店!/h2>
     /body>
    /html>
    
    

    代码中使用表达式语言把登录后的用户信息显示在街面上。

    3、failure.jsp

    登录失败后会跳转到这个界面,界面的代码如下:

    %@ page contentType="text/html;charset=gb2312"%>
    html>
     head>
      title>登录失败/title>
     /head>
     body>
      h2>用户名或者口令不正确,请a href="login.jsp">重新登录!/a>/h2>
     /body>
    /html>
    
    

    代码中提供了一个超链接,能够链接到登录界面。

    4、LoginBean.java

    完成登录功能,这里假设用户名和口令相等表示登录成功。

    package beans;
    public class LoginBean {
      public boolean validate(String username,String userpass){
        return username.equals(userpass);
      }
    }
    
    

    5、LoginServlet.java

    该文件完成控制,主要功能可以描述如下:

    ①. 从login.jsp获取用户输入的用户名和口令;
    ②. 创建LoginBean的对象,调用LoginBean的方法validate;
    ③. 根据方法返回的结果,选择success.jsp或者failure.jsp对用户响应。

    完整的代码如下:

    package servlets;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import beans.*;
    public class LoginServlet extends HttpServlet {
      public void doGet(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
        doPost(request,response);
      }
      public void doPost(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
        // 获取用户输入的用户ID和口令
        String username = request.getParameter("username");
        String userpass = request.getParameter("userpass");
        // 创建模型对象
        LoginBean loginBean = new LoginBean();
        // 调用业务方法进行验证
        boolean b = loginBean.validate(username,userpass);
        // 要转向的文件
        String forward;
        // 如果登陆成功,把用户名写入session中,并且转向success.jsp,
        // 否则转向failure.jsp
        if(b){
        // 获取session
        HttpSession session = (HttpSession)request.getSession(true);
        // 把用户名保存到session中
        session.setAttribute("username",username);
        // 目标转向文件是success.jsp
        forward = "success.jsp";
        }else{
        // 目标转向文件是failure.jsp
        forward = "failure.jsp";
        }
        // 获取Dispatcher对象
        RequestDispatcher dispatcher = request.getRequestDispatcher(forward);
        // 完成跳转
        dispatcher.forward(request,response);
      }
    }
    
    

    代码中把登录用户的用户信息保存在了session中,在实际应用中同样也是这样处理的。

    6、web.xml

    主要代码是Servlet的配置,代码如下:

    ?xml version="1.0" encoding="UTF-8"?>
    web-app version="2.4"
      xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
      http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     servlet>
     description>This is the description of my J2EE component/description>
     display-name>This is the display name of my J2EE component/display-name>
     servlet-name>LoginServlet/servlet-name>
     servlet-class>servlets.LoginServlet/servlet-class>
     /servlet>
     servlet-mapping>
     servlet-name>LoginServlet/servlet-name>
     url-pattern>login/url-pattern>
     /servlet-mapping>
    /web-app>
    
    

    希望本文所述对大家的JSP程序设计有所帮助。

    您可能感兴趣的文章:
    • JavaWeb动态导出Excel可弹出下载
    • Java Web项目中使用Socket通信多线程、长连接的方法
    • JavaWeb框架MVC设计思想详解
    上一篇:jdbc操作mysql数据库实例
    下一篇:JSP程序运行原理、文档结构及简单输入输出实例分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Java Web实现的基本MVC实例分析 Java,Web,实现,的,基本,MVC,