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

最好的网站推广软件做网站,就上凡科建站

最好的网站推广软件,做网站,就上凡科建站,微信公众号 wordpress,wordpress网站网速慢From: http://www.cnblogs.com/superjt/p/3309255.html 现在主流的Web MVC框架除了Struts这个主力 外#xff0c;其次就是Spring MVC了#xff0c;因此这也是作为一名程序员需要掌握的主流框架#xff0c;框架选择多了#xff0c;应对多变的需求和业务时#xff0c;可实行…From: http://www.cnblogs.com/superjt/p/3309255.html 现在主流的Web MVC框架除了Struts这个主力 外其次就是Spring MVC了因此这也是作为一名程序员需要掌握的主流框架框架选择多了应对多变的需求和业务时可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发就必须要掌握它的配置及原理。 一、Spring MVC环境搭建Spring 2.5.6 Hibernate 3.2.0 1. jar包引入 Spring 2.5.6spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar Hibernate 3.6.8hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、antlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的驱动jar包 SpringMVC是一个基于DispatcherServlet的MVC框架每一个请求最先访问的都是DispatcherServletDispatcherServlet负责转发每一个Request请求给相应的HandlerHandler处理以后再返回相应的视图(View)和模型(Model)返回的视图和模型都可以不指定即可以只返回Model或只返回View或都不返回。 DispatcherServlet是继承自HttpServlet的既然SpringMVC是基于DispatcherServlet的那么我们先来配置一下DispatcherServlet好让它能够管理我们希望它管理的内容。HttpServlet是在web.xml文件中声明的。 !-- Spring MVC配置 -- !-- -- servletservlet-namespring/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!-- 可以自定义servlet.xml配置文件的位置和名称默认为WEB-INF目录下名称为[servlet-name]-servlet.xml如spring-servlet.xmlinit-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/spring-servlet.xml/param-valuenbsp; 默认/init-param--load-on-startup1/load-on-startup /servletservlet-mappingservlet-namespring/servlet-nameurl-pattern*.do/url-pattern /servlet-mapping!-- Spring配置 -- !-- -- listenerlistenerclassorg.springframework.web.context.ContextLoaderListener/listener-class /listener!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -- context-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:config/applicationContext.xml/param-value /context-param spring-servlet.xml配置 spring-servlet这个名字是因为上面web.xml中servlet-name标签配的值为springservlet-namespring/servlet-name再加上“-servlet”后缀而形成的spring-servlet.xml文件名如果改为springMVC对应的文件名则为springMVC-servlet.xml。 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:phttp://www.springframework.org/schema/p xmlns:contexthttp://www.springframework.org/schema/context xsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context a hrefhttp://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/context/spring-context-3.0.xsd/a!-- 启用spring mvc 注解 --context:annotation-config /!-- 设置使用注解的类所在的jar包 --context:component-scan base-packagecontroller/context:component-scan!-- 完成请求和注解POJO的映射 --bean classorg.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter /!-- 对转向页面的路径解析。prefix前缀 suffix后缀 --bean classorg.springframework.web.servlet.view.InternalResourceViewResolver p:prefix/jsp/ p:suffix.jsp / /beans DispatcherServlet会利用一些特殊的bean来处理Request请求和生成相应的视图返回。 关于视图的返回Controller只负责传回来一个值然后到底返回的是什么视图是由视图解析器控制的在jsp中常用的视图解析器是InternalResourceViewResovler它会要求一个前缀和一个后缀 在上述视图解析器中如果Controller返回的是blog/index那么通过视图解析器解析之后的视图就是/jsp/blog/index.jsp。 主要是说说Controller. 一个类使用了Controller进行标记的都是Controller package controller;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam;import entity.User;Controller //类似Struts的Action public class TestController {RequestMapping(test/login.do) // 请求url地址映射类似Struts的action-mappingpublic String testLogin(RequestParam(valueusername)String username, String password, HttpServletRequest request) {// RequestParam是指请求url地址映射中必须含有的参数(除非属性requiredfalse)// RequestParam可简写为RequestParam(username)if (!admin.equals(username) || !admin.equals(password)) {return loginError; // 跳转页面路径默认为转发该路径不需要包含spring-servlet配置文件中配置的前缀和后缀}return loginSuccess;}RequestMapping(/test/login2.do)public ModelAndView testLogin2(String username, String password, int age){// request和response不必非要出现在方法中如果用不上的话可以去掉// 参数的名称是与页面控件的name相匹配参数类型会自动被转换if (!admin.equals(username) || !admin.equals(password) || age 5) {return new ModelAndView(loginError); // 手动实例化ModelAndView完成跳转页面转发效果等同于上面的方法返回字符串}return new ModelAndView(new RedirectView(../index.jsp)); // 采用重定向方式跳转页面// 重定向还有一种简单写法// return new ModelAndView(redirect:../index.jsp);}RequestMapping(/test/login3.do)public ModelAndView testLogin3(User user) {// 同样支持参数为表单对象类似于Struts的ActionFormUser不需要任何配置直接写即可String username user.getUsername();String password user.getPassword();int age user.getAge();if (!admin.equals(username) || !admin.equals(password) || age 5) {return new ModelAndView(loginError);}return new ModelAndView(loginSuccess);}Resource(name loginService) // 获取applicationContext.xml中bean的id为loginService的并注入private LoginService loginService; //等价于spring传统注入方式写get和set方法这样的好处是简洁工整省去了不必要得代码 RequestMapping(/test/login4.do)public String testLogin4(User user) {if (loginService.login(user) false) {return loginError;}return loginSuccess;} } 以上4个方法示例是一个Controller里含有不同的请求url也可以采用一个url访问通过url参数来区分访问不同的方法代码如下 package controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod;Controller RequestMapping(/test2/login.do) // 指定唯一一个*.do请求关联到该Controller public class TestController2 {RequestMappingpublic String testLogin(String username, String password, int age) {// 如果不加任何参数则在请求/test2/login.do时便默认执行该方法if (!admin.equals(username) || !admin.equals(password) || age 5) {return loginError;}return loginSuccess;}RequestMapping(params method1, methodRequestMethod.POST)public String testLogin2(String username, String password) {// 依据params的参数method的值来区分不同的调用方法// 可以指定页面请求方式的类型默认为get请求if (!admin.equals(username) || !admin.equals(password)) {return loginError;}return loginSuccess;}RequestMapping(params method2)public String testLogin3(String username, String password, int age) {if (!admin.equals(username) || !admin.equals(password) || age 5) {return loginError;}return loginSuccess;} } 其实RequestMapping在Class上可看做是父Request请求url而RequestMapping在方法上的可看做是子Request请求url父子请求url最终会拼起来与页面请求url进行匹配因此RequestMapping也可以这么写 package controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;Controller RequestMapping(/test3/*) // 父request请求url public class TestController3 {RequestMapping(login.do) // 子request请求url拼接后等价于/test3/login.dopublic String testLogin(String username, String password, int age) {if (!admin.equals(username) || !admin.equals(password) || age 5) {return loginError;}return loginSuccess;} } 在SpringMVC中常用的注解还有PathVariableRequestParamPathVariable标记在方法的参数上利用它标记的参数可以利用请求路径传值看下面一个例子 RequestMapping(value/comment/{blogId}, methodRequestMethod.POST) public void comment(Comment comment,PathVariable int blogId, HttpSession session, HttpServletResponse response) throws IOException {} 在该例子中blogId是被PathVariable标记为请求路径变量的如果请求的是/blog/comment/1.do的时候就表示blogId的值为1. 同样RequestParam也是用来给参数传值的但是它是从头request的参数里面取值相当于request.getParameter(参数名)方法。 在Controller的方法中如果需要WEB元素HttpServletRequestHttpServletResponse和HttpSession只需要在给方法一个对应的参数那么在访问的时候SpringMVC就会自动给其传值但是需要注意的是在传入Session的时候如果是第一次访问系统的时候就调用session会报错因为这个时候session还没有生成。
http://www.yutouwan.com/news/161066/

相关文章:

  • 网站推广方案注意事项?自助建站的优势
  • 如何添加网站网站建设冷色调
  • 宁波seo网站服务企业专属空间登录
  • 网站制作经典案例百度做网站推广的费用
  • 成都网站建设公司创新互联做画册可以参考哪些网站
  • 企业网站建设 论文wordpress 米课
  • 国际网站建站免费的源码
  • 腾讯免费企业邮箱注册申请最新黑帽seo培训
  • 泉州企业自助建站系统麒麟seo外推软件
  • 南通通州区网站制作抖音做我女朋友网站
  • 泸州建设厅官方网站模版建网站
  • 中国建设银行网站个人客户官网为什么wordpress有cookies
  • 赤峰网站建设建站公司上海餐饮品牌策划公司
  • 电子商务网站开发的基本原则?怎样做视频电影网站
  • 电商自建站网站黄页推广软件
  • 网站的购物车怎么做印刷网站模板下载
  • 微网站促销版网站后台漏洞
  • 宣传网站制作方案装修设计网站哪个最好
  • 网站标题具体怎样优化网站每年需要续费吗
  • 网站开发都学什么海关年检要去哪个网站上做
  • 有网站的源代码如何做网站图片生成器免费
  • com域名网站排名优先上海中国国际进口博览会
  • PHP网站建设的基本流程icp网站 是什么意思
  • 网站需要人员互联网营销怎么赚钱
  • icp备案查询站长工具中国建设银行员工网站
  • 哈尔滨智能建站模板wordpress函数调用
  • 网站开发需求书模板河南省建设银行网站年报
  • 资阳优化团队预订太极seo
  • 兰州网站建设和维护工作免费开网店怎么开
  • 17网站一起做网店普上海设计网站与