本文共 7067 字,大约阅读时间需要 23 分钟。
前两天学习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 8 9 10 11 12 13 出生日期:至14 15 16 <%17 String sBeginDate = request.getParameter(“begindate”);18 String sEndDate = request.getParameter(“enddate”);19 //将字符串转换为Timestamp20 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 l = ss.getStudentByDate(beginDate,endDate);31 %>32 <%33 if(l.size()!= 0 && l!=null){34 %>35 3637383940414243 <%44for(Iterator iter=l.iterator();iter.hasNext();){45 Student s = iter.next();46 %>47 48495051525354 <%}%>55 学号 姓名 出生日期 性别 家庭住址 <%=s.getSId()%> <%=s.getSName()%> <%=new SimpleDateFormat(“yyyy-MM-dd”).format(s.getSDate())%> <%=s.getSSex()%> <%=s.getSAddr()%> 56 <%57 }58 %>59 60
再把相应的业务逻辑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(“\r\n”); 65 out.write(“\t\r\n”); 66 out.write(“\t\t\r\n”); 67 out.write(“\t\r\n”); 68 out.write(“\t\r\n”); 69 out.write(“\t\t\r\n”); 70 out.write(“\t\t\t出生日期:至\r\n”); 71 out.write(“\t\t\t\r\n”); 72 out.write(“\t\t\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 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\r\n”); 97 out.write(“\t\t\t\r\n”); 98 out.write(“\t\t\t\t\r\n”); 99 out.write(“\t\t\t\t\r\n”);100 out.write(“\t\t\t\t\r\n”);101 out.write(“\t\t\t\t\r\n”);102 out.write(“\t\t\t\t\r\n”);103 out.write(“\t\t\t\r\n”);104 out.write(“\t\t\t”);105106for(Iterator iter=l.iterator();iter.hasNext();){107 Student s = iter.next();108109 out.write(“\r\n”);110 out.write(“\t\t\t\r\n”);111 out.write(“\t\t\t\t\r\n”);114 out.write(“\t\t\t\t\r\n”);117 out.write(“\t\t\t\t\r\n”);120 out.write(“\t\t\t\t\r\n”);123 out.write(“\t\t\t\t\r\n”);126 out.write(“\t\t\t\r\n”);127 out.write(“\t\t\t”);128}129 out.write(“\r\n”);130 out.write(“\t\t学号 姓名 出生日期 性别 家庭住址 “);112 out.print(s.getSId());113 out.write(“ “);115 out.print(s.getSName());116 out.write(“ “);118 out.print(new SimpleDateFormat(“yyyy-MM-dd”).format(s.getSDate()));119 out.write(“ “);121 out.print(s.getSSex());122 out.write(“ “);124 out.print(s.getSAddr());125 out.write(“ \r\n”);131 out.write(“\t\t”);132133 }134135 out.write(“\r\n”);136 out.write(“\t\r\n”);137 out.write(““);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语句可以直接写,不需要拼凑。
转载地址:http://knhpl.baihongyu.com/