JavaWeb问题

集合整理所遇bug:

1.GEThttp://localhost:8080/../xxx.css 404 Not Found 【jsp引用css无效】

  1.1 目录问题,不能把css放置在WEB-INF目录下,原因参考here,所以最好放置于新建static目录,或者添加(${pageContext.request.contextPath})使用绝对路径。

  1.2 过滤器问题,可能是过滤器将静态资源拦截了,即将text/css编译为了text/html,参考here,手动配置一下:

package com.dl.Filter;

import javax.servlet.*;
import java.io.IOException;

public class CharacterEncodingFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        servletRequest.setCharacterEncoding("utf-8");
        servletResponse.setCharacterEncoding("utf-8");
        servletResponse.setContentType("text/html;charset=utf-8");
//        jsp引用css删除全局设置html
        filterChain.doFilter(servletRequest, servletResponse);
    }
    @Override
    public void destroy() {
    }
}
CharacterEncodingFilter
package com.dl.Filter;

import javax.servlet.*;
import java.io.IOException;

public class CssEncodingFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        servletResponse.setContentType("text/css;charset=utf-8");
        filterChain.doFilter(servletRequest, servletResponse);
    }

    @Override
    public void destroy() {
    }
}
CssEncodingFilter
    <!-- css过滤器 -->
    <filter>
        <filter-name>CssEncodingFilter</filter-name>
        <filter-class>com.dl.Filter.CssEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CssEncodingFilter</filter-name>
        <url-pattern>*.css</url-pattern>
    </filter-mapping>
    <!-- 字符编码过滤器 -->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>com.dl.Filter.CharacterEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
web.xml配置过滤器

2.GET http://localhost:8080/../favicon.ico 404 Not Found 【ico图标未找到】

  使用link添加即可 <link rel="shortcut icon" href="static/images/mini.ico" type="image/x-icon" />  ,href连接最好static目录下,这里可以制作ico。

 

3.java.lang.ClassNotFoundException: com.mysql.jdbc.Driver【找不到JDBC驱动】

  参考here,驱动的jar包必须在WEB-INF目录下。

 

4.$(document).ready(function())函数用于在当前文档结构载入完毕后立即执行指定的函数放入head标签内的script内,参考here,如果是页面body内的Jquery事件,则必须放在body或html的script内(否则选择器无效)。

 

【Over】

posted @ 2022-05-15 15:45  Renhr  阅读(14)  评论(0)    收藏  举报