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

关于网站建设的书籍上海材料网站建设

关于网站建设的书籍,上海材料网站建设,湖北省建设厅七大员报名网站,网页微信版官网登录怎么弄到桌面1.Servlet接口的作用 Servlet是运行在Web服务器上的应用程序。Servlet本身是一个Java接口#xff0c;它定义了浏览器访问服务器程序的规则#xff0c;我们写服务器程序只需要按照需求复写Servlet方法即可 2.Servlet的体系结构 1直接继承实现类结构 2其他…1.Servlet接口的作用 Servlet是运行在Web服务器上的应用程序。Servlet本身是一个Java接口它定义了浏览器访问服务器程序的规则我们写服务器程序只需要按照需求复写Servlet方法即可 2.Servlet的体系结构 1直接继承实现类结构 2其他相关类视图 1实现Servlet接口 重写Servlet生命周期的所有方法 public class ServletDemo1 implements Servlet {Overridepublic void init(ServletConfig servletConfig) throws ServletException {//第一次访问的时候创建Servlet调用System.out.println(init初始化执行1次);}Overridepublic ServletConfig getServletConfig() {//每一个Servlet对象创建时会自动创建一个ServletCong对象return null;}//所有的客户端请求都会经过service方法Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(servlet实现响应);}//获取Servlet信息Overridepublic String getServletInfo() {return null;}Overridepublic void destroy() {System.out.println(销毁servlet执行1次);} }2继承GenericServlet抽象类 每次写一个Servlet都要复写生命周期的所有方法比较麻烦。 Servlet提供了一个实现类GenericServlet它把其他方法已经复写了我们继承GenericServlet只需要复写service就可以了 public class ServletDemo2 extends GenericServlet { //不知道是get请求还是post请求Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(GenericServlet实现响应);} }3继承GenericServlet抽象类【最简便也最常用】 如果每次都是继承GenericServlet类在servlce方法中不能区分直接是Get请求还是Post请求。需要我们自己求请求方法进行处理也比较麻烦所以又提供了一个子类HttpServlet类。 HttpServlet类中会根据不同的请求方式提供不同的方法我们只需要复写对应的方法即可 public class ServletDemo3 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(HttpServlet实现响应);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req,resp);} }3.Servlet的映射配置 1针对上面三种Servlet具体类进行配置 注意每一个Servlet都需要有一个下面的配置否则会找不到资源 ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0!-- 修改默认主页 /代表根目录Web--welcome-file-listwelcome-file/html/index.html/welcome-file/welcome-file-list!-- servlet声明--servletservlet-nameServletDemo1/servlet-nameservlet-classcom.itheima.servlet.ServletDemo1/servlet-class/servletservletservlet-nameServletDemo2/servlet-nameservlet-classcom.itheima.servlet.ServletDemo2/servlet-class/servletservletservlet-nameServletDemo3/servlet-nameservlet-classcom.itheima.servlet.ServletDemo3/servlet-class/servlet!--servlet映射 --servlet-mappingservlet-nameServletDemo1/servlet-nameurl-pattern/Servlet/url-pattern/servlet-mappingservlet-mappingservlet-nameServletDemo2/servlet-nameurl-pattern/GenericServlet/url-pattern/servlet-mappingservlet-mappingservlet-nameServletDemo3/servlet-nameurl-pattern/HttpServlet/url-pattern/servlet-mapping /web-app2同一个Servlet多映射处理 针对用户种类对进行多种映射配置 !-- 方式1 --!--具体名称的方式。访问的资源路径必须和映射配置完全相同--servlet-mappingservlet-nameServletDemo5/servlet-nameurl-pattern/ServletDemo5/url-pattern/servlet-mapping!-- 方式2 --!--/开头通配符的方式 不用考虑结尾是什么 --servlet-mappingservlet-nameServletDemo5/servlet-nameurl-pattern/ServletDemo5/*/url-pattern/servlet-mapping!-- 方式3 --!--通配符固定格式结尾的方式。只要符合固定结尾格式即可不用考虑前面的路径--servlet-mappingservlet-nameServletDemo5/servlet-nameurl-pattern*.do/url-pattern/servlet-mapping【注优先级问题。越是具体的优先级越高越是模糊通用的优先级越低。第一种-第二种-第三种–】 3从浏览器地址栏到访问Servlet的过程 Servlet是Web项目中的动态资源Servlet字节码访问过程如下 第一步通过浏览器的ip地址找服务端主机 第二步通过8080端口号找到tomcat服务器软件 第三步通过虚拟机路径找到tomcat服务器上发布的web项目包 第四步通过web.xml中 url-pattern找到Servlet对应的字节码 第五步Tomcat会根据Servlet的字节码自动的执行servcie方法 4.Servlet的加载时机 servletservlet-nameServletDemo1/servlet-nameservlet-classcom.itheima.servlet.ServletDemo1/servlet-class!--Servlet的加载时机配置每个Servlet默认是在第一次访问的时候被创建默认为-1但是也可以通过web.xml配置让其在服务器启动的时候创建。数字越小优先级越高--load-on-startup1/load-on-startup /servlet1第一次访问的时候被创建 优势:减少对服务器内存的浪费。提高了服务器启动的效率。 弊端︰如果有一些要在应用加载时就做的初始化操作无法完成。 2服务器加载时创建 优势∶提前创建好对象提高了首次执行的效率。可 以完成一些应用加载时要做的初始化操作 弊端∶对服务器内存占用较多影响了服务器启动的效率 5.Servlet的线程安全问题 1问题出现一个浏览器代表一个线程多个浏览器代表多个线程。按理说我们期望的应该是每个浏览器查看的都应该是自己的用户名。而现在的结果是浏览器中数据混乱。因此我们可以认为Servlet是线程不安全的! 2分析多线程使用同一个共享数据 3解决定义类成员要谨慎。如果是共用的并且只会在初始化时赋值其他时间都是获取的话那么是没问题的。如果不是共用的或者每次使用都有可能对其赋值那就要考虑线程安全问题了可以将其定义到doGet 或 doPost方法内或者使用同步功能即可。 a.同步代码块 b…将可能需要重新赋值的值定义在自己的方法体内[推荐] 4代码实现 //servlet线程安全问题 public class ServletDemo4 extends HttpServlet {private String username;Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//2.将可能需要重新赋值的值定义在自己的方法体内[推荐]//String username null;//1.同步代码块synchronized (this){//获取用户名username req.getParameter(username);try {Thread.sleep(3000);} catch (Exception e) {e.printStackTrace();}//将用户名响应给浏览器PrintWriter pw resp.getWriter();pw.println(welcome: username);pw.close();}}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }6.默认Servlet 1含义;默认Servlet是由服务器提供的一个Servlet。它配置在Tomcat的conf目录中的web.xml中 它的映射路径是/我们在发送请求时首先会在我们项目中的web.xml中查找映射配置找到则执行。但是当找不到对应的Servlet路径时就去找默认的Servlet由默认Servlet处理。所以一切都是Servlet。 servletservlet-namedefault/servlet-nameservlet-classorg.apache.catalina.servlets.DefaultServlet/servlet-classinit-paramparam-namedebug/param-nameparam-value0/param-value/init-paraminit-paramparam-namelistings/param-nameparam-valuefalse/param-value/init-paramload-on-startup1/load-on-startup/servletservlet-mappingservlet-namedefault/servlet-nameurl-pattern//url-pattern/servlet-mapping3如一些报错信息如404都是默认Servlet给我们的提示。
http://wiki.neutronadmin.com/news/446886/

相关文章:

  • 政务网站集约化建设南京快速建站公司
  • 类似红盟的网站怎么做电商详情页设计公司
  • 微信公众平台微网站怎么做做网站建设公司排名
  • 建设网站的硬件北京网站搭建服务商
  • 做配电箱的专门网站做行业网站投入
  • 网站备案程序网站建设及推广优化
  • 山西商城网站建设苏州网站建设营销
  • 适合seo的网站邦策网站建设
  • 网站认证方式网站开发要学些什么
  • 一站式做网站哪家好中小企业服务中心网站建设
  • 做慕墙上什么网站好找事做南京律师网站建设
  • 如何自己弄网站今天最新新闻报道
  • 松江新桥专业网站建设杭州建设网站建站
  • 如何自己做摄影网站哪有备案好的网站
  • 企业案例网站生成湛江模板建站定制网站
  • wap网站制作app网站建设销售好做
  • 网站建设 天台长沙做网站开发多少钱
  • 没有网站如何做cpa功能强大的wordpress
  • 建设公司网站的请示徐州营销网站建设
  • 科技网站颜色拓者设计吧下载
  • 大连唐朝网站优化公司如何制作软件界面
  • 涟水住房和城乡建设局网站如何学做网站平台
  • 做电焊加工的网站江苏金安建设公司网站
  • 东莞seo建站排名wordpress上不去了
  • 佛山网站建设公司怎么选平台网站是什么
  • 网页设计网站设计欣赏网站开发程序员需要会的技能
  • 域名备案网站服务内容简单网页制作模板图片
  • 贵州网站建设gzzctyi哈尔滨工程信息网
  • 花都区网站建设免费注册自媒体账号
  • 网站的权限设置wordpress+广告联盟