5种开发模式的总结
1、利用单纯的JSP页面开发模式
设计Web程序,计算1+2+3+….+100的和值,并在网页上显示结果。
文件结构
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
int i;
int sum=0;
for(i=1;i<=100;i++)
sum+=i;
%>
<p>
这是一单纯的jsp页面编程示例
</p>
<p>
1到100的和为:
<%=sum %>
</p>
</body>
</html>
2、利用单纯的JSP页面开发模式
设计Web程序,计算任意两个整数之间累加和值,并在网页上显示结果。
文件结构
index.jsp输入数据后将数据传入show.jsp中显示结果。
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
按下列格式要求输入两个整数:
<form method="post" action="show.jsp">
开始数据:
<input name="data1" type="text">
<br>
结束数据:
<input name="data2" type="text">
<br>
<input value="提交" type="submit">
<br>
</form>
</body>
</html>
show.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
按下列格式要求输入两个整数:
<form method="post" action="show.jsp">
开始数据:
<input name="data1" type="text">
<br>
结束数据:
<input name="data2" type="text">
<br>
<input value="提交" type="submit">
<br>
</form>
</body>
</html>
设计Web程序,计算任意两个整数之间累加和值,并在网页上显示结果.
index.jsp输入数据后将数据传入show.jsp中,然后再调用JavaBean中的方法运算并显示结果。
文件结构
dataDeal.java 自己写的javaBean
package javaBean;
public class dataDeal {
private int data1, data2;
public int getData1() {
return data1;
}
public void setData1(int data1) {
this.data1 = data1;
}
public int getData2() {
return data2;
}
public void setData2(int data2) {
this.data2 = data2;
}
public int show() {
int sum = 0;
for (; data1 <= data2; data1++)
sum += data1;
return sum;
}
}
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
按下列格式要求输入两个整数:
<form method="post" action="show.jsp">
开始数据:
<input name="data1" type="text">
<br>
结束数据:
<input name="data2" type="text">
<br>
<input value="提交" type="submit">
<br>
</form>
</body>
</html>
show.jsp
<%@ page language="java" import="java.util.*" import="javaBean.dataDeal" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
String d1 = request.getParameter("data1");
String d2 = request.getParameter("data2");
int data1 = Integer.parseInt(d1);
int data2 = Integer.parseInt(d2);
dataDeal d=new dataDeal();
d.setData1(data1);
d.setData2(data2);
%>
<p>
<%=d1 + "加到" + d2 + "的和值是" +d.show() %>
</p>
<p>
<%="现在的时间是:" + new java.util.Date()%>
<p>
</body>
</html>
4、JSP+Servlet开发模式
设计Web程序,计算任意两个整数之间累加和值,并在网页上显示结果.
文件结构
index.jsp输入数据后将数据传入servlet中,然后servle把数据]共享给show.jsp并完成运算显示结果。
这需要修改web.xml文件
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
按下列格式要求输入两个整数:
<form method="post" action="runner">
开始数据:
<input name="data1" type="text">
<br>
结束数据:
<input name="data2" type="text">
<br>
<input value="提交" type="submit">
<br>
</form>
</body>
</html>
show.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
String sum = (String) request.getAttribute("sum");
String d1 = (String) request.getAttribute("data1");
String d2 = (String) request.getAttribute("data2");
%>
<p>
<%=d1 + "加到" + d2 + "的和值是" +sum%>
</p>
<p>
<%="现在的时间是:" + new java.util.Date()%>
</p>
</body>
</html>
servlet1.java完成跳转的
package servletConnection;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class servlet1 extends HttpServlet {
public servlet1() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String d1 = request.getParameter("data1");
String d2 = request.getParameter("data2");
int data1 = Integer.parseInt(d1);
int data2 = Integer.parseInt(d2);
int sum=0;
for(;data1<=data2;data1++){
sum+=data1;
}
String s=""+sum;
request.setAttribute("data1", d1);
request.setAttribute("data2", d2);
request.setAttribute("sum", s);
request.getRequestDispatcher("show.jsp").forward(request, response);
}
public void init() throws ServletException {
// Put your code here
}
}
web.xml url-pattern需要与index.jsp中form的action一致
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>servlet1</servlet-name>
<servlet-class>servletConnection.servlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/runner</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
5、JSP+Servlet+JavaBean开发 模式
设计Web程序,计算任意两个整数之间累加和值,并在网页上显示结果
将第3种和第4种模式整合到一起,首先index.jsp接受数据,然后servlet把数据共享给show.jsp,show.jsp再调用JavaBean计算并显示结果。
文件结构javaBean类
package javaBean;
public class dataDeal {
private int data1, data2;
public int getData1() {
return data1;
}
public void setData1(int data1) {
this.data1 = data1;
}
public int getData2() {
return data2;
}
public void setData2(int data2) {
this.data2 = data2;
}
public int show() {
int sum = 0;
for (; data1 <= data2; data1++)
sum += data1;
return sum;
}
}
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
按下列格式要求输入两个整数:
<form method="post" action="runner">
开始数据:
<input name="data1" type="text">
<br>
结束数据:
<input name="data2" type="text">
<br>
<input value="提交" type="submit">
<br>
</form>
</body>
</html>
show.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
String sum = (String) request.getAttribute("sum");
String d1 = (String) request.getAttribute("data1");
String d2 = (String) request.getAttribute("data2");
%>
<p>
<%=d1 + "加到" + d2 + "的和值是" +sum%>
</p>
<p>
<%="现在的时间是:" + new java.util.Date()%>
</p>
</body>
</html>
servlet
package servletConnection;
import java.io.IOException;
import java.io.PrintWriter;
import javaBean.dataDeal;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings({ "unused", "serial" })
public class servlet1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String d1 = request.getParameter("data1");
String d2 = request.getParameter("data2");
int data1 = Integer.parseInt(d1);
int data2 = Integer.parseInt(d2);
dataDeal d=new dataDeal();
d.setData1(data1);
d.setData2(data2);
int sum=d.show();
String s=""+sum;
request.setAttribute("data1", d1);
request.setAttribute("data2", d2);
request.setAttribute("sum", s);
request.getRequestDispatcher("show.jsp").forward(request, response);
}
public void init() throws ServletException {
// Put your code here
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>servlet1</servlet-name>
<servlet-class>servletConnection.servlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/runner</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>