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

郑州本地做团购的网站润滑油东莞网站建设技术支持

郑州本地做团购的网站,润滑油东莞网站建设技术支持,wordpress comments 时间为什么是utc时间,中国网络营销传播网练习项目#xff1a;test SpringMVC 实例 --非注解#xff0c;只用于学习理解。到了spring 3.0以后或许部分东西已经过时了#xff0c;在实际工作中并不一定好用。 但对于理解SpringMVC的实现方式很有帮助#xff0c;在以后使用注解时#xff0c;会明白是怎么个来龙去脉test SpringMVC 实例 --非注解只用于学习理解。到了spring 3.0以后或许部分东西已经过时了在实际工作中并不一定好用。 但对于理解SpringMVC的实现方式很有帮助在以后使用注解时会明白是怎么个来龙去脉 web.xml配置文件 ?xml version1.0 encodingUTF-8? web-app version2.5   xmlnshttp://java.sun.com/xml/ns/javaee  xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance  xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd   welcome-file-list     welcome-fileindex.jsp/welcome-file   /welcome-file-list   servlet    !-- 框架总的控制中心 --    !-- 当浏览器发送一个请求时DispatcherServlet会对以下配置     servlet-mapping      servlet-nametest/servlet-name      url-pattern/*.do/url-pattern     /servlet-mapping         的url /*.do类型的请求拦截。然后初始化DispatcherServlet的一个实例servlet的上下文单利模式同时读取配置文件xml类型初始化里面的bean。    【如何没有指定文件的目录和名称时默认会到/WEB-INF目录下寻找以servletName加上-servlet为名的xml文件    即约定俗成的文件路径/WEB-INF/servletName-servlet.xml。如/WEB-INF/test-servlet.xml】         --    servlet-nametest/servlet-name    servlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class    !-- 以初始化参数的方式    init-param     param-namecontextConfigLocation/param-name 名字不能变必须是这个contextConfigLocation意思是上下文配置文件位置。          【1.值是我们的配置文件路径包括文件名。src包下的东西在编译过都会跑到/WEB-INF/classes下,      所以我们这里指定的路径问/WEB-INF/classes/xxx-servlet.xml.      2.当有多个配置servlet上下文配置文件时只要我们使用“,”、“空格”等加以分割。      3.也支持通配符*如xxx-servlet1.xmlxxx-servlet2.xmlxxx-servlet3.xml等任意多个配置文件        参数值param-value就可以写成 /WEB-INF/classes/xxx-servlet*.xml了。        或/WEB-INF/classes/spring/*.xml了。     】     param-value/WEB-INF/classes/xxx-servlet.xml,/WEB-INF/classes/xxx2.xml/param-value    /init-param -- !-- 系统启动时自动加载 初始化否则在初次使用时加载 初始化   //设置这一项是当系统启动时自动加载并初始化DispatcherServlet分发servlet总的控制中心以及映射bean为DispatcherServlet具体分送到哪一个action或者controller所配置的映射bean。如果不设置则在第一次请求 是初始化这样第一次请求比较慢所以推崇第一种方式。   --   load-on-startup1/load-on-startup    /servlet      servlet-mapping    servlet-nametest/servlet-name    url-pattern*.do/url-pattern   /servlet-mapping /web-app 注如果使用注解可以加上--  beans !-- 组件扫描:                  当我加载配置文件时到我们指定的包下扫描读取Java文件寻找标注注解的地方接口类方法或者其他进行完成初始化。               --              context:component-scan base-packagetest.controller/context:component-scan                    /beans servlet上下文配置文件 test-servlet.xml ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beans  xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:contexthttp://www.springframework.org/schema/context  xmlns:aophttp://www.springframework.org/schema/aop xmlns:utilhttp://www.springframework.org/schema/util  xmlns:mvchttp://www.springframework.org/schema/mvc  xsi:schemaLocation    http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context-3.0.xsd    http://www.springframework.org/schema/util    http://www.springframework.org/schema/util/spring-util-3.0.xsd    http://www.springframework.org/schema/mvc    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd                       !-- 当我每添加一个控制器就会在test-servlet.xml配置一个bean和添加一个路径的映射。              这样会很麻烦。             --                        !-- 请求映射 --            bean classorg.springframework.web.servlet.handler.SimpleUrlHandlerMapping !--定义映射处理器 按类别如HandlerMapping寻找所有不需要id --              property namemappings!-- 属性mappings是一个映射列表 键值对 key访问路径 value控制器id id为StartController的bean --               props                prop keystart.dostartController/prop                prop keylogin.dologinController/prop                prop keyadd_emp.doaddEmpController/prop                prop keyaddEmp.doaddEmpSuccessController/prop               /props              /property            /bean                      bean idstartController classtest.StartController / !-- 配置控制器 --            !-- 对于不需要处理只做一个转发的可以用下面的方式 --            bean idloginController classorg.springframework.web.servlet.mvc.ParameterizableViewController              !-- 简单的返回视图名 通过viewName的value值login直接调用视图解析器转发到login.jsp --              property nameviewName valuelogin/property            /bean            !-- 使用UrlFilenameViewController进行直接跳转必须保证url和最终返回的视图名返回的视图名 也必须有对应视图add_emp.jsp存在保持一致。所以prop的key为add_emp.do --            bean idaddEmpController classorg.springframework.web.servlet.mvc.UrlFilenameViewController /            bean idaddEmpSuccessController classtest.EmpController2              property namecommandClass valuetest.Emp/property!-- 如何知道command是封装Emp对象的是这里设置的这里会采用反射机制实例化一个指定类别的对象也就是Emp,并且将表单参数自动注入。 --            /bean                        !-- 视图解析器(只需要配置一个就可以了) 从逻辑视图到真正视图的映射 --            bean classorg.springframework.web.servlet.view.UrlBasedViewResolver !-- url视图解析器 --              !-- 一般基于jsp技术实现的时候都会帮jsp隐藏起来。什么叫隐藏呢               将jsp放在WEB-INF下面直接访问jsp发现找不到 避免直接访问jsp页面这就叫隐藏。 --              property nameviewClass valueorg.springframework.web.servlet.view.JstlView/property              property nameprefix value/WEB-INF/jsp/ /               property namesuffix value.jsp /            /bean                        /beans 实体类Emp.java: package test; import java.text.SimpleDateFormat; import java.util.Date; public class Emp {  private int id;  private String name;  private String phone;  private Date hireDate;  public String getName() {           return name;  }  public void setName(String name) {              this.name name;  }  public String getPhone() {             return phone;  }  public void setPhone(String phone) {              this.phone phone;  }    public int getId() {             return id;  }  public void setId(int id) {          this.id id;  }  public Date getHireDate() {            return hireDate;  }  public void setHireDate(Date hireDate) {         this.hireDate hireDate;  } Override  public String toString() {            return id,name,phone,new SimpleDateFormat(yyyy-MM-dd).format(hireDate);  } } StartController控制器 package test; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class StartController implements Controller { Override  public ModelAndView handleRequest(HttpServletRequest request,    HttpServletResponse response) throws Exception {    System.out.println(成功了);   return new ModelAndView(start); //视图的逻辑名称具体用jsp、framemark还是其他比不知道也不需要知道。 模块解耦分离。  } } 控制器EmpController--以单个参数形式传递参数 package test; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; public class EmpController extends AbstractController { Override  protected ModelAndView handleRequestInternal(HttpServletRequest request,    HttpServletResponse response) throws Exception {   //逐个获取表单参数当参数很多时就会变的麻烦。如果我们可以 直接以一个对象的形式获取就方便的多了。   //不用担心EmpController2控制器实现了这个功能。   String name request.getParameter(name);   String phone request.getParameter(phone);   Emp emp new Emp();   emp.setName(name);   emp.setPhone(phone);   //service.addEmp(emp); //一般是这样用的   System.out.println(emp);   return null;  } } 控制器EmpController2--以对象形式封装表单参数 package test; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.validation.BindException; import org.springframework.web.bind.ServletRequestDataBinder; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractCommandController; /**  * 当我每添加一个控制器就会在test-servlet.xml配置一个bean和添加一个路径的映射。  * 这样会很麻烦。  *   * 视图解析器只需要配置一个就可以了。  * author Administrator  *  */ public class EmpController2 extends AbstractCommandController {  /**   * Spring 3.0 已经将AbstractCommandController类标注为过期了她提倡我们使用注解。   * 我们这里只是帮助大家理解如何将表单参数自动封装为command是一个Object类型的对象对象的。   *    * 将表单参数自动封装到command对象中。但是需要在test-servlet.xml里配置command的类型。   * BindException绑定异常,表单中的参数在赋给对象Emp是需要类型转换。当转换出错是异常信息就会在这里。   *    * 与SimpleFormController的区别在于method为post时onSubmit才会提交。   */  Override  protected ModelAndView handle(HttpServletRequest request,    HttpServletResponse response, Object command, BindException bindException)    throws Exception {   Emp emp (Emp)command;   System.out.println(emp.getHireDate());   System.out.println(emp);   //return success; //当我们不返回模型视图是我们也可以直接返回一个String字符串这个字符串表示视图名。   return new ModelAndView(success);//返回逻辑视图名在test-servlet.xml里会得到 从逻辑视图到真正视图的映射。  }    public Map xxx(HttpServletRequest request, HttpServletResponse response){   //基于惯例的处理模式当没有指定视图名称 默认根据请求路径来返回响应的视图名有些类似于UrlFilenameViewController。   return null;  }  //注册时间编辑器  Override  protected void initBinder(HttpServletRequest request,    ServletRequestDataBinder binder) throws Exception {   //binder.registerCustomEditor(Date.class, new MyDateProperty()); //完全自己定义编辑器。 MyDateProperty为我们自己实现的时间编辑器。   binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat(yyyy-MM-dd),true)); //自定义编辑器spring提供的一个半成品编辑器。   //super.initBinder(request, binder);  } } 控制器EmpFormController与继承AbstractCommandController类型控制器的区别。 package test; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.SimpleFormController; public class EmpFormController extends SimpleFormController { /**   * 与AbstractCommandController的区别在于FormController 当 method为post时onSubmit才会提交。   */  Override  protected ModelAndView onSubmit(Object command) throws Exception {   // TODO Auto-generated method stub   Emp emp (Emp)command;   System.out.println(emp);      //return super.onSubmit(command);   return new ModelAndView(success);  }   } MyDateProperty.java属性编辑器 package test; import java.beans.PropertyEditorSupport; import java.text.ParseException; import java.text.SimpleDateFormat; /**  * 属性编辑器 - 将文本转换为xxx对象或将对象转换成文本。  * author Administrator  */ public class MyDateProperty extends PropertyEditorSupport { Override  public String getAsText() {   return super.getAsText();  } Override  public void setAsText(String arg0) throws IllegalArgumentException {   SimpleDateFormat format new SimpleDateFormat(yyyy-MM-dd);   try {    format.parse(arg0);   } catch (ParseException e) {    e.printStackTrace();   }   //super.setAsText(arg0);  } Override  public void setValue(Object arg0) {   super.setValue(arg0);  }   } add_emp.jap页面其他页面没有实质内容就不贴了 % page languagejava importjava.util.* pageEncodingISO-8859-1% !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN html   head     titleMy JSP add_emp.jsp starting page/title   /head      body     This is add emp JSP page. br     form actionaddEmp.do methodpost     id:input nameid /br /     name:input namename /br /     phone:input namephone /br /     hireDate:input namehireDate /br /     input typesubmit valueadd /     /form   /body /html
http://www.huolong8.cn/news/331841/

相关文章:

  • 任丘网站建设公司上海定制网站建设推广
  • Wordpress加720云vr邢台seo技术
  • 在网站里面如何做支付工具wordpress实现mp4播放器
  • 有专门做房孑特卖的网站吗什么样的网站高大上
  • 做t恤的网站手机网站建设哪儿好
  • 淘宝联盟做返利网站wordpress cx-udy
  • 徐州智能建站怎么做深圳优化公司义高粱seo
  • 企业网站新闻wp怎么做做网站需要许可证吗
  • 专业的网站建设公哪家专业设计logo网站是平面设计不
  • 网站官网认证怎么做的五百丁简历模板免费
  • wordpress企业站模板下载维品网站建设
  • 哪个地区网站建设好软件开发培训机构前十
  • 优设计网站网站建设作业多少钱
  • 一级a做爰片免费网站网站主题和建设
  • 湖南衡阳网站建设wordpress弹窗下载
  • 门户网站维护怎么做扬州建设集团招聘信息网站
  • 基金从业培训网站wordpress提示更新
  • 龙华网站建设的公司公司简介模板免费word
  • 网站的建设和设计方案国内简约网站设计欣赏
  • 给网站写文章怎么做的网站建设维护 微信
  • 苏州网站开发公司兴田德润放心玉溪网站建设现状
  • 东莞网站建设设网站建设打造
  • 深圳建网站价格平面设计的软件叫什么
  • 公司有网站域名后如何建网站宁波网站设计哪家公司好
  • 成都网站seo设计一 一个甜品网站建设目标
  • 珠海品牌网站建设保定百度关键词优化
  • 微网站开发视频阳江保安招聘网
  • 网站改版公司哪家好设计有关的网站
  • 茶叶市场网站建设方案网站备案要关站吗
  • 做网站代理怎么样专业做网站平台