【DRP】——代码积累

来源:互联网 发布:网络模块价格 编辑:程序博客网 时间:2024/05/29 08:25

前言

在看视频的过程中发现有很多功能的代码还是比较有代表性的。记录一下~

代码展示


  • 1.添加用户时,用户名称写成汉字,数据库存储乱码
    这里写图片描述
    解决方法一

在JSP页面中写上如下代码
缺点:写的次数较多,在需要用到的每个JSP页面都需要这么写。
request.setCharacterEncoding("GB18030");

解决方法二

采用Filter统一设置字符集
写一个CharsetEncodingFilter类,另外需要在web.xml文件中进行配置

package com.bjpowernode.drp.util.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;/* * 采用Filter统一处理字符集 */public class CharsetEncodingFilter implements Filter {    private String endcoding;    public void destroy() {        // TODO Auto-generated method stub    }    public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {             // 设置字符集        request.setCharacterEncoding(endcoding);        //继续执行        chain.doFilter(request, response);    }    public void init(FilterConfig filterConfig) throws ServletException {    this.endcoding = filterConfig.getInitParameter("encoding");    System.out.println("CharsetEncodingFilter.init()-->> endcoding=" + endcoding);    }}
<filter>        <filter-name>CharsetEncodingFilter</filter-name>        <filter-class>com.bjpowernode.drp.util.filter.CharsetEncodingFilter</filter-class>        <init-param>            <param-name>encoding</param-name>            <param-value>GBK</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>CharsetEncodingFilter</filter-name>        <url-pattern>*.jsp</url-pattern>    </filter-mapping>


  • 2.界面显示null,如用户维护列表页面
    这里写图片描述
    解决方法一

在JSP页面直接格式化
缺点:别的页面用的时候也需要格式化,不太好

<%=user.getContactTel() == null ? "" : user.getContactTel()%>

解决方法二

在user.java里修改,这样所有用到这个表的都会做处理

public String getContactTel() {    return contactTel == null ? "" : contactTel;}


  • 3.项目目录是否显示

Tomcat–>conf–>web.xml
一般发布的系统最好不要显示目录

<init-param>      <param-name>listings</param-name>        <param-value>false</param-value>    </init-param>

设为false表示不显示目录文件
目录不显示

设为true表示显示目录文件
这里写图片描述
4.解决Get提交乱码问题

Filter设置字符集对get不起作用,处理Get提交乱码,可以考虑改变服务器的配置,如Tomcat修改server.xml文件

<Connector port="8080" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443" URIEncoding="GB18030" />

总结

篇幅有限就先到这里吧,下次接着分享~

原创粉丝点击