java学习随笔

eclipse 的一些快捷键:

ctrl+1 快捷修复

ctrl+d 快捷删除行

shift+enter 换行

ctrl+f11 快速运行项目

alt+↑/↓ 快速移动行

ctrl+m 放大工作区

ctrl+shift+r:打开资源

ctrl+o:快速outline 查看类

ctrl+e:快速转换编辑器

alt+shift+r:重命名

shift+enter

alt+

ctrl+m

ctrl+ ctrl+1 将光标移动至当前文件中的下一个报错处或警告处。这组快捷键我一般与ctrl+1一并使用,即修改建议的快捷键

ctrl+shift+o 引入及管理imports语句

ctrl+shift+f4 关闭所在打开的窗口

ctrl+o open declaration

ctrl+e 切换窗口

ctrl+/ 注释本行

alt+shift+l  抽取本地变量

alt+shift+m 抽取方法

f3 open declaration

ctrl+d 删除本行

ctrl+shift+f 自动整形

ctrl+alt+↑:复制本行

alt+shift+s:引入方法

Cookie:

添加Cookie

 

AddCookie

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class AddCookieServlet extends HttpServlet {

    @Override

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        PrintWriter out=response.getWriter();

        Cookie c1=new Cookie("uname", "Kitty");

        Cookie c2=new Cookie("city", "beijing");

        response.addCookie(c1);

        response.addCookie(c2);

        out.close();    

    }

}

Web

<servlet>

     <servlet-name>AddCookieServlet</servlet-name>

     <servlet-class>web.AddCookieServlet</servlet-class>

  </servlet>

  <servlet-mapping>

     <servlet-name>AddCookieServlet</servlet-name>

     <url-pattern>/addCookie</url-pattern>

  </servlet-mapping>

查找Cookie

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class FindCookieServlet extends HttpServlet {

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        PrintWriter out=response.getWriter();

        Cookie[] cookies=request.getCookies();

        if (cookies!=null) {

            for (Cookie c:cookies) {

                String name=c.getName();

                String value=c.getValue();

                out.println("<h3>Name:"+name+"Value:"+value+"</h3>");

            }

        }else {

            out.println("没有Cookie信息");

        }

        out.close();

    }

}

修改Cookie

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class UpdateCookieServlet extends HttpServlet {

    @Override

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        PrintWriter out=response.getWriter();

        Cookie[] cookies=request.getCookies();

        if (cookies!=null) {

            for (Cookie c:cookies) {

                String name=c.getName();

                if (name.equals("city")) {

                    c.setValue("ShangHai");

                    response.addCookie(c);

                }

            }

    }

        out.close();

    }

}

表单出现乱码解决方法:

表单出现乱码:错误提示(data too long)

一般不是太长,是编码的问题

通过中文乱码监听器处理(UTF-8)

代码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;

public class CharacterEncodingFilter implements Filter {

private String encoding;

//private Object filterConfig;

public void destroy() {

 this.encoding = null;

 //this.filterConfig = null;

 

}

public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {

request.setCharacterEncoding(this.encoding);

chain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {

this.encoding = filterConfig.getInitParameter("encoding");

}

}

Web修改:

加入过滤器

<!-- 编码过滤器,以UTF8编码 -->

    <filter>

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

        <filter-class>filter.CharacterEncodingFilter</filter-class>

        <init-param>

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

            <param-value>UTF8</param-value>

        </init-param>

    </filter>

    <filter-mapping>

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

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

    </filter-mapping>

这种方法一般有效。

 全局统一的方法:

在jsp文件上右键选择属性。

Windows下,选择属性:

 

修改server.xml中的encoding

猜你喜欢

转载自blog.csdn.net/yige__cxy/article/details/81204453
今日推荐