力所能及之springmvc环境搭建
小狼从12年学习java开始,就听老师说了若干springmvc的高大上,可是人家就吊你胃口,死活不给你讲。当然,小狼不是盈利机构,不需要赶时间,这个该讲,那个不该讲的。今天,小狼就说说springmvc的环境搭建。
开发环境:myeclipse8.6 spring4.0
开发需要的jar文件:
项目结构:
web.xml配置:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.zcy</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>springMVC-servlet.xml 配置:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" 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/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <context:component-scan base-package="qh.zcy.controller"></context:component-scan> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix=".jsp"></bean> </beans>
控制器 Login.java 配置:
package qh.zcy.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class Login { @RequestMapping("/login") public String login(String username,String password,Model model){ System.out.println("username="+username+",password="+password); if(username.equalsIgnoreCase("zcy")){ model.addAttribute("username", username); return "ok"; }else{ return "no"; } } }
先说web.xml:只要的url上以.zcy为后缀访问服务器,就把这个请求交给org.springframework.web.servlet.DispatcherServlet对象来处理。上面的代码将org.springframework.web.servlet.DispatcherServlet设置别名为springMVC,而springmvc还要在项目WEB-INF文件夹中找springMVC-servlet.xml配置文件,所有的bean和相关组件都定义在该springMVC-servlet.xml中。通过org.springframework.web.servlet.DispatcherServlet可以将request请求发送给不同的组件
再说springMVC-servlet.xml:<context:component-scan base-package="qh.zcy.controller"></context:component-scan>这句话是说在下列包下寻找注释,并解析
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix=".jsp"></bean>配置在controller类中的return “ok”;
这句话的ok前面路径是跟路径,后缀加上.jsp
接着说Login.java 这个controller类,springmvc也像struts2一样支持pojo,也就是说,不需要实现任何接口或类,只需要在类中使用@Controller 等注释即可,这样即很好的实现了松耦合。大家注意到,在login.java 类中,有一行是这样写的:public String login(String username,String password,Model model) model的作用相当于往request中放置数据,大家或许发现了在其中,小狼直接写了String
username,String password,并且成功取值,由此可以发现,url中同名的参数将要自动传递给控制层方法中同名的参数,并且不需要@RequestParam("username")注解
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。