JavaWeb开发注意事项

1、使用EL表达式时,取的如果是Bean对象,想要用它get方法,是使用如下方式。

  • ${user.username}

2、Filter默认的拦截方式(dispatcherTypes)是REQUEST,所以内部的forword转发不会拦截。

3、怎么做一个可以跳转链接的按钮?

4、怎么删除session中的属性?

  • 清除某一个session:request.getSession().removeAttribute("employee");
  • 清除所有session(让session失效):request.getSession().removeAttribute("employee");

5、怎么删除Cookie?

  • 删除某一个Cookie:
Cookie newCookie=new Cookie(“username”,null); //假如要删bai除名称为username的Cookie
newCookie.setMaxAge(0); //立即删除型
newCookie.setPath(“/”); //项目所有目录均有效,这句很关键,否则不敢保证删除
response.addCookie(newCookie); //重新写入,将覆盖之前的
  • 删除全部Cookie:
Cookie[] cookies=request.getCookies();
for(Cookie cookie: cookies){
	cookie.setMaxAge(0);
	cookie.setPath(“/”);
	response.addCookie(cookie);
}

6、Cookie的setMaxAge(秒数)方法有什么讲究?

  • 如果参数大于0,表示关闭浏览器后可以保存多久。
  • 如果参数小于0,表述关闭浏览器后Cookie立即失效,即当前会话有效(和不设置一样的效果)
  • 如果参数等于0,表示立即删除掉Cookie,浏览器不会去保存。

7、后端怎么获取前端textarea文本域的内容?

  • 在textarea中定义好name属性,然后后端用req.getParameter("name名");接收,一定是要用form表单提交,如果是用单纯的textarea文本域标签加一个button按钮来跳转的话是获取不到的,虽然点击button也会跳转,但是不会携带值跳转。

8、WEB项目中如何加载文件?
在Java项目中:

  • 方式1:FileInputStream fis = new FileInputStream("src\\文件名");

JavaWeb开发注意事项_第1张图片

  • 方式2:类名.class.getClassLoader().getResourceAsStream("文件名")(注意:这种方式获得的是InputStream字节流)

在WEB项目中

  • 方式1:
//第一步:获取servletContext 
ServletContext servletContext = config.getServletContext();
//第二步:获取真实路径
String realPath = servletContext.getRealPath("/WEB-INF/classes/文件名");
//第三步:路径传入流
BufferedReader br = new BufferedReader(new FileReader("hh"));
  • 方式2:与在Java项目中的方式2一样,都是用类加载器的方式。

Tips:BufferedReader默认读取的是GBK格式文件,所以如果读的UTF-8文件且文件中有中文的话会乱码。

你可能感兴趣的:(JavaWeb,java,web)