struts的国际化问题

一、 我在网上下载了一个 struts 结构的源程序,数据库是 MySQL,数据库里的字段只能输入一个汉字,超过的不显示。而且不能进行中文操作,页面显示乱码,我猜可能是建立连接时需要进行字符集的转换,这是一个外国人写的程序,我没找到到数据库连接的语句,不知如何是好,如果您肯帮助我,麻烦您把邮箱留一下,我 classes 发到您的邮箱里,请您帮我看一下应该怎样改?我万分感谢! 加一个转换中文的: package com.aurel.track.user; public class ToChinese { /** * 处理中文 * @param ss 待处理的字符串 * @return 处理之后的字符串 */ public String toChinese(String ss) { //处理中文问题 if (ss != null) { try { String temp_p = ss; byte[] temp_t = temp_p.getBytes("ISO8859-1"); ss = new String(temp_t); } catch (Exception e) { System.err.println("toChinese exception:" + e.getMessage()); System.err.println("The String is:" + ss); } } return ss; } } 在得到参数的时候,比如RegistrationForm 在RegistrationForm方法里面加上ToChinese mychinese = new ToChinese();,就像下面的一样: public final class RegistrationForm extends ActionForm { ToChinese mychinese = new ToChinese(); 得到参数时: public void setLoginName ( String loginName ) { this.loginName = mychinese.toChinese( loginName ); } } 就可以了,跟平常java的中文处理没什么两样 jdbc:mysql://127.0.0.1:3306/st?user=root&password=111111&useUnicode=true&characterEncoding=GBK struts中文的解决 转自 www.javaresearch.org 作者 fishandfly 1.使ApplicationResources.properties支持中文 建立一个ApplicationResources_ISO.properties文件,把应用程序用的message都写进去,然后在dos下执行这个命令, native2ascii -encoding gb2312 ApplicationResources_ISO.properties ApplicationResources.properties 这样就会将ISO编码的ApplicationResources转换成GB2312编码的格式了,同时保存到ApplicationResources.properties. native2ascii这个工具是jdk自带的一个东东,所以如果path都设定正确就可以直接运行了,你可以在$java_home$/bin下找到他。 转换后的中文类似于这个样子 iso 格式下 :tj.type=商品车类型 gb2312格式下 :tj.type=/u5546/u54c1/u8f66/u7c7b/u578b 然后在struts-config.xml中设置应用这个资源文件 开发jsp时在jsp的开头写上<%@ page contentType="text/html; charset=gb2312" %>,将字符集设置成gb2312就可以了。 2.使数据库操作支持中文。 数据库操作支持中文一直让我比较头痛,但是感谢善解人衣向我推荐了www.chinaxp.org,这个网站是用struts框架开发的,而且 开放源码,下载了源码后发现它的中文处理得很好,阅读部分源码,没有发现什么特殊的字符集转换,很纳闷,偶然看到楼上网友 留言知道原来servlet可以统一设置字符转换。chinaxp.org就是这么做的。 在web.xml中加上 Set Character Encoding com.huahang.tj.struts.filters.SetCharacterEncodingFilter encoding GB2312 ignore true Set Character Encoding action 这里会涉及一个bean,源码如下: /* * XP Forum * * Copyright 2002-2003 RedSoft Group. All rights reserved. * */ package com.huahang.tj.struts.filters; import javax.servlet.*; import java.io.IOException; /** *

Filter that sets the character encoding to be used in parsing the * incoming request, either unconditionally or only if the client did not * specify a character encoding. Configuration of this filter is based on * the following initialization parameters:

*
  • *
  • encoding - The character encoding to be configured * for this request, either conditionally or unconditionally based on * the ignore initialization parameter. This parameter * is required, so there is no default.
  • *
  • ignore - If set to "true", any character encoding * specified by the client is ignored, and the value returned by the * selectEncoding() method is set. If set to "false, * selectEncoding() is called only if the * client has not already specified an encoding. By default, this * parameter is set to "true".
  • *
* *

Although this filter can be used unchanged, it is also easy to * subclass it and make the selectEncoding() method more * intelligent about what encoding to choose, based on characteristics of * the incoming request (such as the values of the Accept-Language * and User-Agent headers, or a value stashed in the current * user's session.

* * @author John Wong * * @version $Id: SetCharacterEncodingFilter.java,v 1.1 2002/04/10 13:59:27 johnwong Exp $ */ public class SetCharacterEncodingFilter implements Filter { // ----------------------------------------------------- Instance Variables /** * The default character encoding to set for requests that pass through * this filter. */ protected String encoding = null; /** * The filter configuration object we are associated with. If this value * is null, this filter instance is not currently configured. */ protected FilterConfig filterConfig = null; /** * Should a character encoding specified by the client be ignored? */ protected boolean ignore = true; // --------------------------------------------------------- Public Methods /** * Take this filter out of service. */ public void destroy() { this.encoding = null; this.filterConfig = null; } /** * Select and set (if specified) the character encoding to be used to * interpret request parameters for this request. * * @param request The servlet request we are processing * @param result The servlet response we are creating * @param chain The filter chain we are processing * * @exception IOException if an input/output error occurs * @exception ServletException if a servlet error occurs */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // Conditionally select and set the character encoding to be used if (ignore || (request.getCharacterEncoding() == null)) { String encoding = selectEncoding(request); if (encoding != null) request.setCharacterEncoding(encoding); } // Pass control on to the next filter chain.doFilter(request, response); } /** * Place this filter into service. * * @param filterConfig The filter configuration object */ public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; this.encoding = filterConfig.getInitParameter("encoding"); String value = filterConfig.getInitParameter("ignore"); if (value == null) this.ignore = true; else if (value.equalsIgnoreCase("true")) this.ignore = true; else if (value.equalsIgnoreCase("yes")) this.ignore = true; else this.ignore = false; } // ------------------------------------------------------ Protected Methods /** * Select an appropriate character encoding to be used, based on the * characteristics of the current request and/or filter initialization * parameters. If no character encoding should be set, return * null. *

* The default implementation unconditionally returns the value configured * by the encoding initialization parameter for this * filter. * * @param request The servlet request we are processing */ protected String selectEncoding(ServletRequest request) { return (this.encoding); } }//EOC 加上这个后,在action中就可以直接从form中接收gb2312编码的数据了,返回时自然也是gb2312了。 但是这个好像需要servlet 2.2以上的容器 综合上面的方法,我解决了struts中的中文问题,现在还没发现新的问题。

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值