JavaWbe,Servlet操纵方法,常用API使用

此篇查询使用,详细转到相应blog

存储数据的区域对象
域对象的通用的方法:ServletContext context=getServletContext();获取ServletContext对象

setAtrribute(String name,Object obj); getAttribute(String name); removeAttribute(String name); context.getRealPath(相对于该web应用的相对地址); 此方法对应jsp中的表单name,返回值为String String username
=request.getParameter("username"); String pwd=request.getParameter("pwd");


responseAPI方法:
详情请转到 https://www.cnblogs.com/xiaozhang666/p/13366850.html

--相应包返回页面信息
此方法返回值会被ajax捕捉
response.getWriter().write(
"hello dandan..."); --重定向 //重定向302+Location //设置状态吗 response.setStatus(302); //设置location响应头 response.setHeader("Location", "/web4/Servlets2"); --可直接使用(结合了上面两个): response.sendRedirect( "/web4/Servlets2"); --延迟五秒 跳转
response.setHeader(
"refresh", "5;url=/web3test/login.jsp"); --1)告知浏览器文件的类型:
  response.setContentType(文件的MIME类型);
--2)告示浏览器文件的打开方式是下载:   response.setHeader("Content-Disposition","attachment;filename=文件名称");
--解决中文乱码 同时也内含setCharacterEncoding的功能,所以在实际开发中只要编写 response.setContentType(
"text/html;charset=UTF-8");就可以解决页面输出中文乱码问题。 --响应头输出字节 ServletOutputStream getOutputStream() --解决响应头中中文乱码
注意:path为读取到要下载的文件路径
path
=new String(path.getBytes("ISO-8859-1"),"UTF-8"); //获取头中的agent来辨别客户端是哪个浏览器 String agent=request.getHeader("User-Agent"); //赋值讲义内容 String filenameEncoder=""; if (agent.contains("MSIE")) { // IE浏览器   filenameEncoder= URLEncoder.encode(path, "utf-8");   filenameEncoder= filenameEncoder.replace("+", " "); } else if (agent.contains("Firefox")) { // 火狐浏览器 BASE64Encoder base64Encoder = new BASE64Encoder(); filenameEncoder= "=?utf-8?B?" + base64Encoder.encode(path.getBytes("utf-8")) + "?="; } else { // 其它浏览器 filenameEncoder= URLEncoder.encode(path, "utf-8"); } //告知浏览器文件类型 response.setContentType(getServletContext().getMimeType(path)); //告知客户端下载不要解析 response.setHeader("Content-Disposition", "attachment;filename="+filenameEncoder); //明确数据源 String path2=getServletContext().getRealPath("dow/"+path);

request API方法:

详解请转到  https://www.cnblogs.com/xiaozhang666/p/13356690.html

--获得客户端的请求方式
  String getMethod()
--获取请求资源相关内容 --地址栏url网络地址 --访问地址uri String responseURI=request.getRequestURI(); StringBuffer responseURL=request.getRequestURL(); System.out.println("uri:"+responseURI); System.out.println("url:"+responseURL);
--获取项目名(项目名)   String webName=request.getContextPath();   String paths = request.getServletContext().getRealPath("/"); 在jsp中的使用方法,${pageContext.request.contextPath}
--解决post提交方式的乱码:
  request.setCharacterEncoding(
"UTF-8"); --解决get提交的方式的乱码:
  parameter
= new String(parameter.getbytes("iso8859-1"),"utf-8");
--获取单个参数值   String username=request.getParameter("user"); --获取一name多个值   String[] hobbys=request.getParameterValues("hobby"); --获取指定的请求头   String refer=request.getHeader("Referer"); --获取请求头和参数的方法   String getParameter(String name)   String[] getParameterValues(String name)   Enumeration getParameterNames()   Map<String,String[]> getParameterMap() --请求转发   request.getRequestDispatcher(转发的地址).forward(req,resp); --requset域   request.setAttribute(name,value)   request.getAttribute(name)   在jsp端接收   <%=request.getAttribute("loginInfo") %>

---------------------------------------------------------

引用外部jar ,binutils
//获取所有参数的map集合
Map<String,String[]> maps=request.getParameterMap();
//创建user对象
users users=new users();
//使用binutils自动映射封装
//前提是map中的map中的key必须跟users中的属性名一一对应
//吧map写到users中
BeanUtils.populate(users,maps);
原文地址:https://www.cnblogs.com/xiaozhang666/p/10624000.html