5.3 spring测试

Spring jar包 版本4.3.9(20个)

5.3 spring测试
 
一.applicationContext.xml配置bean,在类中读取
5.3 spring测试

 

 

 
18个jar包 ApplicationContext 依赖spring-context-XXX.jar
1.新建web项目
2.导入jar包(18jar)
2.新建applicationContext.xml,里面配置bean
3.新建一个类test.java读取配置文件中的类及其属性
5.3 spring测试
 
二.搭建springmvc框架 页面请求+访问后台+跳转路径
5.3 spring测试

 

 

20个jar包
@Controller 依赖spring-context-XXX.jar
@RequestMapping("/XXX/")依赖spring-web-XXX.jar
控制层中有两种方式
5.3 spring测试

 

 

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配置
5.3 spring测试

 

 

<servlet-name>自定义,上下保持一致
<servlet-class>是可以加载的,存在于spring-webmvc-XXX.jar中
<url-pattern>为/表示拦截所有请求
<param-name>自定义
<param-value>是新建的spring配置文件,用于扫描包 和视图解析器
4.在WEB-INF下新建springmvc.xml
5.3 spring测试

 

 

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.在上面配置的包下新建一个控制层类,添加注解,在页面调用(同上面)
 
5.3 spring测试
 
 
jar包放到lib下,刷新项目后会自动添加到 build path ->Web App Libraries中,不用再手动添加
 
引入js报错的问题
5.3 spring测试

 

 

$ 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
 
5.3 spring测试
这个ajaxfileupload.js传参存在问题,用改造后的
 
5.3 spring测试
 
 
MultipartHttpServletRequest
MultipartFile
存在于 spring-web-XXX.jar中
 
 
操作excel需要放入poi.XXX.jar包,共7个
5.3 spring测试

 

 

 
执行
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
5.3 spring测试
 

5.3 spring测试

上一篇:新版vscode使用remote ssh报错


下一篇:python第二节课4题