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 ...
随机推荐
- KMP字符串匹配问题
KMP算法 本文参考资料:https://www.zhihu.com/question/21923021 KMP算法是一种字符串匹配算法,可以在 \(O(n+m)\) 的时间复杂度内实现两个字符串的匹 ...
- Java动态调用实体的get方法
/** * 动态调用实体的get方法(注意返回值) * @param dto 实体 * @param name 动态拼接字段 * @return {@link String} * @date 2021 ...
- 2020-12-22:使用MQ的缺陷有哪些?
福哥答案2020-12-22:系统可用性降低:以前只要担心系统的问题,现在还要考虑 MQ 挂掉的问题,MQ 挂掉,所关联的系统都会无法提供服务.系统复杂性变高:要考虑消息丢失.消息重复消费.消息顺序性 ...
- 2021-07-07:股票问题4。给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成
2021-07-07:股票问题4.给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格.设计一个算法来计算你所能获取的最大利润.你最多可以完成 ...
- 2021-12-14:根据身高重建队列。 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个
2021-12-14:根据身高重建队列. 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序).每个 people[i] = [hi, ki] 表示第 i 个 ...
- Selenium - 元素操作(5) - iframe切换
Selenium - 元素操作 iframe切换 很多时候定位元素时候总是提示元素定位不到的问题,明明元素就在那里,这个时候就要关注你所 定位的元素是否在frame和iframe里面: frame标签 ...
- vb.net 数据库连接字符串
'设置数据库连接字符串 Dim connString As String = "Data Source=.\SQLEXPRESS;Initial Catalog=YourDatabaseNa ...
- 向量数据库Pinecone,治疗ChatGPT幻觉的药方?
大白话了解新鲜事,今天讲讲以Pinecone为代表的向量数据库.向量数据库Pinecone一夜爆火,4月27日B轮拿到了1亿美元的融资,估值达到7.5亿美元,一个2021年刚刚推出的数据库产品,火爆背 ...
- 详解JS的Object.create()
Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__. 语法 Object.create(proto[, propertiesObject]) Obj ...
- 前端开发如何更好的避免样式冲突?级联层(CSS@layer)
作者:vivo 互联网前端团队 - Zhang Jiqi 本文主要讲述了CSS中的级联层(CSS@layer),讨论了级联以及级联层的创建.嵌套.排序和浏览器支持情况.级联层可以用于避免样式冲突,提高 ...