jsp实训报告

JSP技术学习总结报告

     JSP技术是由SUN公司所倡导、众多公司参与建立的一种动态技术标准,它基于JAVA技术,具有良好的可伸缩行,与Java Enterprise API紧密结合,在网络数据库应用开发方面有着得天独厚的优势,具有广阔前景。

实训

实训一:forward动作

目的:根据客户端所发出的请求,从一个JSP页面转交给另一个JSP页面。

代码:

<%@ page contentType="text/html;charset=gb2312"%>

<html>

<body>

<form name="form1" action="myforward.jsp" method="post" >

程序示例链接:

<select name="goaddress" onchange="javascript:form1.submit()">

  <option value="novalue"></option>

  <option value="1">第一个页面</option>

  <option value="2">第二个页面</option>

  <option value="3">第三个页面</option>

</select>

</form>

<%// forward应用示例Java程序片

  String s=null;

  s=request.getParameter("goaddress");

  if(s!=null)

  {  switch(s.charAt(0))

    {  case '1':%>

  <jsp:forward page="top.html"/>

      <%break; case '2':%>

       <jsp:forward page="bottom.html"/><%

         break;case '3':%>

       <jsp:forward page="includeSample.jsp"/><%

  break;default:

         out.println("您没有选择。");}}

  else

    out.println("您没有选择。");%>

</body>

</html>

结果:

实训二:application对象的应用

目的:使用application对象设计一个简单的计数器。

代码:

<%@ page contentType="text/html;charset=gb2312"%>

<%Integer count =null;

  synchronized(application)//同步处理

  {//从内存当中读取访问量

    count=(Integer)application.getAttribute("basic.counter");

  if (count==null)//测试一个application属性是否已经存在。

count=new Integer(0);

count=new Integer(count.intValue()+1);

application.setAttribute("basic.counter",count);//将访问量保存到内存当中

}%>

<html>

  <head>

    <title>简单计数器</title>

  </head>

<body>

  <center><font size=10 color=blue>简单计数器<br></font><font size=5 color=blue>您好!您是本站的第<%=count%>位客人</font>

  </center>

</body>

</html>

结果:

实训三:数据库的连接及访问

数据库:student

表:student表、score表

1访问数据库

目的:实现数据库访问 ,并显示访问者信息

环境配置:

   

   

  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

代码:

<!--jspodbc.jsp-->

<%@ page contentType="text/html;charset=gb2312"import="java.sql.*" %>

<html>

<head>

<title>访问SQL Server数据库</title>

</head>

<body>

<h2 align="center">访问SQL Server数据库</h2>

<hr>

<%                    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();

         out.println("数据库驱动注册成功!<br>");

                  String url="jdbc:odbc:jspdb";                           

       String user="sa";

       String password="sa";

                Connection conn= DriverManager.getConnection(url,user,password);

         out.println("数据库连接成功!<br><hr>");

                          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

                                                                                    ResultSet.CONCUR_UPDATABLE);

                String sql="select * from student";

                ResultSet rs=stmt.executeQuery(sql);

                rs.first();%>

         学生编号:<%=rs.getObject("stud_id")%><br>

         学生姓名:<%=rs.getObject("name")%><br>

         出生年月:<%=rs.getObject("birthday")%><br>

         家庭住址:<%=rs.getObject("home")%><br>

         电话:<%=rs.getObject("tel")%><br>

         学历:<%=rs.getObject("resume")%><br>

         <hr>

         数据库访问成功!        <br><%

   rs.close();               //关闭rs

   stmt.close(); //关闭stmt

   conn.close();          //关闭conn%>

         数据库已关闭!

</body></html>

结果:

2 连接数据库并查询学生成绩

目的:根据输入的学生姓名,查询出该生的学习成绩并在页面输出。

(1)  编写jsp页面,实现输入学生姓名。

代码:

<%@ page contentType="text/html;charset=GB2312" %>

<html>

<body>

<font size=1>

<form action="searchName.jsp" Method="post">

 <P>成绩查询

 <P>输入姓名:

  <Input type=text name="name">

  <Input type=submit name="g" value="提交">

</form>

</body>

结果:

(2)  写jsp页面,实现查询给定的学生成绩并显示。

代码:

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="java.sql.*" %>

<HTML>

<BODY bgcolor=pink ><Font size=1>

  <%

    String number=request.getParameter("number");

    if(number==null){

         number="";

     }

       String name=request.getParameter("name");

    if(name==null){

        name="";

    }

    byte c[]=name.getBytes("ISO-8859-1");

    name=new String(c);

        String math=request.getParameter("math");

    if(math==null){math="-100"; }

       String english=request.getParameter("english");

    if(english==null){english="-100"; }

        String physics=request.getParameter("physics");

    if(physics==null){physics="-100"; }

    Connection con=null;

   Statement stmt=null;

    ResultSet rs=null;

    try{

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }

    catch(ClassNotFoundException event){}

    try{

       con=DriverManager.getConnection("jdbc:odbc:jspdb","sa","sa");

       stmt =con.createStatement();

       String condition="insert into score values(?,?,?,?,?)";

PrepareStatement pstmt = con.prepareStatement(condition);

       pstmt.setString(1,number);

       pstmt.setString(2,name);

       pstmt.setString(3,math);

       pstmt.setString(4,physics);

       pstmt.setString(5,english);

       pstmt.executeUpdate();

       pstmt.close();

           %>

     <P>添加新记录后的表:

     <%

       rs=stmt.executeQuery("select * from score order by number");

       out.print("<Table Border>");

       out.print("<TR>");

       out.print("<TH width=100>"+"学号");

       out.print("<TH width=100>"+"姓名");

       out.print("<TH width=50>"+"数学成绩");

       out.print("<TH width=50>"+"物理成绩");

       out.print("<TH width=50>"+"英语成绩");      

       out.print("</TR>");

       while(rs.next()){   

           out.print("<TR>");

           String n=rs.getString(1);

out.print("<TD >"+n+"</TD>");

           String xingming=rs.getString(2);

           out.print("<TD >"+xingming+"</TD>");

           int  intMath=rs.getInt("math");

           out.print("<TD >"+intMath+"</TD>");

           int intPhysics=rs.getInt("physics");

           out.print("<TD >"+intPhysics+"</TD>");           

           int intEnglish=rs.getInt("english");

           out.print("<TD >"+intEnglish+"</TD>");

           out.print("</TR>") ;   }

       out.print("</Table>");

       rs.close();

       stmt.close();

       con.close(); }

     catch(SQLException event){ out.print(event.getMessage());}

 %>

</FONT>

</BODY>

</HTML>

结果:

体会:

一次难忘的实训结束了。这次实训不仅让我的能力有了很大的提高,更重要的是,它让了解到自学的重要,了解到以后该注意什么。离开了学校,就要步入社会,这次实训给了我们提高了个缓冲的余地,了解到现实的社会,了解到企业,了解到以前在学校无法体会的方方面面。体会到程序员的不容易,体会到工作的不容易。但也正因为本次实训,使我们更有信心面对以后的工作,以后的生活。“一分付出,一分收获”,只要努力了,总会有收获的。所以,我有信心面对以后的工作,以后的生活。在此再次感谢全组人员与指导老师的帮助,是你们,让我进步,让我成长。相信自己,相信未来,明天会更好。

最后,通过本次实训使我学到很多东西,便于今后让我提早进入工作状态。因为我知道无论是今后的学习还是日后的工作生活中,我会清楚的知道自己想要做什么、如何做和怎样才能把它做到最好。

相关推荐