发表于: 2018-01-12 20:15:42
1 654
今天完成的事情:今天完成了从网页向数据库的增 改 查。
首页如下:
查看所有学员:这个做的不完善,想找到办法显示全部数据.
添加学员:
明天计划的事情:准备小课堂的内容。
遇到的问题:
1.从网页向数据库写入记录,但是从navicat读取到的确是一堆乱码。
一开始以为书数据库还是idea的编码问题,找了很久没办法解决。
后来对网页传回来的数据进行打印,才发现实Tomcat自身的编码问题。于是在网上搜索到关于编码过滤器,在项目中添如下:
首先是创建一个重新编码类PageEncodingFilter:
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;
import javax.servlet.http.HttpServletRequest;
public class PageEncodingFilter implements Filter {
private String encoding = "UTF-8";
protected FilterConfig filterConfig;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
//本过滤器默认编码是UTF-8,但也可以在web.xml配置文件里设置自己需要的编码
if (filterConfig.getInitParameter("encoding") != null)
encoding = filterConfig.getInitParameter("encoding");
}
public void doFilter(ServletRequest srequset, ServletResponse sresponse,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) srequset;
request.setCharacterEncoding(encoding);
filterChain.doFilter(srequset, sresponse);
}
public void destroy() {
this.encoding = null;
}
}
然后在web.xml中添加编码过滤器:
<!--乱码编辑过滤器-->
<filter>
<filter-name>Encoding</filter-name>
<filter-class>com.jnshu.controller.PageEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.网页读取到的数据,无法显示Id和修改时间,而且修改时间的格式不合理。 未找到解决方法。
3.在网页传过来的新增数据为空的时候,却依旧写入了数据库,判断语句并不能解决问题。
收获:
1.搜索正确信息的前提条件是对错误或者需求有着清晰的概念。
进度:进度完成了一部分,在对项目进行修正,应该可以完成任务二。感觉自己对于网页的跳转还是有些混乱,并不能很清晰的把握到网页下一步的走向。代码还有些混乱。
评论