Web中遇到的一些小问题的解决

一,过滤器处理破post乱码

  1,创建一个FIlter

  2,定义全局 private String encoding;      private Map<String,String> params=new HashMap<String,String>();

  3,在init()方法中

    encoding =fConfig.getInitParameter("encoding");

    for(Enumeration e=fConfig.getInitParameterNames();e.hasMoreElements();){

      String name=(String)e.nextElement();

      String value=fConfig.getInitParameter(name);

      params.put(name,value);

  }

  4,在doFilter()方法中

    request.setCharacterEncoding(encoding);

    chain.doFilter(request,response);

    System.err.println();

  5,在destory()方法中

    params=null;

    encoding=null;

  6,web.xml中

    <filter>

     <filter-name>Filter</filter-name>

     <filter-class>包名+Filter</filter-class>

     <init-param>

      <param-name>encoding</param-name>

      <param-value>UTF-8</param-value>

     </init-param>

    </filer>

    <filter-mapping>

     <filter-name>filter</filter-name>

     <url-pattern>*</url-pattern>

    </filter-mapping>

 

二,get请求的乱码

  1,在解压Tomcat文件夹-》conf->server.xml-><Connector port="8080" protoc="HTTP11.1 connectTimeout  添加URIEncoding="UTF-8" "

  2,Workspace->Servlers->server.xml->和上面相同的位置也添加URIEncoding=“URF-8”

 

三,复制项目后修改到指定的项目名

  复制项目后-》右键新项目-》Properties->Web ProjectSettings->修改成指定的项目名

 

四,手动添加web.xml文件

  右键项目名-》JavaEETools->GenerateDeployment Descriptor Stub

 

五,从外面导入web项目

  右键项目或者空白地方-》import-》Import->General->Existing Project into Workspace->浏览(Browse)加入路径

 

六,修改项目的jdk版本

  1,右键项目-》Properties->project facets->java选择右边的1.7(或其他目标版本)

  2,将jdk1.7(或其他目标版本)设置为默认

    Window->Preferences->Java->Installed JREs->add选择需要添加的jdk1.7版本位置-》勾选(默认)

 

七,request中几个获取路径的方法

  request.getContextPath();获取项目的名字

  request.getScheme();获取http这个协议

  request.getServerName();获取IP地址localhost

  request.getServerPort();获取端口号8080

 

八,ClassNotFoundException的解决方式

  1,当应用程序试图使用一下方法通过字符串名加载类时,抛出异常:

    *class类中的forName()方法

    *ClassLoader类中的findSystemClass  ()方法

    *ClassLoader类中的LoadClass方法

  2,造成异常的常见原因

    *所需要的支持类库放错了地方,并没有放在类路径(CLASSPATH环境变量)里面

    *使用了重复的类,且版本不一致,导致低版本的被优先使用

    *类名错了,一般是Class.forName的时候,手工指定了类名的情况

    *没有导入纯Java驱动包

 

九,web.xml路径中配置servlet的作用和@WebServlet注解

  1,Servlet 3.0开始支持用@WebServlet注解来代替web.xml里的配置servlet的作用

  2,在注解中只需说明url-pattern就可以了,其他的内容注解会自动判断出来,方便了,当然Servlet3.0还是支持用老的web.xml配置的   示例:@WebServlet("/login"),这句话写到login.java的类名声明前

 

十,为什么eclipse新建的webapp项目class文件都在build文件夹下,而不是在neb-inf里的class文件夹里?

  答:这只是eclipse在build这个步骤做的中间工作而已,最后发布时,按照JavaEE标准,一定会发布到web-inf里的classes文件夹里

 

十一,JavaBean 就是一个java类,建立私有属性,生成get/set方法等

 

十二,导入一个web项目后出现HttpServletRequest cannot be resolved to a type错误

       答:点击项目右击——>选property——>Java Build Path——Add External JREs——找到 servlet-api.把它添加进来就能解决问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值