当前位置: 首页 > news >正文

深圳制作外贸网站/汽车网站建设

深圳制作外贸网站,汽车网站建设,用html做的网站步骤,微信 微网站开发HttpServletRequest HttpServletRequest 继承自 ServletRequest。客户端浏览器发出的请求被封装成为一个 HttpServletRequest对象。 对象包含了客户端请求信息包括请求的地址,请求的参数,提交的数据,上传的文件客户端的ip甚至客户端操作系统…
HttpServletRequest

HttpServletRequest 继承自 ServletRequest。客户端浏览器发出的请求被封装成为一个 HttpServletRequest对象。
对象包含了客户端请求信息包括请求的地址,请求的参数,提交的数据,上传的文件客户端的ip甚至客户端操作系统都包含在其内。

获得客户机信息
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String requestUrl = request.getRequestURL().toString();// 得到请求的URL地址String requestUri = request.getRequestURI();// 得到请求的资源String queryString = request.getQueryString();// 得到请求的URL地址中附带的参数String remoteAddr = request.getRemoteAddr();// 得到来访者的IP地址int remotePort = request.getRemotePort(); // 得到来访者的端口String method = request.getMethod();// 得到请求URL地址时使用的http方式String localAddr = request.getLocalAddr();// 获取WEB服务器的IP地址String localName = request.getLocalName();// 获取WEB服务器的主机名response.setCharacterEncoding("UTF-8");// 设置将字符以"UTF-8"编码输出到客户端浏览器// 通过设置响应头控制浏览器以UTF-8的编码显示数据,如果不加这句话,那么浏览器显示的将是乱码response.setHeader("content-type", "text/html;charset=UTF-8");PrintWriter out = response.getWriter();out.write("获取到的客户机信息如下:");out.write("<hr/>");out.write("请求的URL地址:" + requestUrl + "<br/>");out.write("请求的资源:" + requestUri + "<br/>");out.write("请求的URL地址中附带的参数:" + queryString + "<br/>");out.write("来访者的IP地址:" + remoteAddr + "<br/>");out.write("使用的端口号:" + remotePort + "<br/>");out.write("使用的http方式:" + method + "<br/>");out.write("localAddr:" + localAddr + "<br/>");out.write("localName:" + localName + "<br/>");out.close();}
获得客户机请求头
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setCharacterEncoding("UTF-8");// 设置将字符以"UTF-8"编码输出到客户端浏览器// 通过设置响应头控制浏览器以UTF-8的编码显示数据response.setHeader("content-type", "text/html;charset=UTF-8");PrintWriter out = response.getWriter();Enumeration<String> reqHeadInfos = request.getHeaderNames();// 获取所有的请求头out.write("获取到的客户端所有的请求头信息如下:");out.write("<hr/>");while (reqHeadInfos.hasMoreElements()) {String headName = (String) reqHeadInfos.nextElement();// 根据请求头的名字获取对应的请求头的值String headValue = request.getHeader(headName);out.write(headName + ":" + headValue);out.write("<br/>");}out.write("<br/>");out.write("获取到的客户端Accept-Encoding请求头的值:");out.write("<hr/>");String value = request.getHeader("Accept-Encoding");// 获取Accept-Encoding请求头对应的值out.write(value);Enumeration<String> e = request.getHeaders("Accept-Encoding");while (e.hasMoreElements()) {String string = (String) e.nextElement();System.out.println(string);}}
使用 getParameter() 和 getParameterValues() 接收表单参数
@WebServlet(name = "save", urlPatterns = "/save")
public class FormServlet extends HttpServlet {@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 客户端是以UTF-8编码提交表单数据的,所以需要设置服务器端以UTF-8的编码进行接收,否则对于中文数据就会产生乱码request.setCharacterEncoding("UTF-8");String username = request.getParameter("username");String password = request.getParameter("password");String[] insts = request.getParameterValues("inst");String instStr = Arrays.toString(insts);String htmlStr = "<p>用户名:" + username + "</p>"+ "<p>密码:" + password + "</p>"+ "<p>爱好:" + instStr + "</p>";// 设置服务器端以UTF-8编码输出数据到客户端response.setCharacterEncoding("UTF-8");// 设置客户端浏览器以UTF-8编码解析数据response.setContentType("text/html;charset=UTF-8");// 输出htmlStr里面的内容到客户端浏览器显示response.getWriter().write(htmlStr);}
}
request中文参数乱码

以POST方式提交表单中文参数的乱码问题
客户端是以UTF-8编码传输数据到服务器端的,所以需要设置服务器端以UTF-8的编码进行接收,否则对于中文数据就会产生乱码。具体如下:

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{request.setCharacterEncoding(UTF-8); //解决post提交服务端乱码String userName = request.getParameter("userName");}

以GET方式提交表单中文参数的乱码问题
对于以get方式传输的数据,request即使设置了以指定的编码接收数据也是无效的,默认的还是使用ISO8859-1这个字符编码来接收数据

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{String name = request.getParameter("name");//接收数据name =new String(name.getBytes(), "UTF-8") ;
}
HttpServletResponse

HttpServletResponse 接口继承自 ServletResponse 接口,主要用于封装 HTTP 响应消息。由于 HTTP 响应消息分为状态行、响应消息头、消息体三部分。因此,在 HttpServletResponse 接口中定义了向客户端发送响应状态码、响应消息头、响应消息体的方法。

Response主要的作用有以下几点:
负责向客户端(浏览器)发送数据
负责向客户端(浏览器)发送响应头
负责向客户端(浏览器)发送响应状态码
封装响应状态码的常量

使用OutputStream流向客户端浏览器输出"中国"这两个汉字
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String data = "中国";// 获取OutputStream输出流OutputStream outputStream = response.getOutputStream();// 通过设置响应头控制浏览器以UTF-8的编码显示数据,如果不加这句话,那么浏览器显示的将是乱码response.setHeader("content-type", "text/html;charset=UTF-8");// 将字符转换成字节数组,指定以UTF-8编码进行转换byte[] array = data.getBytes("UTF-8");// 使用OutputStream流向客户端输出字节数组outputStream.write(array);}
使用PrintWriter流向客户端浏览器输出"中国"这两个汉字
@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String data = "中国";response.setCharacterEncoding("UTF-8");// 设置将字符以"UTF-8"编码输出到客户端浏览器PrintWriter out = response.getWriter();// 获取PrintWriter输出流out.write(data);// 使用PrintWriter流向客户端输出字符out.close();}
ServletContext对象

ServletContext 又叫做 Servlet 上下文。

当Web服务器启动时,容器会为每一个Web应用程序创建一块共享的存储区域。ServletContext也叫做“公共区域”,也就是同一个WEB应用程序中,所有的Servlet和JSP都可以共享同一个区域。

ServletContext在WEB服务器启动时创建,服务器关闭时销毁。

Servlet对象中维护了 ServletContext 对象的引用,开发人员在编写servlet时,可以通过this.getServletContext() 方法获得 ServletContext 对象。

由于一个 Web 应用中的所有 Servlet 共享同一个 ServletContext 对象,因此 Servlet 对象之间可以通过ServletContext 对象来实现通讯。ServletContext 对象通常也被称之为 context 域对象。

ServletContext 数据共享

创建两个servlet类Servlet1.java和Servlet2.java。Servlet1将数据存储到ServletContext对象中,Servlet2从ServletContext对象中取出数据,从而实现数据共享。

@WebServlet(name = "servlet1", urlPatterns = "/servlet1")
public class Servlet1 extends HttpServlet {@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {String company = "isoftstone";ServletContext context = this.getServletConfig().getServletContext();// 获得ServletContext对象context.setAttribute("company", company); // 将data存储到ServletContext对象中}
}
@WebServlet(name = "servlet2", urlPatterns = "/servlet2")
public class Servlet2 extends HttpServlet {@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {ServletContext context = this.getServletContext();String company = (String) context.getAttribute("company");// 从ServletContext对象中取出数据response.getWriter().print("company = " + company);}
}
ServletContext 初始化参数

1、在web.xml中加入初始化参数:

<context-param><param-name>url</param-name><param-value>jdbc:mysql://localhost:3306/test</param-value>
</context-param>

2、在Servlet类中调用该参数:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {ServletContext context = this.getServletContext();// 获取整个web站点的初始化参数String contextInitParam = context.getInitParameter("url");response.getWriter().print(contextInitParam);
}
http://www.whsansanxincailiao.cn/news/30282600.html

相关文章:

  • o2o网站建设哪家好/关键词排名顾问
  • 如何在网站投放广告/torrentkitty磁力搜索引擎
  • 图片做网站/世界500强企业
  • 南京建设工程公共资源交易中心网站/优秀网页设计
  • 网站设计说明书整合/云盘搜
  • wordpress做物流网站/百度sem
  • 上海高端网站定/宝鸡seo优化公司
  • 张家港做英文网站/优化推广联盟
  • 网站开发工资多少钱一个月/教育培训网站官网
  • 程序设计教学网站开发/关键词排名优化易下拉技巧
  • 做网站和app哪类商标/直通车怎么开效果最佳
  • 400全国服务热线代理顺德手机网站建设/百度信息流推广和搜索推广
  • 动态网站建设 毕业答辩/全网关键词搜索排行
  • 网页设计怎么创建站点/郑州竞价托管
  • 做代账的网站/老客外链
  • 好乐买的网站推广方式/网页设计排版布局技巧
  • 广东企业网站建设多少钱/网上学电脑培训中心
  • 宜昌网站建设/企业网站建设的流程
  • 做网站的工具有哪些/全球中文网站排名
  • 焦作市网站建设科技/重庆seo优
  • 网站入口你明白我的意思吧/培训班管理系统 免费
  • 杂志媒体网站建设方案/东莞网站制作十年乐云seo
  • wordpress getcomments/优化大师免费安装下载
  • 自考大型网站开发工具/南京seo优化公司
  • 如何看一个网站做的如何/百度竞价运营
  • 企业网站源码生成器/网络推广外包业务销售
  • 请私人做网站风险/磁力链bt磁力天堂
  • 怎样用js做网站轮播图/搜索引擎优化的概念
  • 网页设计 收费/南昌seo全网营销
  • 包头企业网站建设/引流软件