首页 超好的JSP快速入门教程

超好的JSP快速入门教程

举报
开通vip

超好的JSP快速入门教程JSP快速入门十讲 第一讲(参考《Java Web程序设计基础教程》第1章) 1 JSP 和 Java的关系    一般Java指的标注版 Java SE    另外两个版本:Java EE 和 Java ME    JSP属于Java EE的一部分。    Java EE:      组件:Web层组件(JSP+Servlet)+业务层组件(EJB)      服务:JNDI JDBC RMI JAAS JavaMail等等    Java EE包括2个体系:标准(上面介绍的)+流行(Struts+Hibern...

超好的JSP快速入门教程
JSP快速入门十讲 第一讲(参考《Java Web程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 基础教程》第1章) 1 JSP 和 Java的关系    一般Java指的标注版 Java SE    另外两个版本:Java EE 和 Java ME    JSP属于Java EE的一部分。    Java EE:      组件:Web层组件(JSP+Servlet)+业务层组件(EJB)      服务:JNDI JDBC RMI JAAS JavaMail等等    Java EE包括2个体系: 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 (上面介绍的)+流行(Struts+Hibernate+Spring)    两套体系都是JSP+Servlet为基础。 2 JSP会涉及哪些内容    JSP语法基础(Java+HTML):        对于Java,需要掌握Java的基本语法(类定义 对象定义和使用 常用类库java.lang.*,java.util.*)        对于HTML,主要表单元素(输入)+表格(显示信息)+基本HTML    JSTL,标准标签库,用于输出和控制    EL,通常与JSTL一起使用,主要用于输出    Servlet,几乎所有介绍JSP的书和课程都包含Servlet,因为JSP实际上指的是Java Web开发。用Servlet主要是控制器。    JDBC,对数据库的访问。    JavaBean(Java类) 3 JSP的运行环境    JDK    服务器:我们用Tomcat。其它的服务器:IBM Websphere + BEA WebLogic  + JBoss(免费的) + GlassFish(新出的Java EE 5服务器) 4 JSP的开发环境    页面:DreamWeaver开发页面    代码:本文编辑器 Eclipse NetBeans JBuilder    注:我们采用记事本。 5 Tomcat文件夹    webapps  主要各个应用,编写的每个应用(网站)都可以放在这个位置    bin  这个是启动服务器的相关文件,tomcat6用于命令行方式的启动,tomcat6w用于windows方式的启动    conf  用于配置,常用的是server.xml 另外一个是web.xml    work 存放临时文件    logs  系统运行时候的日志信息 6 实例:hello.jsp    创建一个应用,实际上需要在webapps中创建文件夹,bookstore,相当于应用的名字    文件夹中要创建一个子文件夹WEB-INF,这个每个应用web应用都需要的。    在WEB-INF中需要web.xml,是web应用的配置文件,还应该有classes和lib子文件夹(存放类文件)    JSP文件和HTML文件直接放在bookstore下面。    hello.jsp文件内容如下: <%@ page contentType="text/html;charset=gb2312"%>           第一个JSP程序               Hello,晚上好!          先启动服务器:    访问程序:http://127.0.0.1:8080/bookstore/hello.jsp    http表示 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载    127.0.0.1表示主机IP地址,也可以写主机名字    8080表示服务的端口,上网的时候不用输入端口,因为采用了默认的端口,默认端口80。    bookstore表示应用,是应用的名字    hello.jsp就是资源 7 JSP的运行原理    过程:       首先启动服务器,并且要保证应用在服务器上(把应用放在webapps下面,会自动加载)       在客户端通过浏览器发送请求(在地址栏中输入地址)       服务器接收到请求之后,查找有没有这个文件对应的Java文件的对象。如果没有这个对象,需要创建(先把JSP文件转换成Java文件,       编译成.class文件,加载类并创建对象),然后调用对象的相应 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,方法完成对用户的响应,通常是输出的html代码)       客户端接收到的是html代码,浏览器解析这个代码生成页面。    8 表格的语法    开始标志:    结束标志:
   中间是行,每行是一个      每行之间是列,每一列对应    之间的内容就是每个表格中的信息 *************************************************第一讲结束 阳光 2008-11-15 19:54:57 第二讲(参考《Java Web程序设计基础教程》第2章) 1、form    只要是涉及向服务器提交信息,都应该使用form。    基本语法结构:    
      各种表单元素    
   action属性决定的目标文件来对用户提交的信息进行处理。2、常用的表单元素    单行文本框:用于输入少量的信息。    基本语法格式:        type="text"就说明这是单行文本框;    name指出文本框的名字,最好不要用汉字,最好使用有意义的名字;    value指出默认值,如果没有默认值,可以不要value属性,value属性经常在修改的时候使用。    注意:如果有格式要求,要明确的告诉用户。    密码框:用于输入密码。    基本的语法格式:        注意:设置密码的时候,应该使用确认密码,应该有两个密码框。    提交按钮:当点击它的时候,会把输入的信息提交给服务器。    基本语法格式:        type应该为submit,value是显示在按钮上面的信息。    复位按钮:当点击它的时候,会把各个表单元素的值恢复到默认值。    基本语法格式:           普通按钮:也可以完成提交,还可以完成方法的调用。    基本语法格式:        单选按钮:通用用于在多个选项中选择一个。    基本语法格式:        这个表示一个单选按钮,并且仅仅是一个按钮。    例,选择性别:    男    女    如果希望在多个选项中选择一个(有互斥性),必须让他们的名字一致。    复选框:用于多选。    基本的语法格式:        显示给用户的信息与提交给服务器的信息没有关系。    如果希望多个选项是一组,应该使用相同的名字。    下拉列表:用于选择,可以单选,也可以多选。    基本语法格式:        每个选项使用一个option,使用value属性指出该选项的值,在之间是显示给用户的值。    文本域:用于输入大量的信息。    基本语法格式:        要为这个文本域赋默认值,需要把值放在开始标志和结束标志之间,而不是使用value属性。 3、完成输入的时候应该注意的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题    对格式的要求必须明确,包括长度、数字、日期、email、电话、必添。    能够从系统中获取的信息不要让用户提供,例如当前时间。    能够选择的信息不要让用户输入。    按照信息的重要程度安排表单元素在界面中的位置。 4、对用户输入信息进行验证    要用JavaScript,使用下面的标记:        要写方法    function check(){    }    方法可以不用定义返回值,但是可以有返回值    获取用户输入的值:    document.form1.username.value    document表示当前文档,form1表示表单的名字,username表示该表单中表单元素的名字,value表示得到值    把表单提交与方法关联:可以使用表单的onSubmit事件。       例:    使用button的onClick事件进行验证:    首先要把提交按钮修改成普通按钮;    在普通按钮上增加事件:onClick="javascript:check()"    在验证成功的时候,提交表单:document.form1.submit(); *************************************************第二讲结束 阳光 2008-11-15 19:55:56 第三讲(参考《Java Web程序设计基础教程》第3.4章) 1、include指令     作用:把多个文件中需要共享的代码放在单独的文件中,然后在需要的时候使用该指令引入这个文件。典型的应用,把网站的头部和版权信息放在单独的文件中,在其他文件中包含这两部分。     基本的语法格式:         <%@ include file="目标文件"%>     file属性指出目标文件。     例:把index.jsp和register.jsp中的共同部分做成单独的文件header.jsp(后缀名不一定是.jsp),然后在index.jsp和register.jsp中调用。     header.jsp中的内容如下: <%@ page contentType="text/html;charset=gb2312"%>           

电子书店

                                  注册          最新图书 最畅销图书 查询图书 修改密码 查询订单购物车               
    在index.jsp中引入header.jsp的代码: <%@ page contentType="text/html;charset=gb2312"%> <%@ include file="header.jsp"%>                                                                                             
                                           
                                                 用户名:
                        口令:
                                              
                 
                      欢迎光临我们的书店!                  
           运行过程:在转换的时候,当遇到include指令的时候会把include指令指向的目标文件的内容拷贝到当前位置,替换include指令,这样最后形成一个文件。然后才编译形成class文件,然后运行。 2、标签    我们使用登录功能的模拟来介绍。    首先,使用Java代码完成判断,使用完成跳转,代码: <%@ page contentType="text/html;charset=gb2312"%> <%    // 先获取用户输入的用户名和口令,然后判断是否合法    String username = request.getParameter("username");    String userpass = request.getParameter("userpass");    if(username.equals("zhangsan") && userpass.equals("zhangsan"))    { %>        <%    }else{ %>        <%    } %>    注意:不管跳转到success.jsp还是index.jsp,地址栏都是处理文件的名字。    的语法格式:           page属性指出转向的目标文件。最后的结束符为“/>”,斜杠不能省略。    另外一个可以完成跳转的方式是采用response.sendRedirect()。response和request一样,都是内容对象,可以直接访问。修改上面的文件: <%@ page contentType="text/html;charset=gb2312"%> <%    // 先获取用户输入的用户名和口令,然后判断是否合法    String username = request.getParameter("username");    String userpass = request.getParameter("userpass");    if(username.equals("zhangsan") && userpass.equals("zhangsan"))    {        response.sendRedirect("success.jsp");    }else{        response.sendRedirect("index.jsp");    } %>    和response.sendRedirect的运行效果相同(针对上面的这个例子)。    相同点:都是转向目标文件。    不同点:地址栏中显示的内容是不相同的,如果使用,地址栏显示当前文件的名字,如果使用response,地址栏显示的是转向后的文件的名字。执行过程不同:使用相当于一次请求,使用response相当于两次请求。    使用的情况:    index.jsp中输入用户名和口令,提交给login_process.jsp,服务器保存用户的输入信息,使用转向success.jsp之后,success.jsp还可以访问用户输入的信息,因为输入同一次请求。    使用response的请求:    index.jsp中输入用户名和口令,提交给login_process.jsp,服务器保存用户的输入信息,使用response的sendRedirect方法相当于重新向服务器发送一次请求,这样上次的请求内容(用户名和口令)就不能共享了。    3、标签    把index.jsp中<%@ include="header.jsp"%>替换成    从运行效果上相同。    不同点:1、两个文件,目标文件是单独运行的,当前文件运行到标签的时候,转向执行标签所指向的目标文件,执行之后返回继续标签之后的内容。    2、<%@ include%>指令是在编译(转换)的时候使用,在运行的时候起作用。    程序中如何选用:要导入的内容是不是每次都执行,如果每次都执行的话,应该使用<%@ include%>,如果是在特定的条件下,应该使用。例如,登录之后要么转向success.jsp要么转向index.jsp,如果在程序中使用导入,应该用。 4、区别    把login_process.jsp中的替换成: <%@ page contentType="text/html;charset=gb2312"%> <%    // 先获取用户输入的用户名和口令,然后判断是否合法    String username = request.getParameter("username");    String userpass = request.getParameter("userpass");    if(username.equals("zhangsan") && userpass.equals("zhangsan"))    { %>        <%    }else{ %>        <%    } %>     运行效果是相同的。但是有不同点,修改代码如下: <%@ page contentType="text/html;charset=gb2312"%> 处理文件的前半部分
<%    // 先获取用户输入的用户名和口令,然后判断是否合法    String username = request.getParameter("username");    String userpass = request.getParameter("userpass");    if(username.equals("zhangsan") && userpass.equals("zhangsan"))    { %>        <%    }else{ %>        <%    } %>
处理文件的后半部分 两次运行结果不相同。 分析原因:    :先执行标签之前的内容,遇到标签的时候转向执行目标文件,执行完不返回,显示的内容为目标文件的内容,标签之前的内容执行,但是不显示。标签之后的内容不会执行,当然更不会显示。    :先执行标签之前的内容,遇到标签转向执行目标文件,执行完返回,继续执行标签之后的内容,显示的内容为:标签之前的内容+目标文件的内容+标签之后的内容,标签的前后都执行,都显示。 5、使用标准标签库(JSTL)完成登录的判断过程    如何使用标签标签库:(1)得到标签库的实现文件,jstl.jar和standard.jar,放在WEB-INF下面的lib子文件夹。(2)在JSP文件中要声明标签库,通过tablib指令进行声明:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> (3)使用标签:      要完成判断,可以使用标签标签库中的c:if标签。标签的基本格式:    条件成功要执行的内容    test表示测试条件,测试条件可以写常量,可以是表达式语言(EL,主要用于输出),主要使用表达式语言。    例如:要判断用户提交的用户名和口令是否是zhangsan。                   注意:添加完标准标签库之后,需要重新启动服务器。 6、使用session保存登录后的信息    在网站中设置了application session request pageContext对象保存内存中的信息。application是网站所有用户共享的存储变量的位置。session是网站为每个访问网站的人创建的,每个用户对应一个session,也是存放变量的位置。request是为每个用户的每次请求设置的存储信息的位置,每次访问会有一个request。pageContext是每次访问的每个页面对应一个。常用的session和request。多次访问之间要共享信息可以使用session,如果在某次访问的多个页面之间共享信息使用request(例如,使用jsp:forwrad转向的文件和当前文件就属于同一次请求)。    登录后的用户信息应该放在session中。    要在这些范围中保存信息,可以使用标准标签库中的标签完成。    的基本语法格式:           要把用户名放到session中:     *************************************************第三讲结束 阳光 2008-11-15 19:57:13 第四讲(参考《Java Web程序设计基础教程》第6章) 1、对Servlet的理解     Servlet是一种Java类。     Servlet能够完成与JSP相同的功能。能够接收用户的请求,能够调用功能类的方法,可以对用户进行响应。     Servlet和JSP同属于Java EE中Web层组件。 2、如何编写一个Servlet     假设:该Servlet的功能为显示欢迎信息。     Java文件的编写过程:(1)声明包 (2)引入用到的其他的类 (3)类的编写     对于类:(1)类头——修饰符 class关键字 类名 继承父类 实现接口             (2)类体——成员变量 构造方法 对属性进行操作的方法 功能类方法     对于成员变量:修饰符类型 变量名(对象名)     对于方法(不包括构造方法):修饰符 返回值类型 方法名 参数列表 异常列表 方法体     对于方法体:变量的声明各种运算 调用其他的方法 返回结果     (1)声明包,假设包名为servlet package servlet;     (2)引入用到的类,javax.servlet.* javax.servlet.http.* java.io.* import java.io.*; import javax.servlet.*; import javax.servlet.http.*;     (3)类头的定义     访问控制符:public     类名:HelloServlet     继承父类:javax.servlet.http.HttpServlet     实现接口:没有要实现的接口 public class HelloServlet extends HttpServlet     (4)方法的定义     主要的方法:init方法(用于初始化) destroy方法(释放资源) doGet或者doPost(完成主要功能)     通常主要实现doGet方法或者doPost方法,分别对应客户端的get请求和post请求。 public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {     // 设置编码方式     response.setContentType("text/html;charset=gb2312");     // 得到输出流对象     PrintWriter out = response.getWriter();     out.println("欢迎学习JSP!"); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {    doGet(request,response); } 3、编译存放    需要用到javax.servlet.*和javax.servlet.http.*,两个包的实现在tomcat下面的lib中,名字为servlet-api.jar。    放在(编译后的Servlet):WEB-INF/classes    配置path: 把C:\Program Files\Java\jdk1.6.0\bin添加到path中,但是不能破坏原有的路径。    配置classpath:把C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar;添加到classpath中。    编译:在命令行方式下进入到classes目录,然后使用 javac -d . HelloServlet.java   -d表示生成包的路径,.表示在当前位置生成。 4、配置Servlet    配置文件及位置:WEB-INF下面的web.xml。    配置包括两个方面:Servlet的声明 以及 Servlet访问方式的声明    Servlet的声明:           hello       servlet.HelloServlet           其中,表示这个servlet的名字,可以随便起。是对应的Servlet类,应该包含包的信息。    Servlet访问方式的声明:           hello       /hello        其中,和Servlet声明中的用法相同,并且应该与Servlet声明中的名字保持一致。表示访问方式,决定了在客户端如何访问这个Servlet。 5、访问Servlet    http://127.0.0.1:8080/bookstore/hello 6、用Servlet完成login_process.jsp的功能     login_process.jsp主要功能,判断用户输入的用户名和口令是否合法,然后根据判断的结果选择界面对用户响应。     对于JSP文件来说,优势在于显示信息,login_process.jsp中的代码都不是显示信息的,主要用于控制。在Java Web应用中存在大量的这种现象。是Java Web中的控制功能。主要使用Servlet完成控制。     login_process.jsp的基本功能:获取用户的输入信息;进行判断;转向。     如果使用Servlet完成,功能代码应该写在doGet或者doPost方法中。对应上面的3个功能分别实现如下:     获取用户信息:用户信息存储在doGet或者doPost方法的第一个参数中,所以从参数中获取,获取的代码为         String username = request.getParameter("username");         String userpass = request.getParameter("userpass");     判断:         if( username.equals("zhangsan") && userpass.equals("zhangsan") )     转向响应界面:         第一种方式:response.sendRedirect("index.jsp");         第二种方式:与功能相同         RequestDispatcher rd = request.getRequestDispatcher("index.jsp");  // 参数是要转向的页面         rd.forward(request,response); // 完成跳转 LoginProcessServlet.java代码如下: package servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class LoginProcessServlet extends HttpServlet {   public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException   {         // 获取用户输入的信息         String username = request.getParameter("username");         String userpass = request.getParameter("userpass");         if( username.equals("zhangsan") && userpass.equals("zhangsan") )         {            RequestDispatcher rd = request.getRequestDispatcher("success.jsp");  // 跳转到成功的页面            rd.forward(request,response); // 完成跳转         }else         {            RequestDispatcher rd = request.getRequestDispatcher("index1.jsp");  // 跳转到登录页面            rd.forward(request,response); // 完成跳转         }   }   public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException   {      doGet(request,response);   } } 配置文件中添加如下代码:           login_process       servlet.LoginProcessServlet               login_process       /login_process     修改index1.jsp的代码(修改form所在行),修改前:
修改后: *************************************************第四讲结束 阳光 2008-11-15 19:58:33 第五讲(参考《Java Web程序设计基础教程》第5、7章)1、JavaBean     JavaBean是使用Java语言编写的组件。组件是组成一个大的系统的一部分,并且组件能够完成特定的功能,能够共享。     可以认为JavaBean是Java类,但是具有特定的功能,并且这些功能是共享的。例如,连接数据库的功能可以封装单独的Java类,常用处理方法可以封装成JavaBean。 2、早期的JSP中提供的对JavaBean的支持    标签用于定义JavaBean的对象;标签用于设置JavaBean的属性;用于获取并输出JavaBean的属性。    因为Java Web中,很少在JSP中直接访问JavaBean,所以实际上这些标签几乎没有用。现在主要在Servlet中访问JavaBean。 3、JavaBean的编写和用法    例:以用户信息验证为例介绍JavaBean的编写。    1)声明包 package bean;    2)引入相应的类或者包 import java.sql.*; // java.sql是访问数据库所需要的包    3)类头的定义 public class UserBean    4)成员变量 private String username; private String userpass;    5)构造方法 // JavaBean要求应该提供一个无参数的构造方法    public UserBean(){    }    public UserBean(String username,String userpass){       this.username = username;       this.userpass = userpass;    }    6)对属性进行操作的方法    包括获取属性值的方法和对属性进行赋值的方法。    命名方法:    对于普通属性来说,如果属性为a,应该提供setA(属性类型 a)方法和getA()方法。    对于布尔类型的属性来说,应该提供类似于isA()方法。    public void setUsername(String username){       this.username = username;    }    public String getUsername(){       return username;    }    public void setUserpass(String userpass){       this.userpass = userpass;    }    public String getUserpass(){       return userpass;    }    7)功能类方法    该JavaBean完成的功能是判断用户信息是否合法,需要在JavaBean中编写相应的方法。      public boolean login(){       return username.equals(userpass);    }    8)编译JavaBean    9)部署    所有的Java类都应该放在WEB-INF下面的classes下面,所以该JavaBean也应该放在这个地方。 4、使用JDBC的准备工作    JDBC是Java DataBase Connectivity的缩写,是一组标准的接口,用于完成Java应用与各种数据库之间的交互。    要使用JDBC需要做哪些准备工作?    1)创建数据库    2)得到JDBC驱动程序,驱动程序是完成具体的交互过程的,每种数据库有自己特定的驱动程序,从数据库管理系统的提供商的网站下载    3)要知道数据库的相关信息:JDBC驱动程序的名字、数据库的位置、数据库的端口、用户名和口令、url的格式(建立连接的时候用)    注意:我们使用JDBC-ODBC桥的方式连接数据库。JDBC-ODBC桥是一种类型的驱动程序,共有4种类型的驱动程序,JDBC-ODBC桥是建立在ODBC数据源基础上的。驱动是JDK中附带的,不用下载。 5、创建数据库及测试数据 create table usertable (    username varchar(10) primary key,    userpass varchar(10) ) insert into usertable values('lisi','lisi'); insert into usertable values('zhangsan','zhangsan'); 6、创建ODBC数据源    在开始--〉设置--〉控制面板-->管理工具--〉数据源(ODBC)  设置ODBC数据源的名字为bookstore 7、修改login方法,通过数据库进行验证    1)使用JDBC连接数据库的基本过程    加载驱动程序;    建立与数据库之间的连接;    创建一个执行SQL语句的语句对象;    编写要执行的SQL语句;    使用语句对象执行SQL语句;    如果有结果,需要对结果进行处理;    关闭相关对象;    注意:异常处理。    2)修改login方法    public boolean login() throws Exception{       // return username.equals(userpass);       // 第一步:加载驱动程序,如果使用其它的驱动程序,写出相应的名字即可       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");       // 第二步:建立连接,第一个参数是url(定位数据库),第二个参数是用户名,第三个参数是口令       Connection con = DriverManager.getConnection("jdbc 阳光 2008-11-15 19:59:34 第六讲(参考《Java Web程序设计基础教程》第6、9章) 1、分析登录功能    界面:登录界面index1.jsp;登录成功的界面login_success.jsp。    功能:UserBean的login方法完成登录的判断。    Servlet:LoginServlet.java       (1)接收用户输入的用户名和口令(2)调用UserBean的login方法进行判断(3)根据方法的返回值选择界面响应。 2、MVC模式     M表示模型,主要表示系统中的功能处理部分。例如,上面的UserBean就是一个模型,描述用户信息以及相关功能。     V表示视图,表示系统中与人进行交互的部分。例如,上面的index1.jsp和login_success.jsp。     C表示控制器,建立模型与视图之间的关联关系。例如,上面的LoginServlet.java。        输入界面直接调用控制器,控制器接收用户在输入界面上输入的信息,控制器把信息传递给模型,调用模型的方法,方法会给控制器返回一个值,控制器根据这个值选择输出界面对用户响应。     MVC模式把系统的每一个功能都分解成这个3个部分。然后分别实现。 3、采用MVC模式实现注册功能     一般先考虑V,包括输入界面和输出界面,对于注册功能来说,输入是注册界面,输出是注册成功或者失败的界面,通常使用JSP文件。     接下来考虑M,功能如何实现,对于注册功能来说,需要把用户提交的信息写到数据库中。需要在UserBean中编写添加用户的方法。     考虑C,如何协调M和V。需要编写Servlet,在doGet或者doPost方法中主要完成:接收输入;调用UserBean的方法;选择界面响应。 4、创建注册用的表 create table usertable2 (    username varchar(10) primary key,    userpass varchar(10),    sex char(2),    fav varchar(20),    degree varchar(8),    comment varchar(100),    email varchar(30) ) 5、V部分    采用原来的register.jsp和success.jsp。 6、M部分       在UserBean中添加方法,add方法。方法代码如下:    public boolean add(){       // 定义变量       Connection con = null;       PreparedStatement stmt = null;       String driverClass = "sun.jdbc.odbc.JdbcOdbcDriver";       String url = "jdbcdbc:bookstore";       String sql = "insert into usertable2 values(?,?,?,?,?,?,?)";       boolean success = true;       try{          // 第一步:加载驱动          Class.forName(driverClass);          // 第二步:建立连接          con = DriverManager.getConnection(url,"","");          // 第三步:创建语句对象          stmt = con.prepareStatement(sql);          // 第四步:对SQL语句中参数赋值          stmt.setString(1,username);          stmt.setString(2,userpass);          stmt.setString(3,sex);          stmt.setString(4,fav);          stmt.setString(5,degree);          stmt.setString(6,comment);          stmt.setString(7,email);          // 第五步:执行SQL语句          int n = stmt.executeUpdate();          // 执行没有结果集返回的SQL语句使用executeUpdate方法,方法的返回值是整数,表示操作成功的记录数          if(n==0)             success = false;       }catch(Exception e){          success = false;          System.out.println(e.getMessage());       }finally{          try{ stmt.close(); }catch(Exception ee){}          try{ con.close(); }catch(Exception ee){}       }       return success;    } 7、C部分     编写Servlet,完成添加的控制。控制器的代码如下: package servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import bean.*; public class AddUserServlet extends HttpServlet {   public void doGet(HttpServletRequest request,HttpServletResponse response) thr
本文档为【超好的JSP快速入门教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_348704
暂无简介~
格式:doc
大小:160KB
软件:Word
页数:0
分类:互联网
上传时间:2012-04-10
浏览量:11