[原创]对于JSP/Servlet/JDBC的学习_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3166 | 回复: 0   主题: [原创]对于JSP/Servlet/JDBC的学习        下一篇 
yaoxia.wu
注册用户
等级:中校
经验:2318
发帖:53
精华:1
注册:1970-1-1
状态:离线
发送短消息息给yaoxia.wu 加好友    发送短消息息给yaoxia.wu 发消息
发表于: IP:您无权察看 2014-4-25 17:55:01 | [全部帖] [楼主帖] 楼主

[原创]对于JSP/Servlet/JDBC的学习

JSP的中文乱码问题

(1)JSP与页面参数之间的乱码:

JSP页面可以用下面语句来设置编码:<%@ page contentType="text/html; charset=UTF-8"%>、<%@ page pageEncoding="UTF-8"%>。JSP获取页面参数时一般采用默认的编码方式,如果页面参数的编码类型和系统默认的编码类型不一致,很有可能就会出现乱码。解决的方法是在页面获取参数之前,强制指定request获取参数的编码方式:request.setCharacterEncoding("UTF-8")。

(2)Java与数据库之间的乱码:

解决Java与数据库之间的乱码问题比较明智的方法是直接使用Unicode编码与数据库进行交互。如果乱码是源自数据库自身的,那第一步查询安装时字符集设置是否正确;第二步:检查客户端字符集设置是否正确;最后修改Oracle enterprise manage中的一个名为dbappscf.properties的配置文件,去掉注释符#,同时将其修改为SQLPLUS_NLS_LANG=AMERICAN_AMERICA.ZHS16GBK.

(3)Java与文件/流之间的乱码:

在读写字符文件时一般使用基于字符的FileReader和FileWriter,但这两个类的构造函数默认使用系统使用的编码方式,如果文件内容与系统的编码方式不一致,就可能出现乱码。这时建议使用它们的父类:InputStreamReader/OutputStreamWriter,它们在构造函数中可以指定编码类型:InputStreamReader(InputStream in,Charset cs)和OutputStreamWriter(OutputStream out,Charset cs).

(4)如果还是出现乱码,需要手动进行转码,通过调用类方法进行编码方式的转换。

Servlet生命周期分为三个阶段:

    1,初始化阶段  调用init()方法

    2,响应客户请求阶段  调用service()方法

    3,终止阶段  调用destroy()方法

Servlet工作原理:

    Servlet接收和响应客户请求的过程,首先客户发送一个请求,Servlet是调用service()方法对请求进行响应的,service()方法中对请求的方式进行了匹配,选择调用doGet,doPost等这些方法,然后再进入对应的方法中调用逻辑层的方法,实现对客户的响应。在Servlet接口和GenericServlet中是没有doGet,doPost等等这些方法的,HttpServlet中定义了这些方法,但是都是返回error信息,所以,每次定义一个Servlet的时候,都必须实现doGet或doPost等这些方法。

    每一个自定义的Servlet都必须实现Servlet的接口,Servlet接口中定义了五个方法,其中比较重要的三个方法涉及到Servlet的生命周期,分别是init(),service(),destroy()方法。GenericServlet是一个通用的,不特定于任何协议的Servlet,它实现了Servlet接口。而HttpServlet继承于GenericServlet,因此HttpServlet也实现了Servlet接口。所以我们定义Servlet的时候只需要继承HttpServlet即可。

Servlet接口和GenericServlet是不特定于任何协议的,而HttpServlet是特定于HTTP协议的类,所以HttpServlet中实现了service()方法,并将请求ServletRequest,ServletResponse强转为HttpRequest和HttpResponse。

Servlet与JSP的比较:

    有许多相似之处,都可以生成动态网页。

    JSP的优点是擅长于网页制作,生成动态页面比较直观,缺点是不容易跟踪与排错。

    Servlet是纯Java语言,擅长于处理流程和业务逻辑,缺点是生成动态网页不直观。

JDBC是一个标准的Java API,用于在一个统一的平台中以供应商无关的方式访问数据库。Java应用程���可以使用JDBC作为驱动访问数据库,执行SQL语句。通俗来讲,JDBC就是Java应用程序访问数据库的驱动。

Weblogic的JDBC配置中主要包括连接池和数据源两部分。到了9版本后,将连接池的配置包含进了Data Source的配置中。

在Weblogic控制台中创建数据源:在域结构中选择服务->JDBC->数据源->新建,可以选择数据库的类型,数据库名称,主机名,驱动程序类名称,URL等。

Weblogic中访问oracle数据库的连接池可以采用三种JDBC方式进行配置:
1.weblogic 方式, 使用weblogic的jDriver

属性 值 

URL : jdbc:weblogic:oracle
Driver Classes : weblogic.jdbc.oci.Driver
Properties (key=value): user=xixi
password=haha
server=your_tnsname


需要安装oracle的客户端

2. oracle JDBC的thin方式

属性 值 URL : jdbc:oracle:thin:@193.0.0.5:1521:ora8

Driver Classes : oracle.jdbc.driver.OracleDriver
Properties (key=value): user=xixi
password=haha
dll=ocijdbc8
protocol=thin


不需要安装oracle的客户端 , ora8为你要连接的数据库的SID

3.Oracle JDBC的OCI8方式

属性 值 

URL : jdbc:oracle:oci8:@your_tns
Driver Classes : oracle.jdbc.driver.OracleDriver
Properties (key=value): user=xixi
password=haha
dll=ocijdbc8
protocol=oci8




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论