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>
posted @ 2017-11-06 20:55  LegendQi  阅读(672)  评论(0编辑  收藏  举报