软件工程第一节课 课程引言

课程引言

一、 需要网站系统开发需要掌握的技术

网站的开发技术有很多,主要包括CGI、ASP、PHP、JSP、ASP.NET等。每一种技术都有其自身的特点与局限性,具体的网站开发技术要根据网站的功能需求、面对的受众、访问量、开发者熟悉的技术等方面进行选择。

Java语言体系比较庞大,包括多个模块。从WEB项目应用角度讲有JSP、Servlet、JDBC、JavaBean(Application)四部分技术。

(1)、Java Database Connectivity(JDBC)技术

    在Java Web应用开发中,数据库管理系统(RDBMS)的使用是不可缺少的。JDBC(Java Database Connectivity) 是一种用于执行SQL 语句的 Java API。它由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的API,使他们能够用纯Java API 来编写数据库应用程序。

简单地说,JDBC 可做三件事:

1与数据库建立连接,

2发送SQL 语句,

3处理结果。

(2)Servlet技术

Servlet是运行在服务器端的程序,可以被认为是服务器端的applet。servlet被Web服务器(例如Tomcat)加载和执行,就如同applet被浏览器加载和执行一样。servlet从客户端(通过Web服务器)接收请求,执行某种操作,然后返回结果。

(3)JavaServer Pages(JSP)技术

JSP是从Servlet上分离出来的一小部分,简化了开发,加强了界面设计。JSP定位在交互网页的开发。运用Java语法,但功能较Servlet弱了很多,并且高级开发中只充当用户界面部分。JSP容器收到客户端发出的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式响应给客户端。其中程序片段可以是:操作数据库、重新定向网页以及发送 E-Mail 等等,这些都是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP 称为Server-Side Language。

(4)JavaBean(Application)应用组件技术

Application是Java应用程序,在WEB项目和一些开发中主要应用JavaBean。它就是Application的一部分,逻辑运算能力很强,能极大的发挥Java语言的优点。JavaBean 被称为是Java 组件技术的核心。JavaBean 的结构必须满足一定的命名约定。JavaBean能提供常用功能并且可以重复使用,这使得开发人员可以把某些关键功能和核心算法提取出来封装成为一个组件对象,这样就增加了代码的重用率和系统的安全性。

高级的WEB项目会应用到以上所有技术,它们之间联合使用和协作开发会提高开发的效率和系统的性能。

等等。

网站=域名+服务器空间+网站程序+售后服务,网站就像一个家:

【域名】:网址 就相当于你家的住址。

【空间】:就是你盖房子的基础 土地 环境 等。

【程序】:就是你家的主体框架,是整个家的运转中心。

【模板】:网站的美化 就是你家的装修,当然因人而异有人不装修原汁原味也可以。

【维护】:技术性维护就像您安居乐业的保安和坚实后盾。

【勤劳】:是整个家可以稳定持续运转极其重要的部分,家里所有的东西都要靠你的勤奋去填充,增加,让大家觉着你家很好 很充实。

一、 本次课堂测试的源程序代码

denglu.html

 <html>
<!DOCTYPE html>
<html lang="en" class="no-js">

    <head>

        <meta charset="utf-8">
        <title>登录(Login)</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="">
        <meta name="author" content="">

        <!-- CSS -->
        <link rel="stylesheet" href="assets/css/reset.css">
        <link rel="stylesheet" href="assets/css/supersized.css">
        <link rel="stylesheet" href="assets/css/style.css">

        <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
        <!--[if lt IE 9]>
            <script src="assets/js/html5.js"></script>
        <![endif]-->

    </head>

    <body>

        <div class="page-container">
            <h1>登录(Login)</h1>
            <form action="judge.jsp" method="post">
                <input type="text" name="num" class="username" placeholder="请输入您的用户名!">
                <input type="password" name="userpassword" class="password" placeholder="请输入您的用户密码!">
                   <td><a href="judge.jsp" onclick="link"><input type="submit" name="submit"  value="登录" ></a></td>
            </form>
            <div class="connect">
                <p>快捷</p>
                <p>
                    <a class="facebook" href=""></a>
                    <a class="twitter" href=""></a>
                    <a class="qq" href=""></a>
                </p>
            </div>
        </div>
        
        <!-- Javascript -->
        <script src="assets/js/jquery-1.8.2.min.js" ></script>
        <script src="assets/js/supersized.3.2.7.min.js" ></script>
        <script src="assets/js/supersized-init.js" ></script>
        <script src="assets/js/scripts.js" ></script>

    </body>
<div style="text-align:center;">
</div>
</html>

judge.jsp

<%@ page contentType = "text/html; charset=utf-8" import = "java.sql.*" errorPage = "error.jsp" %>
<html>
  <head>
  </head>
<body>
<div style=text-align:center>
    <%

    String num = request.getParameter("num");
    session.setAttribute("username",num);
    String userpassword = request.getParameter("userpassword");
    Class.forName("com.mysql.jdbc.Driver");
     Connection connect = DriverManager.getConnection(
              "jdbc:mysql://localhost:3306/test","root","lzx94971");
    Statement stmt = connect.createStatement();
    String sql = "select  *  from user where name='"+num+"'and userpassword='"+userpassword+"'";
    ResultSet i = stmt.executeQuery(sql);
    if(i.next())
    {
        response.setHeader("refresh","1;url = index1.html");
    }
    else
    {
        out.println("<script language = 'javaScript'> alert('密码错误,请重新输入用户名!');</script>");
        response.setHeader("refresh","1;url = denglu.html");
    }
    stmt.close();
    connect.close();

%>
</div>
  </body>
<html>

index1.html

<html>
<!DOCTYPE html>
<html lang="en" class="no-js">

    <head>

        <meta charset="utf-8">
        <title>登录(Login)</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="">
        <meta name="author" content="">

        <!-- CSS -->
        <link rel="stylesheet" href="assets/css/reset.css">
        <link rel="stylesheet" href="assets/css/supersized.css">
        <link rel="stylesheet" href="assets/css/style.css">

        <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
        <!--[if lt IE 9]>
            <script src="assets/js/html5.js"></script>
        <![endif]-->

    </head>

    <body>

        <div class="page-container">
            <h1>恭喜你,登录成功!</h1>
        </div>
        
        <!-- Javascript -->
        <script src="assets/js/jquery-1.8.2.min.js" ></script>
        <script src="assets/js/supersized.3.2.7.min.js" ></script>
        <script src="assets/js/supersized-init.js" ></script>
        <script src="assets/js/scripts.js" ></script>

    </body>
<div style="text-align:center;">
</div>
</html>

三、运行结果截图

 

四、 说明课堂测试未按时完成的原因

按时完成测试,但未完成用户名为空时的提示,“用户名为空,请输入用户名!”。

五、列出你对这门课的希望和自己的目标,并具体列出你计划每周花多少时间在这门课上

我希望我能通过这门课,学习到有关软件工程的一些知识,并通过这些知识,能够做出一个让自己满意的软件。

我计划每周至少花8个小时在这门课上。

posted @ 2017-03-01 16:24  李兆轩  阅读(290)  评论(0编辑  收藏  举报