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

营销式网站建设个人seo怎么赚钱

营销式网站建设,个人seo怎么赚钱,手机开发者网站,用 php网站建设打出一首古诗2019独角兽企业重金招聘Python工程师标准 介绍 MVC#xff1a;Model-View-Controller#xff0c;包括三类对象#xff0c;Model模型对象、View视图表示、Controller控制器。在应用MVC方式以前#xff0c;通常将这三个对象的功能合到了一起#xff0c;通过分… 2019独角兽企业重金招聘Python工程师标准 介绍 MVCModel-View-Controller包括三类对象Model模型对象、View视图表示、Controller控制器。在应用MVC方式以前通常将这三个对象的功能合到了一起通过分离 模型、视图和控制器可以更容易实现灵活性和可重用性。 view和model为观察者和被观察者关系。分离view和model对象减少对象之间的藕和性这样当一个对象改变时将不会影响到另外的对象甚至不需要知道另外的对象的实现细节。 Controller定义了对用户输入的处理方式指Web开发人员编写的处理不同URL。把用户输入的处理方式封装为控制器。视图对象通过某一控制器对象的实例来实现特定的响应策略。为了实现不同的策略可以简单的使用不同的控制器实例来替换当前的实例。甚至可以在运行时来改变视图的控制器以改变视图对象对用户输入的响应。视图和控制器为策略模式关系。 IOC容器依赖注入。由IOC容器来管理对象的生命周期、依赖关系等从而使得应用程序的配置和依赖性规范与实际的应用程序代码分开。其中一个特点就是通过文本的配置文件进行应用程序组件间相互关系的配置而不用重新修改并编译具体的代码。 拦截器是AOP中的概念它本身是一段代码可以通过定义“织入点”来指定拦截器的代码在“织入点”的前后执行从而起到拦截的作用。 设计 前置控制器DispatcherServlet.java他只干了2件事1、负责初始化。2、接收所有的请求给处理这。 初始化DispatcherServlet初始化了系统编码等控制器的初始化由持有者完成。看下DispatcherServlet.java代码 package cn.eternal;import java.io.IOException;import javax.servlet.GenericServlet; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;import cn.eternal.config.Config;public class DispatcherServlet extends GenericServlet {private final Log log LogFactory.getLog(getClass());private Dispatcher dispatcher;Overridepublic void init(final ServletConfig config) throws ServletException{super.init(config);log.info(Init Config...);this.dispatcher new Dispatcher();this.dispatcher.init(new Config() {public String getInitParameter(String name) {return config.getInitParameter(name);}public ServletContext getServletContext() {return config.getServletContext();}});}Overridepublic void service(ServletRequest req, ServletResponse resp) throws IOException{HttpServletRequest httpReq (HttpServletRequest) req;HttpServletResponse httpResp (HttpServletResponse) resp;String method httpReq.getMethod();if (GET.equals(method) || POST.equals(method)) {dispatcher.service(httpReq, httpResp);}else{httpResp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED);}}Overridepublic void destroy() {this.dispatcher.destroy();} } Dispatcher.java package cn.eternal;import java.io.IOException;import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.commons.digester.Digester; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.xml.sax.SAXException;import cn.eternal.config.CommonsConfig; import cn.eternal.config.Config; import cn.eternal.container.Container; import cn.eternal.handler.Handler; import cn.eternal.util.CommonUtil;class Dispatcher {private final Log log LogFactory.getLog(getClass());private ServletContext servletContext;public void init(Config config) throws ServletException {this.servletContext config.getServletContext();try {String maxFileSize config.getInitParameter(max_file_size);if (maxFileSize!null) {try {long n Long.parseLong(maxFileSize);if (n0)throw new NumberFormatException();log.info(Init max_file_size n);CommonsConfig.setMaxFileSize(n);}catch (NumberFormatException e) {log.warn( Init Invalid max_file_size value maxFileSize , using default.);}}String encoding config.getInitParameter(encoding);if(encoding!null){log.info(Init encoding encoding);CommonsConfig.setEncoding(encoding);}String systemTitle config.getInitParameter(system_title);if(systemTitle!null){log.info(Init system_title systemTitle);CommonsConfig.setEncoding(systemTitle);}initDatabase();Container.init(config);}catch (Exception e) {throw new ServletException(DispatcherServlet init failed., e);}}private void initDatabase() {try {Digester digester new Digester();digester.setValidating(false);digester.addObjectCreate(database, cn.eternal.config.CommonsConfig);digester.addCallMethod(database/database, setDatabase, 0);digester.addCallMethod(database/driver, setDriver, 0);digester.addCallMethod(database/login, setLogin, 0);digester.addCallMethod(database/password, setPassword, 0);String contextRealPath servletContext.getRealPath(/);String prefix CommonUtil.replaceAllOccurances(contextRealPath, \\, /);if (prefix.endsWith(/)) {prefix prefix.substring(0, prefix.length() - 1);}digester.parse(prefix/WEB-INF/db.xml);log.info(Init Database Success);} catch (IOException e) {log.error(Init Database 错误没有找到/WEB-INF/db.xml文件。, e);} catch (SAXException e) {log.error(Init Database 文件db.xml中包含错误信息。e.getMessage(), e);}}public void service(HttpServletRequest req, HttpServletResponse resp){String url req.getRequestURI();log.info(Handle Url url);String path req.getContextPath();if (path.length()0){url url.substring(path.length());}Handler handler new Handler();try {handler.handle(url,req, resp,servletContext);} catch (Exception e) {e.printStackTrace();}}public void destroy() {log.info(Destroy Dispatcher...);Container.destroy();} }   转载于:https://my.oschina.net/eternal/blog/100620
http://wiki.neutronadmin.com/news/93213/

相关文章:

  • 专门做微信公众号的网站免费广告投放网站
  • 网站开发 策划是干嘛的如何快速备案网站
  • 做美容美发的网站有哪些网站建设标书
  • 电子商务网站建设预算表wordpress路径
  • 音乐网站前端模板石家庄软件公司排名
  • 企业网站seo最好方法网站建设需要懂的书籍
  • 新站seo优化快速上排名上海平台网站建设报
  • 苏州知名网站建设设计公司排名WordPress七牛导致评论失效
  • 五屏网站建设且网站制作
  • 网站添加百度商桥企业信息查询网官网
  • 门户网站html模板2022热门网页游戏排行榜
  • 网站建设心得感想设计动漫的软件
  • iis php服务器搭建网站免费只做网站
  • 名城苏州网站淘宝网站域名
  • 织梦个人网站模板app门户网站
  • 设计必知的设计网站 039做网站之前需要准备什么软件
  • 网站的程序和数据库怎么做的数据库 导入 wordpress 错误
  • 网站推广类型wordpress固定链接设置失败
  • 网站开发用什么语言写做网站用什么工具
  • 在服务器网站上做跳转网页设计模板html代码盒子
  • 北京 网站 建设wordpress网站怎么打开
  • 搭建网站都需要什么西安市建设工程信息网平台
  • php网站代做是什么意思网站开发者收入来源
  • 哪些网站需要icp备案世界大学排名
  • 很多年前的51网站重庆网站建设 狐灵
  • 公共体育课程网站建设启动网站集约化建设
  • 百度关键词优化曝光行者seo怎样优化网站 优帮云
  • 网站建设主要流程河南省城乡和住房建设厅网站
  • 网站建设好如何开通制作网页用什么软件
  • t型布局网站实例广宁县住房和城乡建设局网站