MzBlog 玩具博客

    技术2022-05-19  22

    上周的确荒废了,的确没有刚开学来的那些激情了,要不然我的 Spring  应该早就入门了,AOP 也不会看来看去也只会一个理论。希望本周能够好好的看书、学习吧,不要再给我意外了。

    几乎所有的 web 开发人员都会在“孩提时代”写一个博客,我曾今也尝试过,可惜之前没有什么 CSS 基础,页面搞得很简陋很简陋的那种,最后实在做不下去了。

    昨天下午开始想想,在尝试一下,因为之前去图书馆借了一本 PHP 的书,讲的全是实例,我的想法是自己用 java 实现里面的项目,先从第一个开始,blog。

    其实做项目什么的,总会学到很多东西的,不懂之即百度之,我实在没有什么 google 情节,但是我还是喜欢 google 的,特别是需要英文的文档的时候。

    下面总结一下收获呗:

    1、CSS float

    明白了 CSS 的 float 属性的意义,一直都知道 float 是浮动,浮动了这么久直到昨天才明白浮动是附在其他 DIV 上面的,也就是分层了,使得多个 DIV 可以显示在同一行。如果某个 DIV 不需要接在前面的 DIV 后面,即需要独立成行,要独立,就是用 clear 属性。实在方便。

    2、页面分块

    一个完整的页面,应该是由 header.jsp 、navi.jsp、menu.jsp、footer.jsp 等等组成的,这样有利于维护 ( maintainable ) 和复用 ( reusable ) 而不是一个 JSP 文件搞定一切,这个很关键,要不然永远做不了大项目,稍微大点就死心了。顺便插一句,先把静态页面搞定,在进行动态化会使自己的项目进展顺利很多。

    3、Struts2 乱码问题

    我的这个乱码是指在提交页面到 Action 的时候就乱码了,而不是显示问题,也不是数据库问题。这个应该是最大的收获了吧,之前寒假也遇到过,但是在家不能上网,后来...

    对于提交信息时候的乱码,可以这样解决:

    ①、构建过滤器,转换请求之间的编码格式:

    1: package com.mzblog.filter; 2:   3: import java.io.IOException; 4: import javax.servlet.Filter; 5: import javax.servlet.FilterChain; 6: import javax.servlet.FilterConfig; 7: import javax.servlet.ServletException; 8: import javax.servlet.ServletRequest; 9: import javax.servlet.ServletResponse; 10:   11: public class CharacterEncodingFilter implements Filter { 12:   13: public void doFilter(ServletRequest request, ServletResponse response, 14: FilterChain chain) throws IOException, ServletException { 15: request.setCharacterEncoding("utf-8"); 16: chain.doFilter(request, response); 17: } 18:   19: public void init(FilterConfig arg0) throws ServletException { 20: } 21:   22: public void destroy() { 23:   24: } 25:   26: } .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

    在 web.xml 中配置过滤器,代码如下:

    1: <filter> 2: <filter-name>characterEncoding</filter-name> 3: <filter-class>com.mzblog.filter.CharacterEncodingFilter</filter-class> 4: </filter> 5: <filter-mapping> 6: <filter-name>characterEncoding</filter-name> 7: <url-pattern>/*</url-pattern> 8: </filter-mapping> .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

    ②、更改 JSP 页面编码

    将 JSP 页面中的 pageEncoding="GB18030" 改为 pageEncoding="UTF-8"。

    一个一个更改的确麻烦,如果能够使得每次新建的 JSP 页面的编码默认为 UTF-8 多好哦。MyEclipse 的确可以酱紫:

    Window——Preference——MyEclipse——Files and Editors——JSP 更改右边的 Encoding ,改为 UTF-8 ( ISO 10646/Unicode(UTF-8) )。

    如此一来以后的 JSP 的 pageEncoding 都为 UTF-8 了。嘿嘿。

    ③、更改 Tomcat URIEncoding

    1: <Connector port="80" protocol="HTTP/1.1" 2: connectionTimeout="20000" 3: redirectPort="8443" URIEncoding="UTF-8"/> .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }
    4、too many connections 问题

    在欣赏自己博客的时候,经常点着点着报错了,一看 too many connections ,以为是自己用的 Hibernate 的 Session 没有关闭。一想不对啊,我用的是 getCurrentSeesion() 不需要关闭 Session 的哦。百度之。(应该还是自己的代码不健全)

    更改 MySQL  文件中的 my.ini。更改里面的 max_connections=500,重启 MySQL 服务即可,无需重启 Tomcat 的。

     


    界面欣赏:

    ↑ 首页

    ↑ 文章页面

    ↑ 评论页面

    ↑ 新建文章页面


    最新回复(0)