Ext表单提交乱码问题解决方案

Ext表单提交乱码问题解决方案
Ext表单提交乱码问题解决方案

Ext表单提交乱码问题解决方案

网上的解决方案有的是将所有的文件编码统一换成Utf-8,还有就是修改Ext-base.js中的源代码,在Ext3.0中那些问题都已经被解决但是还是会有乱码现象,因此尝试本文的解决方案:

假如提交的中文字符放在str中,则str = new String(URLDecoder.decode(str).getBytes("ISO-8859-1"),"UTF-8");

通过这一句话就可以解决乱码问题。

原因:在提交的过程中,默认的编码格式为ISO-8859-1,因此出现问题,强制转换一次即可。

第二种方法(比第一种好用):

在配置formpanel的时候,配置选项:enctype:'multipart/form-data;charset=utf-8',其中'multipart/form-data表示将要上传文件,关键的是设置字符集为Utf-8(;charset=utf-8),注意在上传文件时一般将fileUpload选项配置成true,但是配置此项后enctype无效,因此为了保证不出现乱码,应该不配置fileUpload,而在enctype中指明类型为上传文件。enctype 与fileUpload配置在效果上是等效的。

终极解决方案:

设置一个过滤函数,每当请求或者回复的时候自动进行编码。在web.xml中设置一个监听方法的配置用来进行编码:

setEncoding

com.guet.function.filter.ToUnicode

然后配置其作用范围,我们配置的是对所有的请求都进行编码转换。

setEncoding

/*

配置说明,过滤器的名字为setEncoding,注意两个名字都一样。第一个指明其实现的类,第二个指明其过滤的范围。

类的具体实现为:

package com.guet.cab.base.Filter;

import java.io.*;

import javax.servlet.*;

public class EncodingFilter implements Filter {

public void init(FilterConfig filterConfig) throws ServletException {

}

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

try {

request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

} catch (Exception e) {

}

chain.doFilter(request, response);

}

public void destroy() {

}

};

有了第三种终极的解决方案,就可以在第二种方法中将uploadData设置为true,如果这项不配置,可能出现不能上传文件的情况。

解决keil不能设置字体和颜色的问题

很多朋友都在想,怎么让keil C51与ARM能够并存使用。有安装经验的朋友都知道,安好C51后再安ARm,C51不能正常工作;安好ARM后再安C51,ARM不能正常工作. 网上也有相关解决办法,不过不怎么样,要么不详细,要么就是复制粘贴。不多说看图片: 我想大家一定发现问题了,就是在c51的编译器等目录下面没有他的目标路径而arm有,所以他肯定会提示工具不匹配之类的问题。解决方法很简单,根据ARM的样子也写个路径就OK了, 第一:先安装C51(必须先安装C51,不能先安装ARM,否则会失败。) 第二:安装keil ARM(不能安装在同一个文件夹下)

我当前安装的是mdk arm4.53 第三:打开keil c51和keil arm 两个文件夹,分别找到tools.ini

分别打开两个“tools.ini”,将keil C51文件夹下的tools.ini文件中[C51]段复制到keil ARM中tools.ini文件的最后;将keil ARM文件夹下的tools.ini文件中[ARM]段复制到keil C51中tools.ini文件的最后: tools.ini -->keil ARM [UV2] ORGANIZATION="小川电子工作室" NAME="小川电子工作室", "小川电子工作室" EMAIL="paulhyde@https://www.360docs.net/doc/7017886363.html," ARMSEL=1 BOOK0=UV4\RELEASE_NOTES.HTM("uVision Release Notes",GEN) [ARM] PATH="D:\Keil ARM\ARM\" VERSION=4.50 PATH1="C:\Program Files\arm-none-eabi-gcc-4_6\" TOOLPREFIX=arm-none-eabi- CPUDLL0=SARM.DLL(TDRV0,TDRV5,TDRV6,TDRV10) # Drivers for ARM7/9 devices CPUDLL1=SARMCM3.DLL(TDRV1,TDRV2,TDRV3,TDRV4,TDRV5,TDRV7,TDRV8,TDR V9,TDRV11,TDRV12,TDRV13) # Drivers for Cortex-M devices CPUDLL2=SARMCR4.DLL(TDRV7) # Drivers for Cortex-R4 devices BOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN) BOOK1=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C) BOOK2=HLP\RL_RELEASE_NOTES.HTM("RL-ARM Release Notes",GEN)

Keil C编译器常见警告与错误信息的解决方法

1.Warning280:’i’:unreferenced local variable 说明局部变量i在函数中未作任何的存取操作 解决方法消除函数中i变量的宣告 2Warning206:’Music3’:missing function-prototype 说明Music3()函数未作宣告或未作外部宣告所以无法给其他函数调用 解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void),即作外部宣告 3Compling:C:\8051\MANN.C Error:318:can’t open file‘beep.h’ 说明在编译C:\8051\MANN.C程序过程中由于main.c用了指令#include“beep.h”,但却找不到所致 解决方法编写一个beep.h的包含档并存入到c:\8051的工作目录中 4Compling:C:\8051\LED.C Error237:’LedOn’:function already has a body 说明LedOn()函数名称重复定义即有两个以上一样的函数名称 解决方法修正其中的一个函数名称使得函数名称都是独立的 5***WARNING16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT:?PR?_DELAYX1MS?DELAY 说明DelayX1ms()函数未被其它函数调用也会占用程序记忆体空间 解决方法去掉DelayX1ms()函数或利用条件编译#if…..#endif,可保留该函数并不编译 6***WARNING6:XDATA SPACE MEMORY OVERLAP FROM:0025H TO:0025H 说明外部资料ROM的0025H重复定义地址 解决方法外部资料ROM的定义如下 Pdata unsigned char XFR_ADC_at_0x25其中XFR_ADC变量的名称为0x25,请检查是否有其它的变量名称也是定义在0x25处并修正它 7WARNING206:’DelayX1ms’:missing function-prototype C:\8051\INPUT.C Error267:’DelayX1ms‘:requires ANSI-style prototype C:\8051\INPUT.C 说明程序中有调用DelayX1ms函数但该函数没定义即未编写程序内容或函数已定义但

Keil编译常见问题

Error: L6200E Error: L6200E: Symbol temp multiply defined (by and .在编译的时候出现了这个问题,但是检查不出来,希望各位大侠帮帮忙 什么变量你给付了两次值 你看看是不是那个外部变量你又给赋值了 申明,其他.c文件对应的.h文件中用extern引用 error: #20 error: #20: identifier "TIM2_IRQChannel" is undefined 谁能说说,哪里错了 你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。 TIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中 warning: #1-D (7): warning: #1-D: last line of file ends without a newline 当使用keil编译时,弹出这样的警告信息:(7): warning: #1-D: last line of file ends without a newline 这个是由于在main函数的“}”后,没有加回车。 只要在main函数的“}”后加回车键,此警告信息即可消除。 error:#65 ...(27):error:#65:expected a ";"

分数送你了,问题在你回答之前已经解决了,头文件里的结构体定义里的最后一行没有加";" 如NB menu{..}; error:#1113: 折腾了大半天,才搞明白一个空操作的指令 先在网上查有的说是__asm{NOP;},从里调用,可犄角旮旯全找了,也没看到什么的文件。如果直接用,就出现error:#1113:InlineassemblernotpermittedwhengeneratingThumbcode 最后搜索这条错误,知道是因为__asm("指令");这种语法是内联汇编(inlineassembly)的语法。而RMDK下,内联汇编仅支持ARM汇编语言,不支持Thumb或者Thumb-2汇编语言;但内嵌汇编器支持Thumb和Thumb-2。 __asm放到一个单独的子函数再被调用就没问题了 如下: __asmvoidnop(void) { NOP } 然后在之后的C代码中调用该函数: voidmain() { ... nop(); ...? }

表单提交中文乱码问题

jquery.form 提交中文时乱码(GBK 乱码)的解决方案 分类:jQuery2009-11-18 21:58 1758人阅读评论(0) 收藏举报 在使用jsp开始时,一不小心就会出现中文乱码的情况。通常可以使用如下方法解决: 第一种解决方法: 从jsp到servlet统一使用utf-8编码.全部使用utf-8编码能省去很多麻烦,但一点不足是utf-8编码对汉字是使用3-4个字节,会加大网络传输量。 第二种方法: 1.jsp页面使用GBK 2.使用servlet过滤器设置request.setCharacterEncoding("GBK");google一下就能找到很多怎么使用过滤器转换编码。 以上两种方法能解决大部分的乱码问题,特别是第一种方法,能解决使用ajax提交时的中文乱码问题。如果采用第二种方法,那么在使用ajax提交表单时仍然会有中文乱码。这是因为ajax方式提交时js使用的是utf-8的编码,过滤器使用gbk进行转码就不正确了,应该使用utf-8进行转码。要解决这个问题,网上也有很多个版本,其中一个是我曾经采用的在客户端使用encodeURI,然后再在服务器端进行URLDecoder.decode,这种方案在偶尔处理一下中文是可行的,但是如果页面有大量数据录入,那么这种方案是不可行的。有没有好的解决方法呢?在经过新一轮的google之后,还是找到了方法。参考 https://www.360docs.net/doc/7017886363.html, /topic/157698?page=1。原理就是根据httpheader中的内容来区分是ajax方式请求还是普通的请求。在jquery1.2.6中,ajaxSettings默认设置contentType 为"application/x-www-form -urlencoded",在ajax方法中设置 xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");,我们只要在servlet中根据这两个参数值来判断是不是通过xmlhttprequest发起的请求。这里值得一提的是jquery 在提交form 时对参数进行了encodeURIComponent调用,参见param方法 [javascript]view plainc opy 1.jQuery .each( a, function(){ 2. s.push( encodeURIComponent(this .name) + "=" + encodeURIComponent( thi s .value ) ); 3.});

Keil5编译问题

cannot open source input file “core_cm4.h”解决方法 装了比MDK5.11A更高版本的MDK后,可能出现编译标准例程报如下错误: ..\SYSTEM\sys\stm32f4xx.h(470): error: #5: cannot open source input file "core_cm4.h": No such file or directory 实际出错是在stm32f4xx.h,如图1所示: 图1 找不到core_cm4.h路径. 该core_cm4.h文件在stm32f4xx.h里面被引用,实际上是ARM CMSIS的东西,路径在MDK 安装路径下,为: MDK安装目录\ARM\Pack\ARM\CMSIS\4.1.1\CMSIS\Include

一般来说,装了CMSIS支持包就应该可以找到才对,但是部分客户电脑无法找到,原因未知. 不过,我们可以通过手动制定路径的办法,解决这个问题. 添加方法:点击魔术棒-->C/C++选项卡-->Include Paths ,选择我们MDK安装目录,找到\ARM\Pack\ARM\CMSIS\4.1.1\CMSIS\Include,如图2所示: 图2 手动添加CMSIS头文件路径. 之后,多次点击确认,回到主界面. 再重新编译,即可解决问题. 方法二: 个人建议,当找到上述的路径之后,可以看到include目录,所以可以直接将当前的目录拷贝出来(不过要注意MDK版本),直接放到当前工程的目录下,通过魔术棒-?C++-?include

包含以下编译就OK,(以后对新工程的使用方便快捷(MDK版本没有发生变化的情况下)),具体的操作见下图: keil5 编译程序出现错误Error: L6411E: No compatible library exists with a definition of startup symbol __main Error: L6411E: No compatible library exists with a definition of startup symbol __main. 之前装过ADS,ADS与MDK冲突,依据网友提供的资料,最终的解决办法如下 在我的电脑点击属性>高级系统设置>高级>环境变量>在系统变量中>新建

url中文乱码解决大全

使用tomcat 时,相信大家都回遇到中文乱码的问题,具体表现为通过表单取得的中文数据为乱码。 一、初级解决方法 通过一番检索后,许多人采用了如下办法,首先对取得字符串按照 iso8859-1 进行解码转换,然后再按照gb2312 进行编码,最后得到正确的内容。示例代码如下: http://xxx.do?ptname='我是中国人' String strPtname = request.getParameter("ptname"); strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8"); String para = new String( request.getParameter("para").getBytes("iso8859-1"), "gb2312"); 具体的原因是因为美国人在写tomcat 时默认使用iso8859-1 进行编码造成的。 然而,在我们的servlet 和jsp 页面中有大量的参数需要进行传递,这样转换的话会带来大量的转换代码,非常不便。 二、入门级解决方法 后来,大家开始写一个过滤器,在取得客户端传过来的参数之前,通过过滤器首先将取得的参数编码设定为gb2312 ,然后就可以直接使用getParameter 取得正确的参数了。这个过滤器在tomcat 的示例代码 jsp-examples 中有详细的使用示例, 其中过滤器在web.xml 中的设定如下,示例中使用的是日文的编码,我们只要修改为gb2312 即可 1.Set Character Encoding 2.filters.SetCharacterEncodingFilter 3. 4.encoding 5.EUC_JP 6. 7.

KEIL常见警告与错误的解决办法.doc

KEIL常见警告与错误的解决办法 1. Warning 280:?i?:unreferenced local variable 说明局部变量i 在函数中未作任何的存取操作 解决方法消除函数中i 变量的宣告 2.Warning 206:?Music3?:missing function-prototype 说明Music3( )函数未作宣告或未作外部宣告所以无法给其他函数调用 解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void),即作外部宣告3. Compling :C:\8051\MANN.C Error:318:can?t open file …beep.h? 说明在编译C:\8051\MANN.C 程序过程中由于main.c用了指令 #include “beep.h”,但却找不到所致 解决方法:编写一个beep.h的包含档并存入到c:\8051 的工作目录中 4. Compling:C:\8051\LED.C Error 237:?LedOn?:function already has a body 说明LedOn( )函数名称重复定义即有两个以上一样的函数名称 解决方法:修正其中的一个函数名称使得函数名称都是独立的 5. WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS

SEGMENT: ?PR?_DELAYX1MS?DELAY 说明DelayX1ms( )函数未被其它函数调用也会占用程序记忆体空间解决方法:去掉DelayX1ms( )函数或利用条件编译#if …..#endif,可保留该函数并不编 译 6. WARNING 6 :XDATA SPACE MEMORY OVERLAP FROM : 0025H TO: 0025H 说明外部资料ROM 的0025H 重复定义地址 解决方法:外部资料ROM 的定义如下 Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC 变量的名称为0x25,请检查是否有其它的变量名称也是定义在0x25 处并修正它 7. WARNING 206:?DelayX1ms?: missing function-prototype C:\8051\INPUT.C Error 267 :?DelayX1ms …:requires ANSI-style prototype C:\8051\INPUT.C 说明程序中有调用DelayX1ms 函数但该函数没定义即未编写程序内容或函数已定义但未作宣告 解决方法:编写DelayX1ms 的内容编写完后也要作宣告或作外部宣告可在delay.h的包含档宣告成外部以便其它函数调用 8. WARNING 1:UNRESOLVED EXTERNAL SYMBOL

keil常见错误及解决办法

查看文章 【转】 KEIL C编译器常见警告与错误信息的解决办法 2010-09-03 16:21 转载自朝阳暮鼓 最终编辑朝阳暮鼓 KEIL C编译器常见警告与错误信息的解决办法 1. Warning 280:’i’:unreferenced local variab le 说明局部变量i 在函数中未作任何的存取操作 解决方法消除函数中i 变量的宣告 2 Warning 206:’Music3’:missing function-prototype 说明Music3( )函数未作宣告或未作外部宣告所以无法给其他函数调用 解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数 则要写成extern void Music3(void),即作外部宣告 3 Compling :C:\8051\MANN.C Error:318:can’t open file ‘beep.h’ 说明在编译 C:\8051\MANN.C 程序过程中由于main.c 用了指令#include “beep.h”,但却找不到所致 解决方法编写一个beep.h 的包含档并存入到c:\8051 的工作目录中 4 Compling:C:\8051\LED.C Error 237:’LedOn’:function already has a body 说明LedOn( )函数名称重复定义即有两个以上一样的函数名称 解决方法修正其中的一个函数名称使得函数名称都是独立的 5 ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_DELAYX1MS?DELAY 说明DelayX1ms( )函数未被其它函数调用也会占用程序记忆体空间 解决方法去掉 DelayX1ms( )函数或利用条件编译#if …..#endif,可保留该函数并不编译 6 ***WARNING 6 :XDATA SPACE MEMORY OVERLAP FROM : 0025H TO: 0025H 说明外部资料ROM 的0025H 重复定义地址 解决方法外部资料ROM 的定义如下 Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC 变量的名称为0x25,请检查是 否有其它的变量名称也是定义在0x25 处并修正它

上机考试题目.doc

操作题: 1、使用jsp完成一个java web项目,实现用户登录功能,三个页面 登录页面login.jsp,登录逻辑处理页面loginSubmit.jsp,欢迎页面welcome.jsp。 用户在登录页面输入用户名和密码,如果用户名为”admin”,密码为”123”,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。(无须连接数据库) 2、使用jsp+servlet完成一个java web项目,实现用户登录功能,两个页面, 一个servlet。 登录页面login.jsp,欢迎页面welcome.jsp,登录逻辑loginservlet。用户在登录页面输入用户名和密码,如果用户名为”admin”,密码为”123”,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。 3、使用jsp完成一个java web项目,实现用户登录功能,三个页面 登录页面login.jsp,登录逻辑处理页面loginSubmit.jsp,欢迎页面welcome.jsp。 用户在登录页面输入用户名和密码,如果数据库中存在,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。(须连接数据库,sqlserver和access 均可) 4、使用jsp+servlet完成一个java web项目,实现用户登录功能,两个页面, 一个servlet。 登录页面login.jsp,欢迎页面welcome.jsp,登录逻辑loginservlet。用户在登录页面输入用户名和密码,如果数据库中存在,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。(须连接数据库,sqlserver和access均可) 5、使用jsp完成一个java web项目,实现用户登录功能,三个页面 登录页面login.jsp,登录逻辑处理页面loginSubmit.jsp,欢迎页面welcome.jsp。 用户在登录页面输入用户名和密码,前台页面使用js进行验证,如果用户名或密码为空,则提示用户输入用户名和密码;如果用户名为”admin”,密码为”123”,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。(无须连接数据库) 6、使用jsp完成一个java web项目,实现用户登录功能,三个页面 登录页面login.jsp,登录逻辑处理页面loginSubmit.jsp,欢迎页面welcome.jsp。 用户在登录页面输入用户名和密码,前台页面使用js进行验证,如果用户名或密码为空,则提示用户输入用户名和密码;如果密码小于6位,则提示输入的密码长度不够;如果用户名为”admin”,密码为”12345678”,则登录成功跳转到欢迎页面,如果失败,停留在登录页面。(无须连接数据库) 7、使用jsp完成一个java web项目,实现用户登录功能,三个页面 登录页面login.jsp,登录逻辑处理页面loginSubmit.jsp,欢迎页面welcome.jsp。 用户在登录页面输入用户名和密码,如果用户名为”admin”,密码为”123”,则登录成功跳转到欢迎页面,欢迎页面上输出:“欢迎你!”+用户名。如果失败,停留在登录页面。(无须连接数据库)

KEIL中warning解决方法

KEIL 中 warning解决方法 在做数据处理的时候,出现warning: #223-D: function "abs" declared implicitly 添加:float abs(float __x);解决:仔细衡量所定义的变量d是否有用,若是认定变量d所在语句有意义,那么尝试用volatile关键字修饰变量d,若是真的没有用,那么删除掉以释放可能的内存. : #1-D: last line of file ends without a newline 描述:文件最后一行不是新的一行.编译器要求程序文件的最后一行必须是空行,想了半天没想通为什么要这样. 解决:可以不理会.若是觉得出现警告不爽,那么在出现警告的文件的最后一行敲个回车,空出一行. 3. warning: #111-D: statement is unreachable 描述:声明不可能到达.多出现在这种场合: int main(void) { ... while(1) . } return 0; 4. warning: C3017W: data may be used before being set 描述:变量'data'在使用前没有明确的赋值.如: uint8 i,data; 个警告应引起足够重视.应养成变量赋初值的习惯,好在有编译器给把关. 5. warning: #177-D: variable "temp" was declared but never referenced 描述:变量'temp'进行了声明但没有引用.多出现在声明了一个变量,但却没有使用它,它和warning: #550-D: variable "temp" was set but never used不同之处在于temp从没有使用过. 解决:若是定义的变量确实没有用,删除掉;若是有用,则在程序中使用. 与该警告类似的还有warning: #177-D: function "MACProcessBeacon" was declared but never referenced 6. warning: #940-D: missing return statement at end of non-void function "DealwithInspect2" 描述:返回非空的函数"DealwithInspect2"的最后缺少返回值声明.如: int DealwithInspect2(uint32 test) { ... ... ...

keil4 常见问题处理办法

keil 4 中的一些常见问题处理办法 keil 软件对于一个单片机编程者来说已经再熟悉不过了,我们都用得很多,但往往我们应用时总会遇到这样那样的问题,但又苦于无法解决,最终只能凑合着用。下面我就个人经验对部分问题的解决方法给大家分享一下,也为初学者打点keil的应用基础。不管他是哪个版本的,其处理办法基本都差不多,甚至可以说是完全一样的,下面我们就谈点实际的问题。 1、keil 4 中注释时,为什么不能打进汉字,都是方框? 其处理方法:Edit -> Configuration,点击Colors & Fonts选项卡,在Window列表中选择Editor C Files,在右侧选择字体Courier,Use color in Comments 不能打钩.

在做完上面的操作后,我来进行一下前后比较: 显示效果如下: 1、操作前: 如果后面注释的黑线是方框,操作一样,但要适当改变字体(eg:宋体、新宋体都行)。 2、操作后显示效果: 通过显示我们可以很直观的看到,注释中的文字已经清楚的显示了出来。 2、改变关键字颜色: 方法:Edit -> Configuration->Colors & Fonts->Editor C Files->keyword->选择foreground为任意你想要的颜色(蓝色)。

显示效果如下: 通过这一系列操作后,你可以将不同类型的数据改成你想要的颜色,方便你的编程和查错。

3、当前操作行底纹颜色和选中文字颜色设置:(1)当前工作行底纹和选中其文字设置: 显示效果: (2)当前选中文字颜色和底纹显示:

显示效果: 通过该项操作后,你可以快速的找到你所编辑的区域,行数,甚至行段。

javaWEB项目答辩

JSP 项目答辩问题 1.什么是B/S、C/S? 答案:C/S 结构:Client/Server(客户端/服务器),桌面安装应用程序(QQ、斗地主、MSN)。 B/S结构:Browser/Server(浏览器/服务器), Web应用程序(WebQQ、OA、网页游戏)。 2.HTTP常见状态码? 答案: 200 成功 401 客户端没有访问权限 404 路径错误 500 服务器产生内部错误 3.传值方式get/post? 答案: 客户端向服务器传递数据有两种方式(通过form表单实现):get 和post Get: 有长度限制(数据量小),浏览器地址栏可以看见传递的参数。默认使用get方式传值。Post:无长度限制(数据量大),地址栏不可见(相对安全)。 4.Servlet的生命周期? 答案: 1. 实例化(执行构造方法)---> 2. 初始化(执行init()方法)---> 3.服务(根据get或post 请求执行相应的doGet()或doPost()方法)---> 4. 销毁(执行destroy()方法) 5.页面跳转的两种方式? 答案: 内部跳转和外部跳转。 内部跳转使用:request. getRequestDispatcher (“跳转的路径”).forward(request,response); 外部跳转使用:response.sendRedirect(“跳转的路径”); 注意:两者之间的区别,内部跳转请求在服务器内部完成,相当于一次请求;而外部跳转客户端会发送两次请求;

6.内部跳转和外部跳转区别? 答案: 内部跳转与外部跳转区别: 1.内部跳转:浏览器的地址栏不会发生改变。request中的参数值,会被保留到新的页面。 2.外部跳转:浏览器地址发生改变(相当于二次请求)。第一次request中的参数值,不会 被保留。 7.Post提交如何处理中文? 答案: request.setCharacterEncoding("gbk"); response.setCharacterEncoding("gbk"); 注意:这种中文处理方式只能用来处理post提交 必须写在方法的第一行。 8.Get提交如何处理中文? 答案: String conver_sex = new String(sex.getBytes("iso-8859-1"),"gbk"); 注意:这种方式只能用来处理get提交 9.JSP页面元素的构成? 答案: 静态内容就是jsp页面中的html标签,css,javascript代码 指令<%@ 指令名属性=“值”%> 其中最常用的page指令:page指令主要是用于控制整个jsp页面的 信息 声明<%! 可以定义变量,定义方法%> 声明:就是将当前的jsp页面,看成一个Java类。 例如: <%!

文件编码规则

XXX有限公司 文件编码规则 QWXX-XX-001 编制: 审核: 批准: 执行日期: XXX有限公司 文件编码规则

QWXX-ZB-001 1.目的 为对产品质量体系所涉及的文件实施有效的控制,确保在使用处可获得适用文件的有效版本,特制定本办法。 2范围 质量手册,程序文件,管理办法和记录表格。 3职责 质量管理处负责管理文件编码规则的制定,各部门负责按照文件编码规则的执行。 4 内容 4.1 文件编码方法 4.1.1质量手册: QM-XX-XXXX 手册年代“2007” 公司名称的汉语拼音首字母大写 QM代表质量手册 4.1.2程序文件 QPXX/□-□□-01 程序文件编号从01开始,顺序编号 程序文件所在标准章节号 程序文件类型 QP代表程序文件,XX代表XX公司 4.1.3管理办法、规范类: QWXY--01

部门文件编号从01开始,顺序编号 文件所属部门代码 QW代表三级文件,XX代表XX公司 4.1.4管理表格记录 记录表格编号从001开始,顺序编号 记录表格所属部门代码 QR代表记录表格,XX代表旭XX公司 4.2部门代码:编制原则是以部门名称前两个声母为准,若下级部门有相同代码则增加第三个字的声母进行区别,文件管理部门发放文件时给发放部门盖受控号章,各部门代码及受控号如下表: 4.3文件版本号 文件版本号按A、B、C----;文件更改状态号为0、1、2、3、---- 4.4.文件编制结构 4.4.1质量手册 按ISO/TS16949要求中的条款排列顺序编订各章节与项目并明确体现章节内项目所对应的程序文件。适当时可以自行增减部分章节。 4.4.2程序文件一般可采用如下格式进行编写: 1.目的

keil ARM与虚拟串口联调设置及解决办法

Keil ARM 与虚拟串口联调设置第一步:创建虚拟串口 使用工具:Configure Virtual Serial Port Driver 记住自己创建的两个虚拟串口 第二步:创建debug.ini 命令执行文件 Mode COM2 9600,0,8,1 assign com2 S2OUT 注意:1:串口选择与虚拟串口相同 2:串口工作波特率,校验方式,数据长度,停止位 assign com2 <输入寄存器> 输出寄存器 串口工作方式对应 9600,0,8,1

9600,1,8,1 9600,2,8,1 第三步:环境设置

第四步:全部编译 进入调试:开启仿真,打开串口调试助手。虚拟串口驱动显示工作方式

其他: 命令行也可以直接写命令在命令栏中,操作如下: 点击进入仿真模式,在命令行将debug.ini命令输入 错误解决办法: *** error 30, line 2: undefined name of virtual register 问题描述:虚拟寄存器没有定义 问题原因:命令assign com2 S2OUT中 S2OUT是没有定义的。可以通过dir vtreg命令查看可以寄存器

对将对应串口寄存器写入对应命令中 *** error 65: access violation at 0x40021000 : no 'read' permission 驱动没有调用正确 *** error 127, line 2: Com channel not opened, use MODE command first 命令:Mode COM4 9600,0,8,1 assign com4 S2OUT 中的串口选择错误,要确保与虚拟串口一致

HTML5页面编码要求规范

1 前言 HTML作为描述网页结构的超文本标记语言,在百度一直有着广泛的应用。本文档的目标是使HTML代码风格保持一致,容易被理解和被维护。 2 代码风格 2.1 缩进与换行 [强制] 使用4个空格做为一个缩进层级,不允许使用2个空格或tab字符。 示例: [建议] 每行不得超过120个字符。 解释: 过长的代码不容易阅读与维护。但是考虑到 HTML 的特殊性,不做硬性要求。 2.2 命名 [强制] class必须单词全字母小写,单词间以-分隔。 [强制] class必须代表相应模块或部件的内容或功能,不得以样式信息进行命名。 示例: [强制] 元素id必须保证页面唯一。 解释:

同一个页面中,不同的元素包含相同的 id,不符合 id 的属性含义。并且使用document.getElementById 时可能导致难以追查的问题。 [建议] id建议单词全字母小写,单词间以-分隔。同项目必须保持风格一致。 [建议] id、class命名,在避免冲突并描述清楚的前提下尽可能短。 示例: [强制] 禁止为了hook 脚本,创建无样式信息的class。 解释: 不允许 class 只用于让 JavaScript 选择某些元素,class 应该具有明确的语义和样式。否则容易导致 css class 泛滥。 使用 id、属性选择作为 hook 是更好的方式。 [强制] 同一页面,应避免使用相同的name与id。 解释: IE 浏览器会混淆元素的 id 和 name 属性, document.getElementById 可能获得不期望的元素。所以在对元素的 id 与 name 属性的命名需要非常小心。 一个比较好的实践是,为 id 和 name 使用不同的命名法。 示例:

keil软件编译常见错误解释总结和中文翻译

Keil编译时出现错误和警告的总结 和C 编译器错误信息中文翻译 (1)L15重复调用 ***WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?SPI_RECEIVE_WORD?D_SPI CALLER1: ?PR?VSYNC_INTERRUPT?MAIN CALLER2: ?C_C51STARTUP 该警告表示连接器发现有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,或者同时被多个中断服务程序调用。 出现这种问题的原因之一是这个函数是不可重入性函数,当该函数运行时它可能会被一个中断打断,从而使得结果发生变化并可能会引起一些变量形式的冲突(即引起函数内一些数据的丢失,可重入性函数在任何时候都可以被ISR打断,一段时间后又可以 运行,但是相应数据不会丢失)。 原因之二是用于局部变量和变量(暂且这样翻译,arguments,[自变量,变元一数值,用于确定程序或子程序的值])的内存区被其他函数的内存区所覆盖,如果该函数被中断,则它的内存区就会被使用,这将导致其他函数的内存冲突。 例如,第一个警告中函数WRITE_GMVLX1_REG 在D_GMVLX1.C 或者D_GMVLX1.A51被定义,它被一个中断服务程序或者一个调用了中断服务程序的函数调用了,调用它的函数是VSYNC_INTERRUPT,在MAIN.C中。 解决方法: 如果你确定两个函数决不会在同一时间执行(该函数被主程序调用并且中断被禁止),并且该函数不占用内存(假设只使用寄存器),则你可以完全忽略这种警告。 如果该函数占用了内存,则应该使用连接器(linker)OVERLAY指令将函数从覆盖分析(overlay analysis)中除去,例如: OVERLAY (?PR?_WRITE_GMVLX1_REG?D_GMVLX1 ! *) 上面的指令防止了该函数使用的内存区被其他函数覆盖。如果该函数中调用了其他函数,而这些被调用在程序中其他地方也被调用,你可能会需要也将这些函数排除在覆盖分析(overlay analysis)之外。这种OVERLAY指令能使编译器除去上述警告信息。 如果函数可以在其执行时被调用,则情况会变得更复杂一些。这时可以采用以下几种方法: 1.主程序调用该函数时禁止中断,可以在该函数被调用时用#pragma disable语句来实现禁止中断的目的。必须使用OVERLAY指令将该函数从覆盖分析中除去。 2.复制两份该函数的代码,一份到主程序中,另一份复制到中断服务程序中。 3.将该函数设为重入型。例如:

修改Keil C程序代码字体为微软雅黑及Keil C光标定位不准的解决办法

修改Keil C程序代码字体为微软雅黑及Keil C光标定位不准的解决办法 修改keil C程序代码字体: 常规设置:在keil C的菜单栏中,点击Edit,选择最下面的onfiguration...,进入之后点击Colors&Fonts标签,然后选中自己想要修改字体的项目,比如C 文件的程序代码,那么我们选择8051:Editor C Files,然后再在它的右边窗口选中Text,修改旁边的字体即可。 上面的常规设置人人都会,但是,这里面只有几个字体,如果我们不喜欢这些字体想把C语言程序代码和汇编语言程序代码的字体换成其他字体呢?例如微软雅黑,方法也是有的: 进入keil C的安装目录,在UV3目录下面用记事本打开A51.ini(这是汇编语言代码的)和C51.ini(这是C语言代码的),将 [Font] FaceName =XXXX Size =12 Italic =0 Bold =0 中FaceName=XXXX后面的字体名字修改为自己系统里面已经安装存在的字体名字即可,例如修改为FaceName=微软雅黑。当然,字体大小,斜体,加粗这些也是可以修改的,修改Size=12后面的数字就是字体大小,修改Italic=0为1就是变成斜体,修改Bold=0为1就是字体加粗。更多东西可以自己揣摩 A51.ini和C51.ini里面的代码。 重新打开keil C看看程序代码,是不是变成有雅黑字体了呢?雅黑字体看起来更舒服。当然,还有,很多人会发现,keil C经常出现光标没法准确定位位置,这个对不准位置的问题也还是很好解决的,方法就是用记事本打开keil C安装目录下面的TOOLS.ini,在 [UV2] ORGANIZATION="xhu" NAME="chuan", "huang" EMAIL="xhu" BOOK0=UV3\RELEASE_NOTES.HTM("uVision Release Notes",GEN) 添加一行代码“ANSI=1”即可。修改后的代码如下: [UV2] ORGANIZATION="xhu"

程序文件编号编码原则

一、目的:

为有效管理公司内部文件,及文件编号具有唯一性、统一性、识别性、控制性,达到 信息资料可追溯性、可延伸性的有效运转,特制定本编号、编码原则。 二、 适用范围: 适用于公司内部所有文件及表单记录文件的管理。 三、 文件用语定义: 1、一阶文件:管理手册类,如公司制度类。 2、二阶文件:程序文件,如工作流程等。 3、三阶文件:作业标准书,如岗位说明书等。 4、四阶文件:表单、通知类,如中个制度的附属表单。 四、 文件编码原则: 1 、文件编码、编号要求: 一般文件编码由企业统一代号G 、公司名称(即公司拼音最前1至2个字母大写)、文件阶别类型(即Ⅰ、Ⅱ、Ⅲ、Ⅳ表示)、部门代码(即部门英文字母最前1-2个字母大写)、文件日期(2至4位数字)、文件流水号(三到四个数字或字母)组成及文件版本号(A0~Z0表示)组成。 2、文件编码、编号格式举例: (1)以一级文件编号为例 (2)文件版本号说明 ◇文件的首版,其起始版本号应为A0。

◇对文件进行非实质性更改,每更改一次,该文件版本号应顺次提升数字位,如由AO 改为A1,、由A1改为A2等。 ◇对文件进行重大更改,整份重发,应顺次提升版本号整数位,数字位归零,如A1改为B0等。 (3)部门代码如下: GD——总经办HR——行政部 GAD——财务部CD——渠道部 DC——开发中心IC——形象中心 CC ——商品中心RC——零售中心 FC——特许中心 (4)以《员工手册》举例 文件版本号:A1 文件阶别:Ⅰ 文件编号:G-AQ--IMD-1016-001 二、执行日期 本编号编码原则从2016年10月1日起正式执行。

Keil C51汉字显示的bug问题

Keil C51汉字显示的bug问题(0xFD问题) Keil C51汉字显示的bug问题 一、缘起 这两天改进MCU的液晶显示方法,采用“即编即显”的思路,编写了一个可以直接显示字符串的程序。如程序调用disstr("我是你老爸");液晶屏上就会显示“我是你老爸”。 二、问题 但是,花了1天多时间辛辛苦苦改好的程序后,却发现有些汉字显示有问题。比如: P1:在第一行显示“实时参数”,第二行显示“工作状态”,实际上“工作状态”却重复显示了,除了在正确的地方显示外,还在“实时参数”后显示了。 P2:"正"字后若有":",则都显示成乱码。如果后面没有":",则"正"字可正确显示,但是后面却显示了后面的一行字。 P3:"过"字总显示乱码; 三、求索 通过调试发现,上述汉字显示不正常的时候,是因为在字库中找不到匹配的汉字。可是,自建的字库中明明有这些汉字,而且"数","正"字在后面无字符的时候是显示正确的啊! 问题找了好久,怀疑传参类型不对,汉字查找可能溢出等,反复修改,总是无法解决问题,而且从现象来思考,都不应该是这些问题。 今日灵光一现:为什么不在传递字符串后显示该字符串的变量值呢? 经过详细研究,西文字符在传递时应该是ACSII值,一个字节,数值小于128;而汉字传递的是其机内码,分高低2个字节,2个字节都大于127,当然并小于256。 字符串传递参数值一显示,可不得了。其惊人之处有: 1."数","正","过"正确显示时其传参值为:0xca00,0xd500,0xb900;而其正确的机内码应该是:0xca fd,0xd5fd,0xb9fd。看来其低位字节被无情忽视。 2."数","正","过"单独显示正确,但是后面带一个字符或汉字就显示乱码了。如"正:"传参的值为:0xd53a,0x0000;"数 "传参的值为:0xca20,0x0000。而":"和" "的ASCII值恰好是0x3a,0x20,看来这几个汉字是叛变到西文字符中去了,机内码只有一个高位字节了。 3.将传参值直接赋给汉字显示函数,如"过"用"0xb9,0xfd"是显示不了的,只能用"0xb9,0x00"。 4.比较发现,显示不正常的"数","正","过"三个字的低位字节都是0xfd,而一直显示正确的"一二"等汉字机内码的低位字节都不是0xfd。 莫非keil跟0xfd有不共戴天之仇? 四、解决 天涯茫茫寻不到,无奈只有上百度。用"keil c51的汉字显示问题"一搜就找到组织了,泪奔啊。组织的力量大,很快就给出了让我这等底层开发者劳累辛苦的原因:这是万恶的keil存在的一个臭名昭著的bug!伟大的组织同时无私的提供了答案,而且还不止一种哦。以下是从某同志的blog中摘录: “解决方法两个: ①下个晓奇工作室出的补丁,自己搜一下。(https://www.360docs.net/doc/7017886363.html,/mcu/) ②用十六进制编辑软件如HexEdit打开c51.exe,搜索80FBFD,改为80FBFF即可。 c51.exe位置:Keil安装目录/keil/c51/bin/c51.exe” 赶紧拿起前辈们提供的武器,向keil 0xfd bug发起猛烈冲锋!…… 待我重新烧录好程序,轻轻的打开电源,液晶屏幕上的一个个汉字显示得整齐而又干净,整个世界清静了…………

相关文档
最新文档