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

高密做网站的价格专门做调查问卷的网站

高密做网站的价格,专门做调查问卷的网站,论坛网站开发费用,做一个棋牌网站要多少钱serlet 1.定义#xff1a;Serlet是使用Java编写的运行在服务器端的程序 2.Servlet主要是用于处理浏览器端发送的Http请求#xff0c;并返回一个响应 3.Servlet开发需要使用到的包#xff1a; java.servlet java.servlet.http 一.Servlet注册 1.xml方式 servlet…serlet 1.定义Serlet是使用Java编写的运行在服务器端的程序 2.Servlet主要是用于处理浏览器端发送的Http请求并返回一个响应 3.Servlet开发需要使用到的包 java.servlet java.servlet.http 一.Servlet注册 1.xml方式 servletservlet-nameHelloServlet/servlet-nameservlet-classcom.qfedu.servlet.HelloServlet/servlet-class /servlet servlet-mappingservlet-nameHelloServlet/servlet-nameurl-pattern/hello/url-pattern /servlet-mapping元素用于注册Servlet,它包含有两个主要的子元素 : 设置Servlet的注册名称 : 设置Servlet的完整类名包名类型形式 元素用于映射已注册的Servlet的对外访问路径它包含有两个子元素 Servlet的注册名称必须和配对的中的相同 设置访问该Servlet资源的路径 例如访问http://localhost:8080/test/hello时 Tomcat服务器截取到访问的资源名称/hello, 先从web.xml的中找匹配的url找到后再查找对应的 然后从节点中找匹配的找到后根据的类名创建Servlet对象执行其中的方法 2Servlet的多重映射 注意 同一个Servlet可以被映射到多个URL上即中可以设置多个 servletservlet-nameHelloServlet/servlet-nameservlet-classcom.qfedu.servlet.HelloServlet/servlet-class /servlet servlet-mappingservlet-nameHelloServlet/servlet-nameurl-pattern/HelloServlet/url-patternurl-pattern/hello/url-pattern /servlet-mapping2 WebServlet注解方式 注解中使用主要属性 属性名nameServlet名字可以自定义value访问Servlet资源时匹配的路径和urlPatterns互斥urlPatterns允许当前Servlet有多个匹配方式和value互斥loadOnStartup标记容器是否启动时加载该ServletinitParams当前Servlet的初始化配置WebInitParam 注解类型 属性包括name和value WebServlet(name HelloServlet, value /HelloServlet) public class HelloServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.getWriter().write(get hello);}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.getWriter().write(post hello);} }二.servlet开发 Servlet由Servlet容器提供所谓的Servlet容器是指提供了Servlet 功能的Web服务器比如TomcatServlet容器将Servlet动态的加载到服务器上。 servlet使用的主要接口和类 Servlet接口 GenericServlet抽象类 HttpServlet类 Servlet接口中的主要方法 方法void init(ServletConfig config)初始化Servletvoid service(ServletRequet req, ServletResponse res)负责响应客户端请求void destroy()销毁servlet对象用于释放资源等ServletConfng getServletConfig()获得Servlet 的相关配置信息该方法会返回一个指向ServletConfig的引用java.lang.Sring getServletInfo()获得Servlet开发者定义的信息 实现的原理就是 Web服务器收到客户端的http请求会针对每一次请求。分别创建一个对应的代表请求的requst对象和代表响应的response的对象 1 HttpServletRequest接口 HttpServletRequest接口继承了ServletRequest接口 HttpServletRequst对象代表客户端的请求当客户端通过Http协议访问web服务器的时候Http请求头中的所有信息都封装在这个对象中开发人员通过这个对象中的方法可以获得请求相关的信息. 常用方法 方 法说 明String getParameter(String name)获取请求中的参数该参数是由name指定的Enumeration getParameterNames()获取请求中所有参数的名字String[] Enumeration getParameterValues(String name)返回请求中的参数值该参数值是由name指定的MapK, V getParameterMap()返回此请求的参数的 java.util.Map对象ServletInputStream getInputStream()获取请求的输入流中的数据String getQueryString()返回包含在请求 URL 中路径后面的数据字符串Enumeration getAttributeNames()返回当前请求的所有属性的名字集合Object getAttribute(String name)返回name指定的属性值void setAttribute(String name, Object value)设置属性值void removeAttribute(String name)删除指定的属性值Cookies getCookies()返回客户端发送的CookieHttpSession getsession()返回和客户端相关的session如果没有给客户端分session则返回nullHttpSession getsession(boolean create)返回和客户端相关的session如果没有给客户端分session则创建一个session并返回String getCharacterEncoding()返回请求的字符编码方式void setCharacterEncoding(String env)设置请求中使用的字符编码方式String getMethod()获取发送请求的方式如get、postint getContentLength()返回请求体的有效长度String getProtocol()获取请求所使用的协议名称String getRemoteAddr()获取客户端的IP地址String getRemoteHost()获取客户端的名字String getServerName()返回接受请求的服务器的名字String getServerPath()获取请求的路径String getHeader(String name)返回指定请求头的值 1.1获取请求参数 request.getParameter()方法 //根据表单中输入控件的name属性值获取表单参数 //get和post方式都可以用该方法获取表单参数 //tomcat8下get方式下使用getParameter方法中文不会乱码 String name request.getParameter(name); String pwd request.getParameter(password);System.out.println(name); System.out.println(pwd);1.2post提交方式下中文的乱码处理 //post提交方式解决中文乱码的方案 request.setCharacterEncoding(utf-8);注意使用tomcat8以上版本后get方式不存在中文乱码问题 2 HttpServletResponse HttpServletResponse对象服务器的响应。该对象中封装了向客户端发送数据发送响应头发送响应状态码的方法 方 法说 明PrintWriter getWriter()返回Servlet引擎创建的字符输出流对象void addCookie(Cookie cookie)将指定的Cookie加入到当前的响应中void addHeader(String name,String value)将指定的名字和值加入到响应的头信息中String encodeURL(String url)编码指定的URLvoid sendRedirect(String location)重定向发送一个临时的响应到客户端void setHeader(String name,String value)将给出的名字和值设置响应的头部void setStatus(int sc)给当前响应设置状态码void setContentType(String ContentType)设置响应的MIME类型 2.1返回响应的内容 //获取打印流的对象PrintWriter writer response.getWriter();//writer.write(hello);//writer.write(htmlheadtitlehello/title/headbodyfont colorredhello world/font/body/html);String html html;html head;html /head;html body;html 你好;html /body;html /html;writer.write(html);writer.close();2.2 中文乱码处理 方案一 response.setCharacterEncoding(utf-8); response.setHeader(Content-Type, text/html);注意如果仅使用response.setCharacterEncoding(“utf-8”)还是会显示乱码。这是由于虽然返回内容使用了utf8编码但是浏览器加载的页面使用的是gbk编码所以还需要设置content-type响应头。 方案二 response.setContentType(text/html;charsetutf-8);2.3重定向 重新定位到一个资源实现资源的跳转 response.setStatus(302); response.setHeader(location, /W06_Servlet2/index.html);2.4定时刷新 //定时刷新每隔一秒刷新一次 //response.setHeader(refresh, 1); //指定时间秒后跳转到另外的界面 response.setHeader(refresh, 3;url/W06_Servlet2/index.html);三servlet的生命周期 1.生命周期 Servlet的生命周期主要有四个阶段 \1) 创建对象 对同一个servlet只会创建一次 \2) 初始化 创建对象后init方法只会调用一次会获取一个ServletConfig对象 \3) 运行阶段 运行阶段调用service()方法。 每调用一次servlet资源都会调用该方法。对于每次访问请求都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象然后将这两个对象作为参数传递给它调用的Servlet的service()方法在该方法中根据请求方式决定调用doGet还是doPost方法 \4) 销毁 关闭tomcat服务器或者重新加载应用都会调用destroy方法 针对客户端的多次Servlet请求通常情况下服务器只会创建一个Servlet实例对象也就是说一个Servlet的实例对象一旦创建它就会驻留在内存中为后续的其它请求服务直至web容器退出servlet实例对象才会销毁。 2.Servlet自动加载 它的取值必须是一整数 当值小于0或者没有指定的时候则表示容器在该Servlet被首次请求时才会被加载 当值大于0或者等于0的时候表示容器在启动时就加载并初始化该Servlet,取值越小优先级越高 当取值相同时容器就会自行选择顺序进行加载 servletdescription/descriptiondisplay-nameLifeServlet/display-nameservlet-nameLifeServlet/servlet-nameservlet-classcom.rr.life.LifeServlet/servlet-class!-- tomcat服务器加载we应用时创建对应的servlet对象值越小优先级越高--load-on-startup1/load-on-startup /servlet注解的写法 WebServlet(name HelloServlet, value /HelloServlet, loadOnStartup 1)四转发和重定向 1.请求转发 一个web资源收到客户端请求后通知服务器去调用另外一个web资源进行处理称之为请求转发啊 请求转发属于服务器行为 转发需要通过RequestDispatche接口的对象调用ServletRequest的getRequestDispatcher(String path)方法可以获取该对象 RequestDispatcher 接口中提供的实现转发的方法 方法功能描述void forward(ServletRequest request,ServletResponse response)用于将请求转发给另一个 Web 资源。该方法必须在响应提交给客户端之前被调用 //request域 request.setAttribute(age, 10); //转发 request.getRequestDispatcher(/ForwardServlet2).forward(request, response);转发后可以实现request对象中的数据的共享 2.重定向 一个web资源收到客户端请求后通知浏览器去访问另外一个web资源称之为请求重定向. 重定向属于客户端行为。本质上是两次 HTTP 请求对应两个 request 对象和两个 response 对象。 转发和重定向的区别 转发是一个web资源收到客户端请求后通知服务器去调用另外一个web资源。 重定向是一个web资源收到客户端的请求后通知浏览器去调用另外一个web资源 //重定向 //response.sendRedirect(/W08_2_Servlet/RedirectServlet2); //response.sendRedirect(RedirectServlet2);//重定向时不能共享request对象中的数据 request.setAttribute(id, 100); //推荐如下写法 response.sendRedirect(request.getContextPath() /RedirectServlet2);重定向时多个Servlet不能共享request对象中的数据 3.重定向和转发的区别 1重定向的访问过程结束后浏览器地址栏中显示的URL会发生改变转发过程结束后浏览器地址栏保持初始的URL地址不变 2重定向时是通过响应的结果告诉浏览器去重新发出请求访问另外一个web资源。而转发是在服务器内部请求转发给另外一个资源的 3)转发时调用者与被调用者之间共享相同的request对象和response对象它们属于同一个访问请求和响应过程而重定向时调用者与被调用者使用各自的request对象和response对象它们属于两个独立的访问请求和响应过程。 4)重定向时重定向的URL以“/”开头它是相对于WEB应用所在的服务器转发时的URL以“/”开头它是相对于当前WEB应用程序。 5)转发只能将请求转发给同一个WEB应用中的资源而重定向还可以重定向到同一个站点上的其他应用程序中的资源甚至是使用绝对URL重定向到其他站点的资源。 区别转发重定向行为服务器行为客户端行为浏览器地址栏 URL 是否发生改变否是是否共享 request 对象和 response 对象是否是否能通过 request 域对象传递数据是否是否支持跳转到其他应用的资源否是路径中/相对于当前web应用相对于服务器 五ServletConfig接口 Servlet容器初始化Servlet时会为了这个Servlet创建一个ServletConfig对象并将ServletConfig对象作为参数传递给Servlet。通过Servlet的初始化参数信息。 方法功能描述String getInitParameter(String name)根据初始化参数名 name返回对应的初始化参数值。Enumeration getInitParameterNames()返回 Servlet 所有的初始化参数名的枚举集合如果该 Servlet 没有初始化参数则返回一个空的集合。ServletContext getServletContext()返回一个代表当前 Web 应用的 ServletContext 对象。String getServletName()返回 Servlet 的名字 配置servlet的初始化参数 servletservlet-nameConfigServlet/servlet-nameservlet-classcom.qfedu.servletconfig.ConfigServlet/servlet-class!-- servlet的初始化参数 --init-paramparam-nameuser/param-nameparam-valuezhangsan/param-value/init-paraminit-paramparam-namepwd/param-nameparam-value12345/param-value/init-param/servletpublic class ConfigServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub// 获取ServletConfig对象// ServletConfig 不需要额外创建// 每个Servlet都会对应一个ServletConfig对象ServletConfig servletConfig this.getServletConfig();// 获取servlet中的初始化参数的值String info servletConfig.getInitParameter(user);System.out.println(info);String info2 servletConfig.getInitParameter(pwd);System.out.println(info2);}}注解方式 WebServlet(value {/config}, initParams {WebInitParam(name user, value zhangsan),WebInitParam(name pwd, value 1234)}) public class ConfigServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub// 获取ServletConfig对象// ServletConfig 不需要额外创建// 每个Servlet都会对应一个ServletConfig对象ServletConfig servletConfig this.getServletConfig();// 获取servlet中的初始化参数的值String info servletConfig.getInitParameter(user);System.out.println(info);String info2 servletConfig.getInitParameter(pwd);System.out.println(info2);}}六 ServletContext 接口 Servlet 容器启动时会为每个 Web 应用创建一个唯一的 ServletContext 对象该对象一般被称为“Servlet 上下文对象”。 ServletContext 对象的生命周期从 Servlet 容器启动时开始到容器关闭或应用被卸载时结束。 常用方法 方法描述String getInitParameter(String name)根据初始化参数名 name返回对应的初始化参数值。Enumeration getInitParameterNames()返回 Web 应用所有上下文初始化参数名的枚举集合如果该 Web 应用没有上下文初始化参数则返回一个空的枚举集合。void setAttribute(String name, Object object)把一个 Java 对象与一个属性名绑定并将它作为一个属性存放到 ServletContext 中。 参数 name 为属性名参数 object 为属性值。void removeAttribute(String name)从 ServletContext 中移除属性名为 name 的属性。Object getAttribute(String name)根据指定的属性名 name返回 ServletContext 中对应的属性值。String getRealPath(String path)返回资源文件的真实路径文件的绝对路径。InputStream getResourceAsStream(String path)返回映射到资源文件的 InputStream 输入流对象。 1 获取web应用路径 //获取servletcontext对象 ServletContext servletContext this.getServletContext();// /W08_2_Servlet System.out.println(servletContext.getContextPath());//通过request对象获取应用的路径 System.out.println(request.getContextPath());2 web****应用的初始化参数 /**!-- 针对整个应用的初始化参数 -- context-paramparam-nameAAA/param-nameparam-valueaaa/param-value /context-param* * */ String v1 servletContext.getInitParameter(AAA); System.out.println(v1);3 多个Servlet对象共享数据 同一个Web应用中所有的Servlet对象共享一个ServletContext对象 ServletContext servletContext this.getServletContext(); //向servletcontext域中写入数据 //在整个web应用的不同的资源之间共享数据 servletContext.setAttribute(name, zhangsan);Dog d new Dog(); d.setAge(2); d.setName(wangcai);servletContext.setAttribute(dog, d);
http://www.hkea.cn/news/14372739/

相关文章:

  • 毕设代做的网站跨境电商网站建设
  • 空间商网站ip被攻击后换ip微信域名防封跳转系统
  • 南宁百度seo软件北京核心词优化市场
  • 如何让客户主动找你做网站网站开发报价
  • 在国外建设网站怎么做网站链接支付
  • 好的免费网站建站平台重庆建设集团官方网站
  • 做携程怎样的网站网页设计作品展示图片
  • 网站开发职业前景深圳公司设立
  • 海豚一键做淘宝网站固原网络推广
  • 高端网站建设 南京在线收录
  • 重庆手机网站推广方法redis网站开发教程
  • 个人网站的名字怎样提高网站打开速度慢
  • 梅州做网站需要多少钱河北省 建设执业注册中心网站
  • 在线转格式网站怎么做wordpress 图片的设置密码
  • 网站设计奖在深圳如何注册公司
  • 雷州网站开发公司网络营销的八种方式
  • 福建省网站建设有限公司哪些网站做的人比较少
  • 企业形象网站建设意义二次开发培训
  • 网站建设方案推广南京网站制作公司有哪些
  • 做jsp网站用哪些软件网站兼容浏览器
  • 网站怎样添加百度地图网站建设设计大作业
  • 手机网站 图标亳州建设网站公司
  • 上海兼职网站制作网页设计实训总结三百字
  • 电子商务网站的建设与规划网站登录设计欣赏
  • app和网站的成本区别小说章节收费网站建设
  • 企业做网站优劣wordpress+5.0
  • 长沙的网站建设wordpress自适应 slide
  • 计算机企业网站建设论文网站构建工具
  • 网页欣赏网站免费数据网站
  • 永安网页设计沈阳网站seo外包