从创建工程开始,一步步来,先创建web.xml
  先要配置一个servlert,跟struts2差不多,struts2配置的是一个filter,
  意思都差不多。
  10.5000pt; font-family:'宋体'; ">配置的时候最麻烦的地方就是<servlet-class></servlet-class>   很难记住类名。
 
 我认为这也是spring难学的原因之一。
  好多类啊~~,完全不知道怎么用。没事,一步步来呗。能用一个是一个。
  既然是用spring,那肯定要引入spring的jar包。
  我是从spring官网下的,有源码的那种,
   
 
 
 每个功能都分得很详细,需要什么用什么,���们是使用mvc,所以我引用了spring-webmvc.jar.
   
 
 
 Servlet就要用这个类,名字也比较像,我确实是没有刻意去记他,但是 你翻翻jar包,还是能比较快速的找到所要的类的,大致留个印象在脑海就可以了。
  <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>  好,这样就完成了servlet的配置,就是用来转发的作用,转发给另一个类,然后另一类,再根据你在xml配置的路径 所对应的control。
 
 跟struts还是非常相似的。
  我们这么配置个servlet肯定是不可以的,还需要个配置文件,配置分发请求给对应的Control的类,还需要配置一个根据返回值显示jsp的类。
  创建配置文件springmvc.xml
  配置上述2个bean
  首先是handler。
  这个时候又要想用什么class了。。。(感觉记住所所有类名是不可能的,还是说在脑子里留个印象)
   
 
 
 我随便找了下,可以使用SimpleUrlHandlerMapping。
  <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="urlMap"> <map> <entry key="/user.do" value="userControl"></entry> </map> </property> </bean>  上面意思就是说,当你请求url为user.do 的时候,我就请求id=userControl的bean,
 
 所以我们还需要创建个userControl的bean。
  首先我们要创建个UserControl,用来处理用户请求,这个UserControl必须要实现Controller
  public class UserControl implements Controller{       @Override       public ModelAndView handleRequest(HttpServletRequest arg0,       HttpServletResponse arg1) throws Exception {             return new ModelAndView("user");       } }  就像struts里面的action差不多。
 
 这个先不多说。
  下面把这个类的bean配置一下。
  <bean id="userControl" class="com.javalong.springmvc.control.UserControl"> </bean>  就这样简单的写下就可以了,没有什么属性需要注入。
 
 下面我们再来想个问题。
  public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {       return new ModelAndView("user"); }  这个方法中,返回值什么意思啊?
 
 既然说跟struts里面的action差不多,那么不难想象,这个返回值,其实是为了转发给对应的jsp。
  在springmvc中,你需要配置一个bean来解析,你要转发的jsp。
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="suffix" value=".jsp"></property>
  <property name="prefix" value="/jsp/"></property>
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
  </bean>
  前面2个属性,就是配置前后缀,没什么好说的,后面一个就是
  配置上后,可以在jsp中 使用jstl。
  好,到这里就都配置好了~
  还差一个地方就是,我们要创建一个jsp
   
 
 
 应为我定义了个前缀/jsp/,所以我建了个文件夹,然后return new ModelAndView("user");
  是user,后缀是.jsp,所以合起来就是user.jsp.这应该没什么好说的。
  Jsp内容非常简单:
  <%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8"%> <html> <head> </head> <body>  欢迎关注~java_along~
 
 </body> </html>  就显示一段文字。
 
 下面我们部署到tomcat中,试试可以不可以。
  访问:报错
   
 
 
 一看就知道少jar包。
  导入spring-context-4.1.0.RELEASE.jar
  访问,报错
   
 
 
 导入spring-beans-4.1.0.RELEASE.jar
  访问 报错
   
 
 
 导入spring-core-4.1.0.RELEASE.jar
  启动报错:
   
 
 
 导入commons-logging.jar
  访问,报错
   
 
 
 这个错误就是jar包问题了。错误说找不到/WEB-INF/spring-servlet.xml,这个就比较奇怪了,这是一个什么文件啊,我在其他地方啊没用到,我需要你找嘛,你就找不到~~~
  因为在web.xml里面配置servlet的时候,是需要配置你springmvc配置文件的路径的,如果你不配置,那么你的文件名就默认叫servlet-name再加上-servlet.xml,并且在/WEB-INF
  下面我们配置下路径。
  <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet>  加个初始化变量contextConfigLocation,classpath:springmvc.xml这个意思就是类路径下,springmvc.xml,准确点,应该是bin目录下的springmvc.xml,但是因为src编译后就会到bin目录下,所以一般写classpath,你放在src目录下也是没错的。
 
 下面我们访问下~~~
   
 
 
 导入spring-expression-4.1.0.RELEASE.jar
  访问 报错
   
 
 
 导入jstl-1.1.2.jar
  运行 报404错误~~
  因为我们在web.xml配置了/* 就是所有请求都要通过handler,也就是最后访问的/jsp/user.jsp的请求也经过handler,结果handler发现没有配置对应的controller,所以报了个404,我们在web.xml配置为*.do就可以了
  访问成功~~
   
 
 
 大功告成~~~~~
  希望大家多多关注java_along~~~
  
				
					
                   						
					 
					 |