2017.11.6 JavaWeb-----第七章 JavaWeb經常使用開發模式與案例

JavaWeb-----第七章 JavaWeb經常使用開發模式與案例

(1)單純的JSP頁面開發模式
經過在JSP中的腳本標記,直接在JSP頁面中實現各類功能。稱爲「單純的JSP頁面編程模式」。它就是隻用JSP設計Web應用程序。
存在的問題與缺點
大部分的代碼與HTML代碼混淆在一塊兒,會給程序的維護和調試帶來不少的困難。
(2)JSP頁面開發模式案例-----求和運算html

例題1:設計WEb程序計算1+2+3+4+5.....100的和值,並在網頁上顯示。
<%@ page contentType="text/html" import="java.util.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>計算1到100之間的整數和值的JSP程序</title>
  </head>
  
  <body bgcolor="00ff00">
        <font size="5">這是一個單純的JSP頁面編程示例</font><br>
        <%
            int i;
            int sum=0;
            for(i=0;i<=100;i++){
                sum+=i;
            }
         %>
         1到100的和值爲:<%=sum %>
  </body>
</html>

例題2:設計Web程序,計算任意兩個整數的累加和值,並在網頁上顯示結果。

1.設計任意提交的兩個整數的JSP頁面java

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>  
    <title>提交任意兩個整數的頁面</title>
  </head>
  
  <body>
    <h3>按下列格式要求,輸入兩個整數:</h3><br>
    <form action="ch07_2_show.jsp" method="post">
        開始數據:<input type="text" name="shuju1"><br><br>
        結束數據:<input type="text" name="shuju2"><br><br>
        <input type="submit" value="提交">
        <input type =reset value="取消">
    </form>
  </body>
</html>

2.設計獲取兩個數值並計算,在後顯示結果的JSP頁面mysql

//show.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>計算任意兩整數之間的累加和值的JSP程序</title>
  </head> 
  <body>
    <%!int sum=0;
        int x=0;
        int y=0;
     %>
     <%String xx=request.getParameter("shuju1");
        String yy=request.getParameter("shuju2");
        x=Integer.parseInt(xx);
        y=Integer.parseInt(yy);
        while(x<=y){
            sum+=x;
            x++;
        }
      %>
      <p><%=xx %>加到<%=yy %>的和值是:<%=sum %></p>
      <P>如今時間是:<%=new Date() %></P>
  </body>
</html>

(3)JSP+JDBC開發案例-----實現基於數據庫的登錄驗證web

例題1:利用JSP+JDBC技術相結合,實現基於數據庫的登錄驗證,要求:一個用戶的信息有用戶名和密碼,用戶信息存放在數據庫中。

1.設計提交登陸信息的頁面sql

//登錄頁面
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>用戶登陸提交頁面</title>
  </head>
  <body>
  <form action="ch07_3_yanzheng.jsp" method="post">
    用戶名:<input type="text" name="username"><br><br>
    密碼:<input type="password" name="pass"><br><br>
    <input type="submit" value="提交">
    </form>
  </body>
</html>

2.設計須要獲取兩個登陸信息的值,並鏈接數據庫,實現驗證的JSP頁面數據庫

//驗證界面
<%@ page language="java" import="java.sql.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>登錄驗證界面</title>
  </head>
  
  <body>
    <%
        try{
            Connection conn=null;
            PreparedStatement pstmt=null;
            ResultSet rs=null;
            String driverName="com.mysql.jdbc.Driver";
            String dbName="user";
            String url1="jdbc:mysql:localhost:3306/"+dbName;
            String url2="?user=root&password=123456";
            String url3="&userUnicode=true&characterEncoding=GB2312";
            String url=url1+url2+url3;
            Class.forName(driverName);
            conn=DriverManager.getConnection(url);
            request.setCharacterEncoding("GB2312");
            String name=request.getParameter("username");
            String pw=request.getParameter("pass");
            String sql="select *from user_b where (uname=? and password=?)";
            pstmt=conn.prepareStatement(sql);
            pstmt.setString(1,name);
            pstmt.setString(2,pw);
            rs=pstmt.executeQuery();
            if(rs.next()){
                %><%=name%>:登錄成功!<br><%
                //}
                else{ %> 
                  <%=name %>:登錄失敗!<br><% }
                 }catch(Exception e){%>
                 出現異常錯誤! <%=e.getMessage() %>
        <%}finally{
            if(rs!=null){rs.close();}
            if(pstmt!=null){pstmt.close();}
            if(conn!=null){conn.close();}
        }%>
  </body>
</html>

(4)JSP+JavaBean開發模式
@在開發JavaWeb程序時,將JSP和JavaBean結合造成JSP+JavaBean設計模式,也叫JSP Model-1模式編程

例題:利用JSP+JavaBean實現求任意兩個整數之間的累加和值,並顯示輸出。

1.先創建一個JavaBean Add2 類設計模式

package beans;
public class Add2 {
    private int a;
    private int b;
    public int getA(){return a;}
    public void setA(int a){this.a=a;}
    public int getB(){return b;}
    public void setB(int b){this.b=b;}
    public int sum(){
        int c;
        int s=0;
        if(a>b)
        {
            c=a;
            a=b;
            b=c;
            }
        int x=a;
        while(x<=b){s+=x;++x;}
        return s;
    }
}

2.設計提交任意兩個整數的JSP的頁面session

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>  
    <title>提交任意兩個整數的頁面</title>
  </head>
  
  <body>
    <h3>按下列格式要求,輸入兩個整數:</h3><br>
    <form action="ch07_4_show.jsp" method="post">
        開始數據:<input type="text" name="a"><br><br>
        結束數據:<input type="text" name="b"><br><br>
        <input type="submit" value="提交">
        <input type =reset value="取消">
    </form>
  </body>
</html>

3.從提交中獲取數據,計算結果顯示頁面jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>利用JavaBean+JSP求兩數和</title>
  </head>
  
  <body>
    <jsp:useBean id="c" class="beans.Add2" scope="session"/>
    <jsp:setProperty name="c" property="*"/>
    <p><%=c.getA() %>加到<%=c.getB() %>=<%=c.sum() %></p>
    <p>如今的時間是:<%=new Date() %></p>
  </body>
</html>
相關文章
相關標籤/搜索