jsp中的一些问题
jsp里的${pageContext.request.contextPath}
在JSP中,
${pageContext.request.contextPath}是一个EL表达式(Expression Language Expression),它用于获取当前应用的上下文路径(Context Path)。上下文路径是指Web应用在容器中被部署的位置,例如如果一个Web应用被部署在Tomcat服务器的根目录下,其上下文路径就是空字符串;如果这个Web应用被部署在/myapp目录下,则上下文路径就是/myapp。
${pageContext.request.contextPath}这个EL表达式会被解析为当前应用的上下文路径,并可以用于构建相对路径的URL。例如,假设你正在编写一个JSP页面,你想在页面中引用一个应用中的静态资源(例如CSS或JavaScript文件),你可以将路径设置为${pageContext.request.contextPath}/resources/css/style.css,这样就可以确保资源路径是相对于应用的上下文路径而不是相对于当前URL路径的。
ssm 实体类的Date类型数据导util还是sql
在使用Spring框架的SSM(Spring + SpringMVC + Mybatis)开发中,实体类的Date类型数据可以导入Java的util.Date或者SQL的Date。
如果使用util.Date,在数据库中存储的时间会精确到毫秒,并且可以和java.util包中的其他日期、时间类(例如Calendar)使用。这种方式通常被用于创建应用程序的日志记录,或者在需要精确到毫秒的场景中使用。
如果使用sql.Date,在数据库中存储的时间只精确到日期,不包含时分秒信息,因此不支持与java.util包中的日期、时间类一起使用。这种方式通常被用于记录只需要日期,不需要时间的数据,例如生日、注册日期等。
在实际开发中,你可以根据项目需求选择使用哪种Date类型。如果需要精确到毫秒,或者需要与java.util包中的日期、时间类一起使用,则应该选用util.Date;否则,就应该选用sql.Date。
mapper扫描器怎么处理mapper.xml
在使用MyBatis框架进行开发时,Mapper扫描器(MapperScannerConfigurer)是一个用于扫描Mapper接口的Bean,它会自动发现并注册命名空间(namespace)等于Mapper接口全限定名、Mapper接口中方法名和Mapper.xml文件中的ID相同的映射语句。
当Mapper扫描器扫描到一个Mapper接口时,它会使用动态代理技术生成一个Mapper接口的实现类,并将其注册到Spring容器中。在实际使用中,我们通常将Mapper接口和Mapper.xml文件放在同一目录下,并使用相同的名称。例如,一个UserMapper接口对应的Mapper.xml文件通常被命名为UserMapper.xml。
要让Mapper扫描器扫描并注册Mapper接口,需要在Spring的配置文件中配置MapperScan。下面是一个示例配置:
<!-- 配置MapperScan -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
</bean>
在这个例子中,MapperScan会扫描com.example.mapper包中的所有Mapper接口,并自动发现并注册这些接口的映射语句。
注意,在使用Mapper扫描器时,需要确保Mapper接口和Mapper.xml文件的名称和位置对应正确,否则Mapper扫描器将无法自动发现映射语句。此外,也可以通过配置Mapper XML文件的路径来指定Mapper.xml文件的位置,例如:
<!-- 配置MapperScan -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
<property name="mapperLocations" value="classpath*:com/example/mapper/*.xml" />
</bean>
在这个例子中,MapperScan会扫描com.example.mapper包中的所有Mapper接口,并使用classpath:com/example/mapper/.xml来指定Mapper.xml文件的位置。
springmvc视图解析器的prefix和suffix属性的作用
在Spring MVC框架中,视图解析器(View Resolver)是一个用于将Controller层返回的逻辑视图名(Logical View Name)解析为物理视图路径(Physical View Path)的组件。Spring MVC支持多种视图解析器,例如InternalResourceViewResolver。
InternalResourceViewResolver是一个内置的视图解析器,用于将逻辑视图名解析为对应的JSP页面路径。它有两个属性:prefix和suffix。
prefix:指定JSP页面的路径前缀,例如/WEB-INF/views/。当Controller层返回的逻辑视图名为“myPage”时,InternalResourceViewResolver将会根据prefix和suffix的配置将“myPage”解析为/WEB-INF/views/myPage.jsp。
suffix:指定JSP页面的文件后缀,例如.jsp。当Controller层返回的逻辑视图名为“myPage”时,InternalResourceViewResolver将会根据prefix和suffix的配置将“myPage”解析为/WEB-INF/views/myPage.jsp。
因此,prefix和suffix属性的作用是用于构造逻辑视图名和物理视图路径之间的关系。通过配置prefix和suffix属性,我们可以实现将逻辑视图名与物理视图路径之间的对应关系,从而让Spring MVC框架在向客户端返回响应时正确地渲染JSP视图。
jsp中的一些问题的更多相关文章
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- java web学习总结(二十八) -------------------JSP中的JavaBean
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...
- jsp中的@include与jsp:include区别详解
1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...
- bootstrap在jsp中的应用
http://www.bootcss.com/ 下载bootstrap的js,css文件: 在jsp中的应用: 第一步: 新建一个web项目 将bootstrap下载下来的文件放入WEB-INF下面的 ...
- jsp中超链接路径的写法
主题 超链接不就是一个地址字符串吗?这能有什么花头? LZSB! 曾经我也是这么想的.... 最近对apache的学习让我对网页中超链接,CSS,js的路径的写法有了一些新的认识. 所以这篇文章主要分 ...
- jsp中头的导入两种方式区别
1.<jsp:include page="top.jsp">先将top.jsp中的java脚本和jsp指令执行完毕以后再讲top.jsp页面加入面中 2.<%@ ...
- Spring MVC:在jsp中引入css
为了将css引入jsp中,今天可真是踩了好多坑,最后在stackoverflow上找到了解决方法,不多说贴出代码. 在web.xml中添加以下代码: <servlet-mapping> & ...
- 使用Maven构建Java Web项目时,关于jsp中引入js、css文件路径问题。
今天有点闲,自己动手搭建一个Java Web项目,遇到jsp中引入js.css文件时路径不正确的问题,于是在网上查阅了很多资料,最终都无法解决问题,于是,上stackoverflow找到了解决方法,这 ...
- jsp中jstl标签的类似 if - else 语句 的语法
在jsp中引入jstl的标签库和函数库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c&q ...
- jsp中两种include的区别【转】
引用文章:http://www.ibm.com/developerworks/cn/java/j-jsp04293/ http://www.cnblogs.com/lazycoding/archive ...
随机推荐
- Ffmpeg 视频压缩的几个关键参数
Ffmpeg的视频操作官网文档:https://ffmpeg.org/ffmpeg-filters.html#Video-Filters 视频压缩用到的参数主要为以下几个: 文件路径:-i 输入文件的 ...
- C语言快速入门教程1快速入门 2指令 3条件选择
快速入门 什么是C语言? C是一种编程语言,1972年由Dennis Ritchie在美国AT & T的贝尔实验室开发.C语言变得很流行,因为它很简单,很容易使用.今天经常听到的一个观点是-- ...
- #Powerbi 利用EOMONTH,计算月度时间进度
在POWERBI中计算本月的时间进度 许多小伙伴在做看板时,往往会遇到需要时间进度的计算,来配合业绩达成的进度,进行比较分析.那么如何在BI做通过公式进行这个数据的求值呢? 首先,我们需要测算两个值, ...
- 2022-08-14:k8s安装PostgreSQL,yaml如何写?
2022-08-14:k8s安装PostgreSQL,yaml如何写? 答案2022-08-14: yaml如下: apiVersion: apps/v1 kind: Deployment metad ...
- 2022-07-07:原本数组中都是大于0、小于等于k的数字,是一个单调不减的数组, 其中可能有相等的数字,总体趋势是递增的。 但是其中有些位置的数被替换成了0,我们需要求出所有的把0替换的方案数量:
2022-07-07:原本数组中都是大于0.小于等于k的数字,是一个单调不减的数组, 其中可能有相等的数字,总体趋势是递增的. 但是其中有些位置的数被替换成了0,我们需要求出所有的把0替换的方案数量: ...
- vue入门第一坑:Eslint
Eslint是语法检查插件,它会严格要求你的代码,就你本身代码没错,但是一运行,Eslint就跳出来报错了.它会自动检查你的代码是否符合规范.所以,建议新手入门Vue创建项目的时候可以关掉Eslint ...
- 深入理解 python 虚拟机:魔术方法之数学计算
深入理解 python 虚拟机:魔术方法之数学计算 在本篇文章当中主要给大家介绍在 python 当中一些常见的魔术方法,本篇文章主要是关于与数学计算相关的一些魔术方法,在很多科学计算的包当中都使用到 ...
- 2019年蓝桥杯C/C++大学B组省赛真题(特别数的和)
题目描述: 小明对数位中含有2.0.1.9 的数字很感兴趣(不包括前导0) 在1到40中这样的数包括1.2.9.10 至32.39 和40,共28 个,他们的和是574. 请问,在1到n 中,所有这样 ...
- 美女同事的烦恼:如何配置 Apache SkyWalking 告警?
小婉 技术部基本上是一个和尚庙,女生非常少,即使有女生也略微有点抽象,小婉就不一样,她气质绝佳. 上午,同事小婉刚才从老板办公室里出来,看上去一脸不悦的样子.为了表示对同事的关(ba)心(gua),我 ...
- 快速上手kettle(三)壶中可以放些啥?
目录 序言 一 .kettle这壶能装些啥 二.Access输入 2.1 准备Acess数据库和表 2.2 新建一个转换并设置 2.3 启动转换预览数据 三.CSV文件输入 3.1 准备csv文件,并 ...