Spring framework MVC配置.docx
《Spring framework MVC配置.docx》由会员分享,可在线阅读,更多相关《Spring framework MVC配置.docx(16页珍藏版)》请在冰点文库上搜索。
SpringframeworkMVC配置
SpringFrameworkMVC配置
所需要的jar包,最好收集全不然影响学习,会导致jar包不兼容出现的种种问题;上XX查询,下载。
配置springlog4j;
文件目录
Log4j.properties配置文件内容
log4j.rootLogger=INFO,outConsole,outFile
#设置为控制台输出,及属性设置
log4j.appender.outConsole=org.apache.log4j.ConsoleAppender
log4j.appender.outConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.outConsole.layout.ConversionPattern=[%d][%p][%c]-%m%n
#设置为文件输出、及属性设置
log4j.appender.outFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.outFile.File=${user.home}/SpringTest.log
log4j.appender.outFile.layout=org.apache.log4j.PatternLayout
log4j.appender.outFile.layout.ConversionPattern=[%d][%p][%c]-%m%n
log4j.appender.outFile.MaxFileSize=5MB
log4j.appender.outFile.MaxBackupIndex=3
说明:
log4j设置了1种日志输出等级(INFO),和2种日志输出方式(outConsole,outFile)
spring初始化时自动会查找日志配置文件,并且加载log4j类
文件目录
配置文件内容:
log4jConfigLocation
../config/log4j.properties
log4jRefreshInterval
6000
org.springframework.web.util.Log4jConfigListener
说明:
配置日志文件的路径可以是相对路径或绝对路径,默认配置文件目录为src文件夹下;
配置springbean配置加载器;
文件目录
配置内容
org.springframework.web.context.ContextLoaderListener
将web.xml中spring配置,根据业务或功能分类,分配到其他文件中;
文件目录
Web.xml配置文件内容
user
org.springframework.web.servlet.DispatcherServlet
1
user
*.user
说明:
如果用户URL地址栏输入访问地址的后缀,结尾的,spring则处理请求会直接转向到user-servlet.xml配置文件中进行处理。
注意
命名约定:
user指向user-servlet.xml配置文件,默认都位于WEB-INF文件夹下;特别说明一下,user-servlet.xml配置文件不是javaservlet配置内容,而是spring配置内容。
命名约定控制器(AbstractController)与视图文件(jsp)的配置
描述:
根据上面描述配置文件user-servlet.xml来继续阐述,配置文件中所配置的内容,控制器与页面。
文件目录
配置文件内容
xmlversion="1.0"encoding="UTF-8"?
>
//www.springframework.org/schema/beans"xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"xmlns:
p="http:
//www.springframework.org/schema/p"xsi:
schemaLocation="http:
//www.springframework.org/schema/beanshttp:
//www.springframework.org/schema/beans/spring-beans-2.5.xsd">
prefix="/WEB-INF/jsp/"p:
suffix=".jsp"id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver">
配置文件说明:
用来配置类名与jsp文件名的约定规则,即:
getUserInfoController控制器类代码执行完毕后默认跳转到getuserinfo.jsp文件中;郁闷的是全都是小写;
prefix="/WEB-INF/jsp/"p:
suffix=".jsp"id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver">
用来配置,控制器(getUserInfoController)需要指向的jsp文件,全部位于/WEB-INF/jsp/文件夹中。
如果用户访问的请求以.user结尾,则请求会指向到user-server.xml配置文件中,再如果用户输入的是getuserinfo.user则会指向到getUserInfoControllerbean配置文件,进行业务处理。
控制器类(例如:
getUserInfoController)
packagecom.relan.lanpay.controller;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.log4j.Logger;
importorg.springframework.web.servlet.ModelAndView;
importorg.springframework.web.servlet.mvc.AbstractController;
publicclassGetUserInfoControllerextendsAbstractController{
privatestaticLoggerlogger=Logger.getLogger(GetUserInfoController.class);//日志功能
@Override
protectedModelAndViewhandleRequestInternal(HttpServletRequestarg0,HttpServletResponsearg1)throwsException{
//TODOAuto-generatedmethodstub
logger.info("测试内容");
//ModelAndViewmodelAndView=newModelAndView("forward:
/error.jsp");//此方式用来:
服务端直接转向到WebRoot/error.jsp
//ModelAndViewmodelAndView=newModelAndView("redirect:
/error.jsp");//此方式用来:
返回给客户端再转向到WebRoot/error.jsp
ModelAndViewmodelAndView=newModelAndView();//此方法用来决定返回到哪个jsp,如果没有指定,默认按照命名约定:
getuserinfo.jsp
modelAndView.addObject("userName","王思宇");//向视图放入数据
modelAndView.addObject("userSex","男");//向视图放入数据
returnmodelAndView;
}
}
视图文件(例如:
WEB-INF/jsp/getuserinfo.jsp)
<%@pagelanguage="java"pageEncoding="UTF-8"%>
<%@pageimport="java.util.*"%>
<%@pageimport="com.relan.lanpay.service.*"%>
从测试页面
${userName}
${userSex}
URL地址控制器(SimpleUrlHandlerMapping)与视图文件(jsp)的配置
文件目录
配置文件
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http:
//www.springframework.org/dtd/spring-beans.dtd">
getUserInfoController
getUserInfoController
getUserInfoController
说明:
设置简单URL访问控制器shirdrnUrlMapping其中配置了如果用户以/getUserInfo.user、/getUserSex.user、/getUserName.user地址栏访问,则spring将请求提交给getUserInfoController控制器进行处理。
控制器类(GetUserInfoController)
publicclassGetUserInfoControllerimplementsController{
privatestaticLoggerlogger=Logger.getLogger(GetUserInfoController.class);
publicModelAndViewhandleRequest(HttpServletRequestarg0,HttpServletResponsearg1)throwsException{
logger.info("这个是测试内容");
ModelAndViewmodelAndView=newModelAndView("getUserInfo.jsp");
modelAndView.addObject("userName","王思宇");
modelAndView.addObject("userSex","男");
returnmodelAndView;
}
}
视图文件(WebRoot/getUserInfo.jsp)
<%@pagelanguage="java"pageEncoding="UTF-8"%>
<%@pageimport="java.util.*"%>
<%@pageimport="com.relan.lanpay.service.*"%>
从测试页面
${userName}
${userSex}
BeanName控制器(Controller)与视图文件(jsp)的配置
文件目录
user-servlet.xml配置文件内容
xmlversion="1.0"encoding="UTF-8"?
>
xmlns="http:
//www.springframework.org/schema/beans"
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="http:
//www.springframework.org/schema/beanshttp:
//www.springframework.org/schema/beans/spring-beans-2.0.xsd">
/WEB-INF/jsp/
.jsp
org.springframework.web.servlet.view.JstlView
说明:
用户在URL地址栏输入spring查找配置name为/user/getUserInfo.user的bean;
GetUserInfoController类返回的视图名称getUserInfo,根据上面的配置文件组合+getUserInfo+等于/WEB-INF/jsp/getUserInfo.jsp
GetUserInfoController类文件内容
publicclassGetUserInfoControllerimplementsController{
privatestaticLoggerlogger=Logger.getLogger(GetUserInfoController.class);
publicModelAndViewhandleRequest(HttpServletRequestarg0,HttpServletResponsearg1)throwsException{
logger.info("这个是测试内容");
ModelAndViewmodelAndView=newModelAndView("getUserInfo");//指向/WEB-INF/jsp/getUserInfo.jsp文件
modelAndView.addObject("userName","王思宇");
modelAndView.addObject("userSex","男");
returnmodelAndView;
}
}
视图文件(WebRoot/getUserInfo.jsp)
<%@pagelanguage="java"pageEncoding="UTF-8"%>
<%@pageimport="java.util.*"%>
<%@pageimport="com.relan.lanpay.service.*"%>
从测试页面
${userName}
${userSex}
MultiActionController控制器与视图文件(jsp)的配置
文件位置
配置文件内容
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http:
//www.springframework.org/dtd/spring-beans.dtd">
--方法名解析器-->
--视图解析器-->
org.springframework.web.servlet.view.JstlView
/WEB-INF/jsp/
.jsp
--URL地址映射器-->
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
getUserInfoController
--业务代码-->
说明:
用户地址栏输入:
spring会访问GetUserInfoController类的method1方法
GetUserInfoController类代码
publicclassGetUserInfoControllerextendsMultiActionController{
privatestaticLoggerlogger=Logger.getLogg