• javabean+servlet+jsp程序_个人辛苦探索


    主要介绍主流的java web编程技术、设计模式和框架,以及如何利用Eclipese开发Web应用程序。

    要点:1、Java Web编程的主要组件技术;

          2、MVC设计模式;

          3、用Eclipse构建一个基于MVC模式的Java Web的应用程序。

    目的:掌握如何用Eclipse构建一个基于MVC模式的Java WEB的应用程序。

    一、java web 编程的主要组件技术

    Html、jsp、Servlet、Javabean、Jdbc、Xml、Tomcat、MySQL

    1.1 MVC设计模式

            今天,我们见到的绝大部分应用,都是基于B/S(浏览器/服务器)架构的,其中的服务器就是Web服务器。可见,Web应用是目前广泛使用的应用模式。

    Web程序开发方法的发展:

    JSP的Model 1

    JSP的Model 2

    MVC            

    1  Model 1和Model 2

    对于Java的动态Web编程技术而言,则经历了Model 1和Model 2时代。

    Model 1: Model 1就是JSP大行其道的时代,在Model 1模式下,整个Web应用几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接做出响应。用少量的JavaBean来处理数据库连接、数据库访问等操作。

    Model 2: Model 2下JSP不再承担控制器的责任,它仅仅是表现层角色,仅仅用于将结果呈现给用户,JSP页面的请求与Servlet(控制器)交互,而Servlet负责与后台的JavaBean通信。

    在Model 2模式下,模型(Model)由JavaBean 充当,视图(View)由JSP页面充当,而控制器(Controller)则由Servlet充当。

    2  Model 1和Model 2的比较

    对于非常小型的Web站点,如果后期的更新、维护工作不是特别大,可以使用Model 1的模式来开发应用,而不是使用Model 2的模式。

    虽然Model 2提供了更好的可扩展性及可维护性,但增加了前期开发成本。从某种程度上讲,Model 2为了降低系统后期维护的复杂度,却导致前期开发的更高复杂度。

    3  MVC思想

    MVC并不是Java语言所特有的设计思想,也并不是Web应用所特有的思想,它是所有面向对象程序设计语言都应该遵守的规范。

    MVC思想将一个应用分成三个基本部分:Model(模型)、View(视图)和Controller(控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展性及可维护性。

    MVC: M(model)是指数据模型,

          V(View)是指用户界面,

          C(Control)则是控制器。

        使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

    模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器3者之间的关系和各自的主要功能。

    MVC的组成部分

    视图(View)代表用户交互界面,对于Web应用来说就是HTML界面。

     

    模型(Model):就是业务流程/状态的处理以及业务规则的制定。

    控制(Controller):可以理解为一个分发器,他来决定选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求,控制层并不做任何的数据处理。

    MVC带来的好处:

    MVC从根本上强制性的将它们分开,最大程度上实现了程序代码与网页的分离;数据和业务规则从表示层分开,所以可以最大化的重用代码。

    4  常用的MVC框架

    Struts:包括struts1和struts2两个。

    JSF: JSF是一个标准 ,目前,JSF是作为JEE 5.0的一个组成部分,与JEE 5.0一起发布

    JSF的行为方法在POJO中实现,JSF的Managed Bean无需继承任何特别的类。因此,无需在表单和模型对象之间实现多余的控制器层。JSF中没有控制器对象,控制器行为通过模型对象实现。

          JSF的事件框架可以细化到表单中每个字段。JSF依然是基于JSP/Servlet的,仍然是JSP/Servlet架构,因而学习曲线相对简单

    二、 用Eclipse构建一个基于MVC模式的Java Web应用程序

    按照MVC设计模式,利用JSP、Servlet及JavaBean构建一个简单的登录系统。

    (1)在Eclipse中创建一个项目 First

    File—》New—》Dynamic Web Project

    项目名称填写First  然后单击下一步

    在最后一个页面 选中Generate web.xml deployment descriptor

    (2)新建JSP

    选中First下的WebContent 鼠标右键 New-》JSP File 新建名称为 index.jsp

    单击下一步 直接finish

    在body里添加源码

    <body>
    <form action="LoginServlet"    method="post">
            用户名: <input type="text" name="username" size="15" >
             <br><br>&nbsp; 码:&nbsp; <input type="password" name="password" size="15" >
            <br><br>
           <input type="submit"  name="submit"  value="登录"><br>
       </form>
    </body>

    (3)新建javabean

    选中项目First 单击右键 New—》Class 输入Name:User

    单击下一步 直接完成,修改代码如下

    public class User {
        private String username;
        private String password;
        public String getUsername() {
              return username;
        }
        public void setUsername(String username) {
               this.username = username;
       }
        public String getPassword() {
             return password;
        }
        public void setPassword(String password) {
              this.password = password;
       }
    
    }

    (4)新建servlet
    选中项目First 单击右键 New—》Servlet 输入Class Name:LoginServlet

    单击下一步 直接完成

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            User u=new User();   String xm="";   String ps="";
             xm=request.getParameter("username");
             ps=request.getParameter("password");
             u.setUsername(xm);
             u.setPassword(ps);
             HttpSession s=request.getSession(true);
              s.setAttribute("username",u.getUsername());
              response.sendRedirect("main.jsp");
            
        }

    (5)新建main.jsp

    选中First下的WebContent 鼠标右键 New-》JSP File 新建名称为main.jsp

    单击下一步 直接finish

    在body里添加源码

    <body>
    <h1>
           <%=session.getAttribute("username") %>,你成功登录,20秒后自动进入主页面!      
         </h1>
    
    </body>

    (6)运行
    选中index.jsp右键 Run As—>Run On Server

  • 相关阅读:
    hdoj-1005-Number Sequences
    FOJ-1058-粗心的物理学家
    程序设计第三次作业附加 代码规范
    简单数论
    FOJ-1001-Duplicate Pair
    链表初尝试-链表的构建与输出-指针
    函数递归简单题-hdoj-2044 2018-一只小蜜蜂 母牛的故事
    电路与电子学-第一章直流电路分析方法小概括
    DFS回溯-函数递归-xiaoz triangles
    进制转换 hdoj-2031
  • 原文地址:https://www.cnblogs.com/zzlp/p/4770451.html
Copyright © 2020-2023  润新知