用JSP实现学生查询

  前两天学习Servlet时,用Servlet做了一个小小个学生查询功能,现在学习了JSP就用JSP来实现这个小功能。

  首先新建一个JSP文件student.jsp,代码如下:

 1 <%@ page language="java" contentType="text/html;charset=GB2312" %>
 2 <%@ page import="java.sql.Timestamp"%>
 3 <%@ page import="java.text.*"%>
 4 <%@ page import="java.util.*"%>
 5 <%@ page import="com.pojo.*"%>
 6 <%@ page import="com.services.*"%>
 7 <html>
 8     <head>
 9         <title>学生信息</title>
10     </head>
11     <body>
12         <form action="student.jsp" method="GET">
13             出生日期:<input type="text" name="begindate">至<input type="text" name="enddate">
14             <input type="submit" value="查询">
15         </form>
16         <%
17             String sBeginDate = request.getParameter("begindate");
18             String sEndDate = request.getParameter("enddate");
19             //将字符串转换为Timestamp
20             Timestamp beginDate = Timestamp.valueOf("1900-1-1 00:00:00");
21             Timestamp endDate = Timestamp.valueOf("1900-1-1 00:00:00");
22             try{
23                 beginDate = Timestamp.valueOf(sBeginDate+" 0:0:0");  
24                 endDate = Timestamp.valueOf(sEndDate+" 0:0:0");  
25             }catch(Exception e){
26                 e.printStackTrace();
27             }
28             StudentService ss = new StudentService();   
29             //从数据库中查询结果
30             List<Student> l = ss.getStudentByDate(beginDate,endDate); 
31         %>
32         <%
33             if(l.size()!= 0  && l!=null){
34         %>
35         <table border="1">
36             <tr>
37                 <td>学号</td>
38                 <td>姓名</td>
39                 <td>出生日期</td>
40                 <td>性别</td>
41                 <td>家庭住址</td>
42             </tr>
43             <%
44                 for(Iterator<Student> iter=l.iterator();iter.hasNext();){
45                 Student s = iter.next();
46             %>
47             <tr>
48                 <td><%=s.getSId()%></td>
49                 <td><%=s.getSName()%></td>
50                 <td><%=new SimpleDateFormat("yyyy-MM-dd").format(s.getSDate())%></td>
51                 <td><%=s.getSSex()%></td>
52                 <td><%=s.getSAddr()%></td>
53             </tr>
54             <%}%>
55         </table>
56         <%
57             }
58         %>
59     </body>
60 </html>

  再把相应的业务逻辑jar包和数据库驱动拷贝到lib目录下。

编译后的student_jsp.java代码如下:

  1 package org.apache.jsp;
  2 
  3 import javax.servlet.*;
  4 import javax.servlet.http.*;
  5 import javax.servlet.jsp.*;
  6 import java.sql.Timestamp;
  7 import java.text.*;
  8 import java.util.*;
  9 import com.pojo.*;
 10 import com.services.*;
 11 
 12 public final class student_jsp extends org.apache.jasper.runtime.HttpJspBase
 13     implements org.apache.jasper.runtime.JspSourceDependent {
 14 
 15   private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
 16 
 17   private static java.util.List _jspx_dependants;
 18 
 19   private javax.el.ExpressionFactory _el_expressionfactory;
 20   private org.apache.AnnotationProcessor _jsp_annotationprocessor;
 21 
 22   public Object getDependants() {
 23     return _jspx_dependants;
 24   }
 25 
 26   public void _jspInit() {
 27     _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
 28     _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
 29   }
 30 
 31   public void _jspDestroy() {
 32   }
 33 
 34   public void _jspService(HttpServletRequest request, HttpServletResponse response)
 35         throws java.io.IOException, ServletException {
 36 
 37     PageContext pageContext = null;
 38     HttpSession session = null;
 39     ServletContext application = null;
 40     ServletConfig config = null;
 41     JspWriter out = null;
 42     Object page = this;
 43     JspWriter _jspx_out = null;
 44     PageContext _jspx_page_context = null;
 45 
 46 
 47     try {
 48       response.setContentType("text/html;charset=GB2312");
 49       pageContext = _jspxFactory.getPageContext(this, request, response,
 50                   null, true, 8192, true);
 51       _jspx_page_context = pageContext;
 52       application = pageContext.getServletContext();
 53       config = pageContext.getServletConfig();
 54       session = pageContext.getSession();
 55       out = pageContext.getOut();
 56       _jspx_out = out;
 57 
 58       out.write("\r\n");
 59       out.write("\r\n");
 60       out.write("\r\n");
 61       out.write("\r\n");
 62       out.write("\r\n");
 63       out.write("\r\n");
 64       out.write("<html>\r\n");
 65       out.write("\t<head>\r\n");
 66       out.write("\t\t<title>学生信息</title>\r\n");
 67       out.write("\t</head>\r\n");
 68       out.write("\t<body>\r\n");
 69       out.write("\t\t<form action=\"student.jsp\" method=\"GET\">\r\n");
 70       out.write("\t\t\t出生日期:<input type=\"text\" name=\"begindate\">至<input type=\"text\" name=\"enddate\">\r\n");
 71       out.write("\t\t\t<input type=\"submit\" value=\"查询\">\r\n");
 72       out.write("\t\t</form>\r\n");
 73       out.write("\t\t");
 74 
 75             String sBeginDate = request.getParameter("begindate");
 76             String sEndDate = request.getParameter("enddate");
 77             //将字符串转换为Timestamp
 78             Timestamp beginDate = Timestamp.valueOf("1900-1-1 00:00:00");
 79             Timestamp endDate = Timestamp.valueOf("1900-1-1 00:00:00");
 80             try{
 81                 beginDate = Timestamp.valueOf(sBeginDate+" 0:0:0");  
 82                 endDate = Timestamp.valueOf(sEndDate+" 0:0:0");  
 83             }catch(Exception e){
 84                 e.printStackTrace();
 85             }
 86             StudentService ss = new StudentService();   
 87             //从数据库中查询结果
 88             List<Student> l = ss.getStudentByDate(beginDate,endDate); 
 89         
 90       out.write("\r\n");
 91       out.write("\t\t");
 92 
 93             if(l.size()!= 0  && l!=null){
 94         
 95       out.write("\r\n");
 96       out.write("\t\t<table border=\"1\">\r\n");
 97       out.write("\t\t\t<tr>\r\n");
 98       out.write("\t\t\t\t<td>学号</td>\r\n");
 99       out.write("\t\t\t\t<td>姓名</td>\r\n");
100       out.write("\t\t\t\t<td>出生日期</td>\r\n");
101       out.write("\t\t\t\t<td>性别</td>\r\n");
102       out.write("\t\t\t\t<td>家庭住址</td>\r\n");
103       out.write("\t\t\t</tr>\r\n");
104       out.write("\t\t\t");
105 
106                 for(Iterator<Student> iter=l.iterator();iter.hasNext();){
107                 Student s = iter.next();
108             
109       out.write("\r\n");
110       out.write("\t\t\t<tr>\r\n");
111       out.write("\t\t\t\t<td>");
112       out.print(s.getSId());
113       out.write("</td>\r\n");
114       out.write("\t\t\t\t<td>");
115       out.print(s.getSName());
116       out.write("</td>\r\n");
117       out.write("\t\t\t\t<td>");
118       out.print(new SimpleDateFormat("yyyy-MM-dd").format(s.getSDate()));
119       out.write("</td>\r\n");
120       out.write("\t\t\t\t<td>");
121       out.print(s.getSSex());
122       out.write("</td>\r\n");
123       out.write("\t\t\t\t<td>");
124       out.print(s.getSAddr());
125       out.write("</td>\r\n");
126       out.write("\t\t\t</tr>\r\n");
127       out.write("\t\t\t");
128 }
129       out.write("\r\n");
130       out.write("\t\t</table>\r\n");
131       out.write("\t\t");
132 
133             }
134         
135       out.write("\r\n");
136       out.write("\t</body>\r\n");
137       out.write("</html>");
138     } catch (Throwable t) {
139       if (!(t instanceof SkipPageException)){
140         out = _jspx_out;
141         if (out != null && out.getBufferSize() != 0)
142           try { out.clearBuffer(); } catch (java.io.IOException e) {}
143         if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
144       }
145     } finally {
146       _jspxFactory.releasePageContext(_jspx_page_context);
147     }
148   }
149 }

 

相比Servlet,JSP的实现简单了许多,在JSP文件中HTML语句可以直接写,不需要拼凑。

posted @ 2012-07-15 16:47  残剑_  阅读(5639)  评论(0编辑  收藏  举报