zoukankan      html  css  js  c++  java
  • 2017.11.6 JavaWeb-----第七章 JavaWeb常用开发模式与案例

    JavaWeb-----第七章 JavaWeb常用开发模式与案例

    (1)单纯的JSP页面开发模式
    *通过在JSP中的脚本标记,直接在JSP页面中实现各种功能。称为“单纯的JSP页面编程模式”。它就是只用JSP设计Web应用程序。
    *存在的问题与缺点
    大部分的代码与HTML代码混淆在一起,会给程序的维护和调试带来很多的困难。
    (2)JSP页面开发模式案例-----求和运算

    例题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页面

    
    <%@ 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页面

    //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开发案例-----实现基于数据库的登陆验证

    例题1:利用JSP+JDBC技术相结合,实现基于数据库的登陆验证,要求:一个用户的信息有用户名和密码,用户信息存放在数据库中。

    1.设计提交登录信息的页面

    //登陆页面
    <%@ 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的页面

    <%@ 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.从提交中获取数据,计算结果显示页面

    <%@ 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>
    
  • 相关阅读:
    WCF里几个基本知识点
    MVC3+EntityFramework实践笔记
    一些vim的插件和配置
    Web API工作方式
    计算机中的异常
    Glusterfs之nfs模块源码分析
    ASP.NET Windows身份认证
    Sql Server表结构及索引辅助查看工具
    sql server批量插入与更新两种解决方案
    如何在ViewModel中正确地使用Timer(定时器)
  • 原文地址:https://www.cnblogs.com/qichunlin/p/7795120.html
Copyright © 2011-2022 走看看