Spring jar包 版本4.3.9(20个)
一.applicationContext.xml配置bean,在类中读取
18个jar包 ApplicationContext 依赖spring-context-XXX.jar
1.新建web项目
2.导入jar包(18jar)
2.新建applicationContext.xml,里面配置bean
3.新建一个类test.java读取配置文件中的类及其属性
二.搭建springmvc框架 页面请求+访问后台+跳转路径
20个jar包
@Controller 依赖spring-context-XXX.jar
@RequestMapping("/XXX/")依赖spring-web-XXX.jar
控制层中有两种方式
jsp页面中使用如下方式访问后台 mmm/helloworld
如<a href="mmm/helloworld">hello world</a>
如果只在方法前加@RequestMapping("/helloworld"),类前面没有注解
jsp页面中使用/helloworld访问
1.新建web项目
2.导入jar包(20个)
3.配置WEB-INF下的web.xml
在自动生成的web.xml中添加DispatcherServlet配置
<servlet-name>自定义,上下保持一致
<servlet-class>是可以加载的,存在于spring-webmvc-XXX.jar中
<url-pattern>为/表示拦截所有请求
<param-name>自定义
<param-value>是新建的spring配置文件,用于扫描包 和视图解析器
4.在WEB-INF下新建springmvc.xml
context:component-scan配置扫描的包,就是但注解的控制层所在的包
视图解析器中 class="org.springframework.web.servlet.view.InternalResourceViewResolver"是可加载的,存在于spirng.webmvc.XXX.jar中
prefix代表前缀
suffix代表后缀
在/WEB-INF/views/中找以.jsp结尾的文件
beans头部配置祥见
Spring配置文件beans.xml头部配置解释 https://www.cnblogs.com/EasonJim/p/6880329.html
出版本号不同外其他地方一般通用
5.在上面配置的包下新建一个控制层类,添加注解,在页面调用(同上面)
jar包放到lib下,刷新项目后会自动添加到 build path ->Web App Libraries中,不用再手动添加
引入js报错的问题
$ is not defined
控制台中:
No mapping found for HTTP request with URI [/MySpringMvc1/js/jquery-1.11.3.min.js] in DispatcherServlet with name ‘studentServlet‘
在web.xml中创建js的映射
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
其他情况类似 如
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
controller层使用注解方式调用业务层方法,不使用get()和set方法()
@Autowired
private IStudentService studentService;
controller, server层建好之后启动项目会报错
Error creating bean with name ‘studentController‘: Unsatisfied dependency expressed through field ‘studentService‘; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.student.service.IStudentService‘ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
方法:在实现类前加上@Service注解
js/form路径问题
导入时 $.ajaxFileUpload is not a function
这个ajaxfileupload.js传参存在问题,用改造后的
MultipartHttpServletRequest
MultipartFile
存在于 spring-web-XXX.jar中
操作excel需要放入poi.XXX.jar包,共7个
执行
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; 跳异常
java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest
spring_mvc.xml中加入或者类中加入后
加入jar包 commons-fileupload-1.2.2.jar(跟版本无关 以上XXX代表版本)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘multipartResolver‘: Failed to introspect bean class [org.springframework.web.multipart.commons.CommonsMultipartResolver] for lookup method metadata: could not find class that it depends on; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory
@ResponseBody //ajax调用时 该注解必须有才能返回成功
SerializableBlob SerializableClob 需要导入hibernate-3.26.ga.jar