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

电子商务网站开发相关技术建设局属于什么单位

电子商务网站开发相关技术,建设局属于什么单位,网页设计师职业要求,怎么做网站站内搜索javaweb有两种方式读取资源文件 在Servlet中读取#xff0c;可以使用servletContext#xff0c;servletContext可以拿到web所有的资源文件#xff0c;然后随便读#xff0c;但是这种方法不常用#xff0c;尽量少在Servlet中读取资源文件 在普通Java类中#xff08;DAO中可以使用servletContextservletContext可以拿到web所有的资源文件然后随便读但是这种方法不常用尽量少在Servlet中读取资源文件 在普通Java类中DAO中使用类加载器来读  和 绝对路径来读取       类装载器可以访问的范围是classes文件夹下的文件   src文件夹下面的文件在发布之后都会在classes文件夹下也就是整个类加载器都可以通过类加载器来操作     1. 使用servletContext   软件开发中用作资源文件配置文件的文件类型有两种xml文件和properties文件  比如新建一个properties文件用作数据库的配置 urljdbc\:mysql\://localhost\:3006/test usernametest password123   然后在Servlet中读取文件 public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {InputStream instream this.getServletContext().getResourceAsStream(/WEB-INF/classes/db.propertites); Properties pro new Properties(); //mappro.load(instream);String url pro.getProperty(url);String username pro.getProperty(username);System.out.println(url);System.out.println(username);}   其中路径不能写成/src/db.propertites / 表示当前web程序 因为最终读取的是发布在服务器中的文件。都是在classes文件夹下面   对于properties文件的操作都可以使用properties这个类 这个类是把文件中的数据以map形式存储 有几行就会有几个元素   注意 我们在写Java的时候常用下面这种方式读取文件但是在javaweb中是不行的 public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {FileInputStream instream new FileInputStream(/WEB-INF/classes/db.propertites); Properties pro new Properties(); //mappro.load(instream);String url pro.getProperty(url);String username pro.getProperty(username);System.out.println(url);System.out.println(username);}   FileInputStream instream new FileInputStream(/WEB-INF/classes/db.propertites); 考虑清楚这个相对路径是相对谁的。 这句话是由服务器来调用服务器由Java虚拟机来运行所以这个是相对Java虚拟机的启动目录 Java虚拟机的目录是   我们启动服务器都是在C:\tomcat\bin目录下的startup.bat启动的时候同时启动虚拟机 所以是相对的是这个目录。。   所以在javaweb中读取文件用Servlet不能使用这种方式这种方式必须把文件放在Java虚拟机目录下   传统方式也不是不可行必须要知道文件的绝对路径  使用servletContext先得到文件在磁盘的绝对路径。 public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String path this.getServletContext().getRealPath(/WEB-INF/classes/db.propertites)FileInputStream instream new FileInputStream(path); Properties pro new Properties(); //mappro.load(instream);String url pro.getProperty(url);String username pro.getProperty(username);System.out.println(url);System.out.println(username);}   这中方式可以得到该文件的名称。 因为有时间文件名称是客户机传过来的开发者需要知道 就需要截取path字符串了。 path.substring(path.lastIndexOf(\\) 1)    2. 使用类装载器 对数据库配置文件的读取一般是不放在servlet中的一般是放在DAO类中 这样才能把web层和数据层分开来   类装载器   Java虚拟机使用每一个类的第一件事情就是将该类的字节码装载近来装载类字节码的功能是由类装载器完成的类装载器负责根据一个类的名称来定位和生成类的字节码数据后返回给Java虚拟机。最常见的类装载器是将要加载的类名转换成一个.class文件名然后从文件系统中找到该文件并读取其中的内容这种类装载器也不是直接将.class文件中的内容原封不动地返回给Java虚拟机它需要将.class文件中的内容转换成Java虚拟机使用的类字节码。不管类装载器采用什么方式只要能够在内存中制造出给Java虚拟机调用类字节码即可所以把类装载器描述为类字节码的制造器更容易让人理解。    public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {userDAO dao new userDAO();dao.update();}     public class userDAO {public void update() throws IOException {InputStream instream userDAO.class.getClassLoader().getResourceAsStream(db.propertites); Properties pro new Properties(); //mappro.load(instream);String url pro.getProperty(url);String username pro.getProperty(username);System.out.println(url);System.out.println(username);}}     其中userDAO.class.getClassLoader 得到类装载器   因为他们都是在Classes文件夹下面所以可以访问到该文件   由于对数据库的操作方法有很多不能每个方法里面都写这种所以可以使用静态代码块的方式。 public class userDAO {private static Properties dbconfig new Properties();static{try {InputStream instream userDAO.class.getClassLoader().getResourceAsStream(db.propertites);dbconfig.load(instream);} catch (Exception e) {throw new ExceptionInInitializerError(e);}}public void update() throws IOException { System.out.println(dbconfig.getProperty(url)); }public void find() throws IOException { }public void delete() throws IOException { }}    使用类装载器读取文件的弊端 1.文件不能太大因为它是以装载类的方式一次性加入内存中 2.类装载器只会加载一次就是说不能显示文件的更新操作   3.使用绝对路径读取 如果需要读到实时数据就不能通过类装载器来读文件需要通过普通的文件路径的方式 还是要通过类装载的方式来得到文件的位置 public class DAO {public void update() throws IOException{String path DAO.class.getClassLoader().getResource(db.properties).getPath();FileInputStream in new FileInputStream(path);Properties pros new Properties();pros.load(in);String url pros.getProperty(url); }}      转载于:https://www.cnblogs.com/tech-bird/p/3843832.html
http://www.huolong8.cn/news/142253/

相关文章:

  • 郑州网站推广怎么做电商网站开发需求文档
  • 建个网站做外贸微积壹佰 网站建设
  • 佛山市专业的网站设计灵犀科技 高端网站建设背景图
  • wp如何做引擎网站怎么重新装wordpress
  • 长沙专业的网站建设企业石家庄做家教网站
  • 公司网站的seo怎么做厦门掘金网站建设
  • 如何做企业网站方法网站交互主要做什么的
  • 台州北京网站建设响应式网站定制开发
  • 专业制作网站用哪些软件广东网站建设开发
  • 基于C 的网站开发源码网站发布方式 提高
  • 电商网站开发方案模板做网站后台都要自己写吗
  • 个人网站数据库大小网站开发工程师面试问题
  • 网站开发过程代码问题 解决做网站协议怎么签
  • 纸做的花朵成品网站沈阳建设工程信息网下载
  • 江汉区建设局官方网站深圳网站关键词优化排名
  • 网站开发必学的技巧有哪些做MAD生肉网站
  • 做网站之前要先购买服务器吗云浮市哪有做网站的
  • 惠阳东莞网站建设公众号投放平台
  • 深圳做网站开发费用公司邮箱一般用哪个
  • php网站管理系统建设网站 如何给文件命名
  • 北京企业网站seo网络公司网站程序
  • 有做国际网站生意吗网站开发管理工具有哪些
  • qt做网站界面域名如何解析别人网站
  • 网站版面风格1m带宽网站支持多少人同时在线
  • 网站架构图用什么画温州网站建设公司有哪些
  • 乐山建设局网站软件开发要什么学历
  • 可以做网站的编程有什么软件天河网站建设策划
  • 企业门户网站建设费用网页微信怎么换行
  • 做网站怎么把导航每个页面都有黄骅港潮汐
  • 昆山网站设计公司html5移动网站制作教程