??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美成人四级hd版,中文字幕一区二区三区不卡,av一区和二区http://www.aygfsteel.com/qingchenghuanying/zh-cnWed, 18 Jun 2025 05:38:05 GMTWed, 18 Jun 2025 05:38:05 GMT60Sprng Mvc入门学习http://www.aygfsteel.com/qingchenghuanying/archive/2012/01/02/367767.html青城qd青城qdSun, 01 Jan 2012 16:32:00 GMThttp://www.aygfsteel.com/qingchenghuanying/archive/2012/01/02/367767.htmlhttp://www.aygfsteel.com/qingchenghuanying/comments/367767.htmlhttp://www.aygfsteel.com/qingchenghuanying/archive/2012/01/02/367767.html#Feedback0http://www.aygfsteel.com/qingchenghuanying/comments/commentRss/367767.htmlhttp://www.aygfsteel.com/qingchenghuanying/services/trackbacks/367767.html mvc基本程
     从URL接受h及数?>DispacherServlet->Ҏh调用具体的Controller->Controller->调用serviceҎ处理数据->通过DAO讉K
 db->增删Ҏ->db->q回操作l果?>service->处理q回l果->Controller->q回具体面和数?>jsp面
2.spring mvc注解
 @Controller,@Service,@Repository
     @Controllers声明控制层。@Service声明服务层。@Repository声明持久层(数据传输层DAOQ?/span>
     @RequestMapping把一个POJO声明为Spring里的Controller.如果不声明要写Controllercd要从Spring的Controllercȝ承,q写handleRequestҎ?/span>
     @RequestMapping(value="*.htm",method=RequestMethod.GET);属性value声明Controller处理的请求,method声明处理h的类型。可声明在类头上Q也可声明在Ҏ头上?/span>
     @RequestParaml定参数与请求参?例:public String Controller(@RequestParam("id") int topicId,User user)把参?topicld与请求的参数“id”l定Qid的g入topicld?/span>
     @AutoWiredҎcd自动装配Q可攑֜属性上QsetҎ上,构造方法上。与@AutoWierd配套使用的是@Qualifier。按名字自动装配?/span>
     @Resource与@AutoWiredcM
3.DispatcherServlet-org.springframework.web.servlet.Dispatc-herServlet
 负责请求分配给控制对象Q所以用Spring MVC的第一步是在web.xml中定义DispatcherServlet;
 <servlet>
       <servlet-name>hello</servlet-name>
       <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <init-param>
     <param-name>contextConfigLocation</param-name>
                <param-value>
    /WEB-INF/mvc-config.xml,
    /WEB-INF/spring-config.xml
  <param-value>
                <init-param>
        </servlet>
         .....
  可以加上contextConfigLocation的初始参敎ͼ用来讄Bean定义文g的位|和名称Q默认?ldquo;Servlet?servlet.xml";可以加上多个bean文g的来源;如果一个都没加则找默认的;hello-servlet.xml

  spring-servlet.xml-
  <context:component-scan base-package="cn.spring.demo" />
 <bean
 class="org.springframework.web.servlet.view.InternalResourceView-Resolver"
 p:prefix="" p:suffix=".jsp" />
  base-package为注入bean时要spring要查扄?
  Controller回传ModleAndViewQDispatcherServlet会交l?span style="color: #0000ff;">ViewResolver解析。如Q回传一个字W串“index”Q解析后扑ֈ/WEB-INF/index.jsp
4.Controller-

    @Controller//类声明为Spring容器里的BeanQSpring调用时实例化
    @RequestMapping("index.htm")//声明q个Controller处理的请求是什?/span>
    public class IndexController 
    {
     @RequestMapping(method = RequestMethod.GET)
     public String doGet() 
     {
      return "index";
     }
    }
q回“index”,交由ViewResolver解析Q返回调?ldquo;/WEB-INF/index.jsp”

    //处理posth的Controller
    @Controller
    @RequestMapping(value="index.htm",method = RequestMethod.POST)
    public String doPost(String username, String password, ModelMap modelMap) throws Exception 
    {
     modelMap.addAttribute("name",username);
     return "index";
    }
把username以名值对的Ş式放入ModelMapQ在index.jsp中用request对象接收;ModleMap,Spring提供的集合可以传递数据到q回的jsp面
http://www.ibm.com/developerworks/cn/java/j-lo-spring25-mvc/

 以上为基于注解驱动的mvc

5.DispacherServlet-HandlerMapping-ModleAndView-Controller-ViewResolver-View
 1.web.xml指定DispacherServelet和servlet的xml
  web.xml-
   <servlet>
    <servlet-name>buzzwords</servlet-name>
    <servlet-class>
       org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
   <load-on-startup>1</load-on-startup>
   </servlet>
    
  <context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/buzzwords-service.xml</param-value>
   </context-param>
   <load-on-startup>标记容器是否在启动的时候就加蝲q个servletQ数字越,当是一个负数时或者没有指定时Q则指示容器在该servlet被选择时才加蝲Q正数的D,启动该servlet的优先񔭑高
 2.BuzzwordsController-不用@Controllers则需要实现Controller接口
  public class BuzzwordsController implements Controller
  {
   private BuzzwordService facade;   
   public void setFacade(BuzzwordService facade)
   {       
     this.facade = facade;
   }   
   public ModelAndView handleRequest(HttpServletRequest request,  HttpServletResponse response) throws Exception
   {       
    return new ModelAndView("buzzwords", "buzzwordService", facade);   
   }
  }
 3.buzzwords-servlet.xml-指定servlet controller和urlmapping的映关p?/span>
  <bean id="buzzwordsController“
   class="BuzzwordsController">
    <property name="facade"><ref bean="buzzwordService"/></property>
  </bean>

  <bean id="urlMapping" class="SimpleUrlHandlerMapping">
   <property name="mappings">
    <props>
    <prop key="/buzzwords.htm">
     buzzwordsController
    </prop>
 4.指定viewResolver
  <bean id="viewResolver" class="org.springframework...InternalResourceViewResolver">
    <property name="viewClass">
   <value>org.springframework... ...View</value>
   </property>
    <property name="prefix"><value>/WEB-INF/jsp/</value></property>
     <property name="suffix"><value>.jsp</value></property>
  </bean>
 5.buzzwords.jsp
6.参?nbsp;\spring mvc\Spring MVC 详解.ppt
  \spring mvc\Spring MVC 技术交?ppt
     1. DispatchServlet在Web容器初始化的时候完成初始化——initStrategy() 
     2.ViewResolver-从一个String逻辑视图名映到一个视囑֯象;对JSP用户, 通常实现 InternalResourceViewResolver
     3.Controller负责接收从DispatchServlet转发的URLh

     开发一个Spring MVCE序的基本步骤:
     1~写处理h逻辑的处理器-controllerQ?/span>
     2在DispatcherServlet上下文对应的Spring配置文g中配|处理器Q?/span>
     3配置一个视图解析器Q对处理器返回的ModelAndViewq行解析Q?/span>
     4~写一个视囑֯?jsp或ftl{?Q将响应展现l客?/span>

 Controller
     -AbstractController
          -MultiActionController 多个请求行为合q在一个控制器?/span>
          -BaseCommandController
                -AbstractCommandController 能将h参数l定到命令对?/span>
                -AbstractFormController 支持表单提交的抽象控制器c?/span>
                       -SimpleFormController 单表单处理控制器
                       -AbstractWizardFormController 向导型表单处理控制器

     ViewResolver接口QController传回ModelAndView对象QDispatcherServlet其交由ViewResolver来作View层的相关解析。要在Spring MVC配置文g中定义一个ViewResolver实例

     ModelAndView-Mode1AndView cM表了 Spring Web MVC E序中,呈现画面时所使用 Model 数据对象?View 数据对象Q由?Java  E序的方法中一ơ只能回传一个对象,所?Modelview 的作用是装q两个对象,方便您同时返?Model ?View SimpleUrlHandlerMapping-最常用的处理器映射Q将h的URLs 影射到handlers;׃pd的分别代表URLs 和bean 的名字的name/value Ҏ定义影射Q在x-servlet.xml中定?/span>

7. 参考\spring mvc\Spring_Web_MVC_架构.ppt
 1.web.xml:
  <servlet>
  <servlet-name>dispatcherServlet</servlet-name>
  <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/mvc-config.xml</param-value>
  </init-param>       
  <load-on-startup>1</load-on-startup>
     </servlet>

     <servlet-mapping>
  <servlet-name>dispatcherServlet</servlet-name>
  <url-pattern>*.do</url-pattern>
     </servlet-mapping>

     可以?XML 文g中设?Controller h处理完毕之后Q所要呈现数据的|页路径Q见mvc -config . xml

    2.controller:
  public class HelloController implements Controller
  {
     private String viewPage;   
     public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res)  throws Exception
     {
  String user = req.getParameter("user");
  //viewPage与mvc-config.xml中的<property name="viewPage">对应,<value>对应q回的jsp面
  return new ModelAndView(viewPage, "user", user);
     }   
     public void setViewPage(String viewPage)
     {
  this.viewPage = viewPage;
     }
 }


   3.mvc-config.xml:
   <beans>  
     <bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix">
      <value>/WEB-INF/jsp/</value>
  </property>
  <property name="suffix">
      <value>.jsp</value>
  </property>
     </bean>
    
     <bean name="/hello.do"
    class="onlyfun.caterpillar.HelloController">
  <property name="viewPage">
      <value>hello</value>
  </property>
     </bean>
 </beans>

     DisPatcherServlet 必须Ҏ一?HandlerMaPping 对象Q决定请求由哪一?Controller 来处理, DispatcherServlet 默认使用 org.spring-
 framwork .web.servlet.handler . BeanNameUrlHandlerMapping Q也是Ҏ Bean 在定义时?rdquo;name”属性及使用者请求的 URL Q决定 用哪一?controller 实例Q例如在q个例子中,h / FirstSpringMVC / hello.do Ӟ DispatcherServlet Ҏ” hello.do ”名称Q决定要 使用 “name”?rdquo;hello.do”?Bean 实例Q所以就是将h交由 HelloController 的实例来处理?/span>

     ?controller q回 ModelAndView 后, Dispatcherservlet 会交?ViewResolver 对象来作 View 层的相关解析Q因而您需要设|一?ViewResolver 实例Q在q个范例中将?JSP 作ؓ View 层技?InternalResourceViewResolver如果惌在自己所定义?servlet cM使用 spring 的容器功能,则也可以使用org·springframework·web·context·ContextLoaderListener contextLoaderListener 默认会读?applicationContext.xmlQ您可以指定自己的定义文Ӟ只要?/span>
QcontextQparamQ中指定”contextConfigLocation”参数;

 WebApplicationContext 实现?ApplicationContext 接口Q是 Spring 专ؓ Servlet ?Web 应用E序设计的ApplicationContext 实现c,在取?WebApplicationContext 之后Q可以利用它来取?Bean 定义文g中定义的 Bean 实例;
     即web.xml?
   <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/beans-config.xml</param-value>
   </context-param>     
    <listener>
    <listener-class>
     org.springframework.web.context.ContextLoaderListener
   </listener-class>
   </listener>
  beans-config.xml-
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE beans PUBLIC
    "-//SPRING/DTD BEAN/EN"
    "

   <beans>  
     <bean id="dateBean" class="java.util.Date" singleton="false"/>
   </beans>
     4.MultiActionController -如果为每一个请求编写一?Controller c,在程序规模增大时Q您?Controller cd会迅速增加,可以l承 或直接用MultiActionControllerc,数个相关的h处理集中于同一个对象,而不用每一个请求编写一个控制对象?/span>
     使用MultiActionControllerQ您要配合一?MethodNameResolver 的实例, MultiActioncontroller 默认使用?MethodNameResolver cL
 org . springframework . web . servlet . mvc . multiaction . InternalPathMethodNameResolver Q这个类可以Ҏ所l的|址中,最后请求的
 文g名称来判断执?Controller中的哪一个方法,例如Qtest . do 的请求会执行 test ( HttpservletRequest , HttpservletResponse Q方?/span>
 。但通常不会使用 InternalPathMethodNameResolver Q因失M使用 MultiActionController 的一些优点,像是依用者的h
 参数来决定所要执行的Ҏ?/span>
  改用->ParameterMethodNameResolver
  mvc-config.xml-
    <bean id="paraMethodResolver"          
    class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
    <property name="paramName">
     <value>action</value>
    </property>
    <property name="defaultMethodName">
     <value>list</value>
    </property>
    </bean>

   <bean id="bookController" class="onlyfun.caterpillar.BookController">
   <property name="methodNameResolver">  <ref bean="paraMethodResolver"/>  </property>

  也可以将所有相对应的方法专门组l在一个委托(delegateQ物件中Q而不是撰写在 Controller cd中,当请求来到时Q将
  委托l这个物件来?行指定的ҎQ您只要讑֮ MultiActionController ?delegate"属性参考至委托物g卛_

  或?>PropertiesMethodNameResolver
  <bean id="propMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
   <property name="mappings">
    <props>
     <prop key="/listbook.do">list</prop>
     <prop key="/addbook.do">add</prop>
     <prop key="/deletebook.do">delete</prop>
    </props>
   </property>
  </bean>



青城qd 2012-01-02 00:32 发表评论
]]>
JQuery用户名、密码验?/title><link>http://www.aygfsteel.com/qingchenghuanying/archive/2011/12/14/367769.html</link><dc:creator>青城qd</dc:creator><author>青城qd</author><pubDate>Wed, 14 Dec 2011 15:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/qingchenghuanying/archive/2011/12/14/367769.html</guid><wfw:comment>http://www.aygfsteel.com/qingchenghuanying/comments/367769.html</wfw:comment><comments>http://www.aygfsteel.com/qingchenghuanying/archive/2011/12/14/367769.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/qingchenghuanying/comments/commentRss/367769.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/qingchenghuanying/services/trackbacks/367769.html</trackback:ping><description><![CDATA[<div id="wmqeeuq" class="Section0"> <p class="p0"><span style="font-size: 15px">用户名、密码验?/span></p> <p class="p0"><span style="font-size: 15px">1<span style="font-family: 宋体">?/span></span></p> <p class="p0"><span style="font-size: 15px">jquery<span style="font-family: 宋体">验证表单很简单的Ҏ</span></span><br /> <span style="font-size: 15px">现在|上有很?span style="font-family: Tahoma">jquery</span><span style="font-family: 宋体">验证表单的插Ӟ但都写的比较复杂。一般都有两三个文g?/span></span><br /> <span style="font-size: 15px">我今天写一个最单但是很实用的验证登录表单的Ҏ?/span><br /> <span style="font-size: 15px">我基本上只是l大家提供一U思\?span style="font-family: Tahoma">jquery</span><span style="font-family: 宋体">插g一般也是按q个思\写的?/span></span><br /> <span style="font-size: 15px">大家可以按这个思\L展,不过只要实用简单越?/span></p> <p class="p0"><span style="font-size: 15px">代码如下</span></p> <p class="p0"><span style="font-size: 15px"><script type="text/javascript"></span><br /> <span style="font-size: 15px"> //<span style="font-family: 宋体">首先要加?/span><span style="font-family: Tahoma">jquery</span><span style="font-family: 宋体">库文Ӟ因ؓq里只是l大家演C,所以我׃加蝲了?/span></span><br /> <span style="font-size: 15px"> //<span style="font-family: 宋体">下面?/span><span style="font-family: Tahoma">jquery</span><span style="font-family: 宋体">代码</span></span><br /> <span style="font-size: 15px"> $(function(){</span><br /> <span style="font-size: 15px">     $("#name").blur(function(){//<span style="font-family: 宋体">用户名文本框失去焦点触发验证事g</span></span><br /> <span style="font-size: 15px">        if(!$(this).val || !$(this).val.match(/([w]){2,15}$/))//<span style="font-family: 宋体">只处验证不能为空q且只能文或者数字或者下划线l成的2Q1Q个字符</span></span><br /> <span style="font-size: 15px">        {</span><br /> <span style="font-size: 15px">            $("#nameTip").html("<span style="font-family: 宋体">用户名不能ؓIZ只能文或者数?/span><span style="font-family: Tahoma">");</span></span><br /> <span style="font-size: 15px">        }</span><br /> <span style="font-size: 15px">        else</span><br /> <span style="font-size: 15px">        {</span><br /> <span style="font-size: 15px">            $("#nameTip").html("<span style="font-family: 宋体">输入正确</span><span style="font-family: Tahoma">");</span></span><br /> <span style="font-size: 15px">        }</span><br /> <br /> <span style="font-size: 15px">     });</span><br /> <br /> <span style="font-size: 15px">      $("#pas1").blur(function(){//<span style="font-family: 宋体">用户名文本框失去焦点触发验证事g</span></span><br /> <span style="font-size: 15px">        if(!$(this).val || !$(this).val.match(/([w]){2,15}$/))//<span style="font-family: 宋体">只处验证和上面一?/span></span><br /> <span style="font-size: 15px">        {</span><br /> <span style="font-size: 15px">            $("#pas1").html("<span style="font-family: 宋体">密码不能为空且只能ؓ英文或者数?/span><span style="font-family: Tahoma">");</span></span><br /> <span style="font-size: 15px">        }</span><br /> <span style="font-size: 15px">        else</span><br /> <span style="font-size: 15px">        {</span><br /> <span style="font-size: 15px">            $("#pas1").html("<span style="font-family: 宋体">输入正确</span><span style="font-family: Tahoma">");</span></span><br /> <span style="font-size: 15px">        }</span><br /> <br /> <span style="font-size: 15px">     });</span><br /> <span style="font-size: 15px">     $("#pas2").blur(function(){//<span style="font-family: 宋体">用户名文本框失去焦点触发验证事g</span></span><br /> <span style="font-size: 15px">        if(!$(this).val || $(this).val() != $("#pas1").val() )//<span style="font-family: 宋体">只处验证和上面一?/span></span><br /> <span style="font-size: 15px">        {</span><br /> <span style="font-size: 15px">            $("#pas2").html("<span style="font-family: 宋体">密码为空或者和上面的密码不?/span><span style="font-family: Tahoma">");</span></span><br /> <span style="font-size: 15px">        }</span><br /> <span style="font-size: 15px">        else</span><br /> <span style="font-size: 15px">        {</span><br /> <span style="font-size: 15px">            $("#pas2").html("<span style="font-family: 宋体">输入正确</span><span style="font-family: Tahoma">");</span></span><br /> <span style="font-size: 15px">        }</span><br /> <br /> <span style="font-size: 15px">     });</span><br /> <br /> <span style="font-size: 15px">})</span><br /> <span style="font-size: 15px"> </script></span><br /> <span style="font-size: 15px">  <form action="#"></span><br /> <span style="font-size: 15px">    <span style="font-family: 宋体">用户名:</span><span style="font-family: Tahoma"><input type="text" id="name" /><span id="nameTip"></span></span></span><br /> <span style="font-size: 15px">    <span style="font-family: 宋体">密码Q?/span><span style="font-family: Tahoma"><input type="password" id="pas1" /><span id="pas1Tip"></span></span></span><br /> <span style="font-size: 15px">    <span style="font-family: 宋体">认密码Q?/span><span style="font-family: Tahoma"><input type="password" id="pas2" /><span id="pas2Tip"></span></span></span><br /> <span style="font-size: 15px">    <input type="submit" value="<span style="font-family: 宋体">提交</span><span style="font-family: Tahoma">" /></span></span><br /> <span style="font-size: 15px">  </form></span></p> </div><img src ="http://www.aygfsteel.com/qingchenghuanying/aggbug/367769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/qingchenghuanying/" target="_blank">青城qd</a> 2011-12-14 23:40 <a href="http://www.aygfsteel.com/qingchenghuanying/archive/2011/12/14/367769.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˹</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ͳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">«</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ء</a>| <a href="http://" target="_blank">Ī</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʷ</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank">ɶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ֵ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ԫı</a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>