idea搭建Spring+SpringMVC+Hibernate框架环境

梦里梦外; 2022-04-23 16:44 333阅读 0赞

一、准备工作

  • 安装并配置Java运行环境
  • Oracle数据库的安装与配置
  • 安装并配置Tomcat
  • 配置Maven环境
  • 创建Maven web-app项目

二、项目结构

在这里插入图片描述

三、导包

因为使用Maven管理项目,所以jar无需手动导入包,只需在pom.xml中配置即可。

pom.xml配置文件如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.demo</groupId>
  6. <artifactId>SSHDemo</artifactId>
  7. <version>1.0-SNAPSHOT</version>
  8. <packaging>war</packaging>
  9. <name>SSHDemo Maven Webapp</name>
  10. <!-- FIXME change it to the project's website -->
  11. <url>http://www.example.com</url>
  12. <properties>
  13. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  14. <maven.compiler.source>1.7</maven.compiler.source>
  15. <maven.compiler.target>1.7</maven.compiler.target>
  16. </properties>
  17. <dependencies>
  18. <!--单元测试-->
  19. <dependency>
  20. <groupId>junit</groupId>
  21. <artifactId>junit</artifactId>
  22. <version>4.8.2</version>
  23. <scope>test</scope>
  24. </dependency>
  25. <!-- spring start-->
  26. <dependency>
  27. <groupId>org.springframework</groupId>
  28. <artifactId>spring-context</artifactId>
  29. <version>4.3.9.RELEASE</version>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework</groupId>
  33. <artifactId>spring-core</artifactId>
  34. <version>4.3.9.RELEASE</version>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework</groupId>
  38. <artifactId>spring-beans</artifactId>
  39. <version>4.3.9.RELEASE</version>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.springframework</groupId>
  43. <artifactId>spring-aspects</artifactId>
  44. <version>4.3.9.RELEASE</version>
  45. </dependency>
  46. <dependency>
  47. <groupId>org.springframework</groupId>
  48. <artifactId>spring-orm</artifactId>
  49. <version>4.3.9.RELEASE</version>
  50. </dependency>
  51. <!-- spring end -->
  52. <!-- springmvc start -->
  53. <dependency>
  54. <groupId>org.springframework</groupId>
  55. <artifactId>spring-web</artifactId>
  56. <version>4.3.9.RELEASE</version>
  57. </dependency>
  58. <dependency>
  59. <groupId>org.springframework</groupId>
  60. <artifactId>spring-webmvc</artifactId>
  61. <version>4.3.9.RELEASE</version>
  62. </dependency>
  63. <!-- springmvc end-->
  64. <!-- loging start -->
  65. <dependency>
  66. <groupId>org.slf4j</groupId>
  67. <artifactId>slf4j-api</artifactId>
  68. <version>1.7.6</version>
  69. </dependency>
  70. <!-- loging end -->
  71. <dependency>
  72. <groupId>aspectj</groupId>
  73. <artifactId>aspectjrt</artifactId>
  74. <version>1.5.3</version>
  75. </dependency>
  76. <dependency>
  77. <groupId>org.aspectj</groupId>
  78. <artifactId>aspectjtools</artifactId>
  79. <version>1.8.7</version>
  80. </dependency>
  81. <!--jstl包-->
  82. <dependency>
  83. <groupId>javax.servlet</groupId>
  84. <artifactId>jstl</artifactId>
  85. <version>1.2</version>
  86. <scope>runtime</scope>
  87. </dependency>
  88. <!--Java注解包-->
  89. <dependency>
  90. <groupId>javax.annotation</groupId>
  91. <artifactId>javax.annotation-api</artifactId>
  92. <version>1.2</version>
  93. </dependency>
  94. <!--servlet包-->
  95. <dependency>
  96. <groupId>javax.servlet</groupId>
  97. <artifactId>servlet-api</artifactId>
  98. <version>2.5</version>
  99. </dependency>
  100. <!-- hibernate start -->
  101. <dependency>
  102. <groupId>org.hibernate</groupId>
  103. <artifactId>hibernate-core</artifactId>
  104. <version>4.2.3.Final</version>
  105. </dependency>
  106. <!-- hibernate end -->
  107. <!--oracle start-->
  108. <dependency>
  109. <groupId>com.oracle</groupId>
  110. <artifactId>ojdbc6</artifactId>
  111. <version>11.2.0.1.0</version>
  112. </dependency>
  113. <!-- oracle end-->
  114. </dependencies>
  115. <build>
  116. <resources>
  117. <resource>
  118. <directory>src/main/java</directory>
  119. <includes>
  120. <include>**/*.properties</include>
  121. <include>**/*.xml</include>
  122. </includes>
  123. <filtering>false</filtering>
  124. </resource>
  125. </resources>
  126. </build>
  127. </project>

四、SpringMVC配置

spring-mvc.xml配置文件如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-3.1.xsd
  9. http://www.springframework.org/schema/mvc
  10. http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
  11. <!-- 注解扫描包,扫描 -->
  12. <context:component-scan base-package="cn.demo.controller" />
  13. <!-- 开启mvc注解 -->
  14. <mvc:annotation-driven/>
  15. <!--配置视图解析器-->
  16. <bean id="viewResolver"
  17. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  18. <!--视图名称前缀-->
  19. <property name="prefix" value="/WEB-INF/jsp/"></property>
  20. <!--视图名称后缀-->
  21. <property name="suffix" value=".jsp"></property>
  22. </bean>
  23. <!--配置静态资源路径-->
  24. <mvc:resources mapping="/statics/**" location="/statics/"/>
  25. </beans>

在web.xml中完善springmvc配置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  5. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  6. <!-- 配置前端控制器DispatcherServlet-->
  7. <servlet>
  8. <servlet-name>springmvc</servlet-name>
  9. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  10. <init-param>
  11. <param-name>contextConfigLocation</param-name>
  12. <!--对应springmvc配置文件名-->
  13. <param-value>classpath:spring-mvc.xml</param-value>
  14. </init-param>
  15. <!--配置容器在启动的时候就加载这个servlet并实例化-->
  16. <load-on-startup>1</load-on-startup>
  17. </servlet>
  18. <servlet-mapping>
  19. <servlet-name>springmvc</servlet-name>
  20. <url-pattern>/</url-pattern>
  21. </servlet-mapping>
  22. </web-app>

测试SpringMVC配置:TestController

  1. package cn.demo.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.RequestMethod;
  5. @Controller
  6. public class TestController {
  7. @RequestMapping(value="/index",method= RequestMethod.GET)
  8. public String index(){
  9. return "index"; //返回实际视图,路径在springmvc配置文件中已配置完成
  10. }
  11. }

浏览器输入URL:

  1. http://localhost:8080/SSHDemo/index

index.jsp页面如下

  1. <html>
  2. <body>
  3. <h2>Hello World!</h2>
  4. </body>
  5. </html>

运行结果

在这里插入图片描述


五、Spring+Spring MVC整合

applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:tx="http://www.springframework.org/schema/tx"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
  8. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
  9. <!-- 自动扫描 -->
  10. <context:component-scan base-package="cn.demo">
  11. <!-- 扫描时跳过 @Controller 注解的JAVA类(控制器) -->
  12. <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  13. </context:component-scan>
  14. </beans>

完善web.xml如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  5. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  6. <!-- 配置前端控制器DispatcherServlet-->
  7. <servlet>
  8. <servlet-name>springmvc</servlet-name>
  9. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  10. <init-param>
  11. <param-name>contextConfigLocation</param-name>
  12. <!--对应springmvc配置文件名-->
  13. <param-value>classpath:spring-mvc.xml</param-value>
  14. </init-param>
  15. <!--配置容器在启动的时候就加载这个servlet并实例化-->
  16. <load-on-startup>1</load-on-startup>
  17. </servlet>
  18. <servlet-mapping>
  19. <servlet-name>springmvc</servlet-name>
  20. <url-pattern>/</url-pattern>
  21. </servlet-mapping>
  22. <!--加载Spring的配置文件到上下文中去-->
  23. <context-param>
  24. <param-name>contextConfigLocation</param-name>
  25. <param-value>classpath:applicationContext.xml</param-value>
  26. </context-param>
  27. <!-- Spring监听器 -->
  28. <listener>
  29. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  30. </listener>
  31. <!-- 增加中文乱码过滤器 -->
  32. <filter>
  33. <description><!--字符编码过滤器--></description>
  34. <filter-name>encodingFilter</filter-name>
  35. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  36. <init-param>
  37. <param-name>encoding</param-name>
  38. <param-value>UTF-8</param-value>
  39. </init-param>
  40. <init-param>
  41. <param-name>forceEncoding</param-name>
  42. <param-value>true</param-value>
  43. </init-param>
  44. </filter>
  45. <filter-mapping>
  46. <filter-name>encodingFilter</filter-name>
  47. <url-pattern>/*</url-pattern>
  48. </filter-mapping>
  49. </web-app>

Spring+Spring MVC配置完成,进行测试

  1. package cn.demo.service;
  2. import org.springframework.stereotype.Service;
  3. @Service
  4. public class TestServiceImpl implements TestService{
  5. @Override
  6. public String test1(){
  7. return "index";
  8. }
  9. }

注意 :类上面的标注@Service注解

  1. package cn.demo.controller;
  2. import cn.demo.service.TestService;
  3. import cn.demo.service.TestServiceImpl;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RequestMethod;
  8. @Controller
  9. public class TestController {
  10. @Autowired
  11. private TestService testService;
  12. @RequestMapping(value = "/testService",method =RequestMethod.GET)
  13. public String main(){
  14. return testService.test1();
  15. }
  16. }

浏览器输入URL:

  1. http://localhost:8080/SSHDemo/testService

运行结果

在这里插入图片描述


六、Spring+SpringMVC+Hibernate整合

完善applicationContext.xml文件,配置dataSource、sessionFactory等

完整applicationContext.xml如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:tx="http://www.springframework.org/schema/tx"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
  8. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
  9. <!-- 配置数据源 -->
  10. <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  11. <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
  12. <property name="username" value="scott" />
  13. <property name="password" value="123456" />
  14. <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
  15. </bean>
  16. <!-- 配置hibernate session工厂 -->
  17. <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  18. <property name="dataSource" ref="dataSource" />
  19. <property name="hibernateProperties">
  20. <props>
  21. <!--hibernate根据实体自动生成数据库表-->
  22. <prop key="hibernate.hbm2ddl.auto">update</prop>
  23. <!--指定数据库方言-->
  24. <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
  25. <!--在控制台显示执行的数据库操作语句-->
  26. <prop key="hibernate.show_sql">true</prop>
  27. <!--在控制台显示执行的数据哭操作语句(格式)-->
  28. <prop key="hibernate.format_sql">true</prop>
  29. <!--自动提交-->
  30. <prop key="hibernate.connection.autocommit">true</prop>
  31. </props>
  32. </property>
  33. <!--配置实体类与数据库表关系-->
  34. <property name="packagesToScan" value="cn.demo.pojo"/>
  35. </bean>
  36. <!-- 自动扫描 -->
  37. <context:component-scan base-package="cn.demo">
  38. <!-- 扫描时跳过 @Controller 注解的JAVA类(控制器) -->
  39. <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  40. </context:component-scan>
  41. <!-- 配置事务管理器 -->
  42. <bean name="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
  43. <property name="sessionFactory" ref="sessionFactory"/>
  44. </bean>
  45. <tx:annotation-driven transaction-manager="transactionManager" />
  46. </beans>

完整web.xml如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  5. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  6. <!-- 配置前端控制器DispatcherServlet-->
  7. <servlet>
  8. <servlet-name>springmvc</servlet-name>
  9. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  10. <init-param>
  11. <param-name>contextConfigLocation</param-name>
  12. <!--对应springmvc配置文件名-->
  13. <param-value>classpath:spring-mvc.xml</param-value>
  14. </init-param>
  15. <!--配置容器在启动的时候就加载这个servlet并实例化-->
  16. <load-on-startup>1</load-on-startup>
  17. </servlet>
  18. <servlet-mapping>
  19. <servlet-name>springmvc</servlet-name>
  20. <url-pattern>/</url-pattern>
  21. </servlet-mapping>
  22. <!--加载Spring的配置文件到上下文中去-->
  23. <context-param>
  24. <param-name>contextConfigLocation</param-name>
  25. <param-value>classpath:applicationContext.xml</param-value>
  26. </context-param>
  27. <!-- Spring监听器 -->
  28. <listener>
  29. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  30. </listener>
  31. <!-- 增加中文乱码过滤器 -->
  32. <filter>
  33. <description><!--字符编码过滤器--></description>
  34. <filter-name>encodingFilter</filter-name>
  35. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  36. <init-param>
  37. <param-name>encoding</param-name>
  38. <param-value>UTF-8</param-value>
  39. </init-param>
  40. <init-param>
  41. <param-name>forceEncoding</param-name>
  42. <param-value>true</param-value>
  43. </init-param>
  44. </filter>
  45. <filter-mapping>
  46. <filter-name>encodingFilter</filter-name>
  47. <url-pattern>/*</url-pattern>
  48. </filter-mapping>
  49. <!-- 让spring管理session的打开和关闭 -->
  50. <filter>
  51. <filter-name>openSession</filter-name>
  52. <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
  53. </filter>
  54. <filter-mapping>
  55. <filter-name>openSession</filter-name>
  56. <url-pattern>/*</url-pattern>
  57. </filter-mapping>
  58. </web-app>

完整spring-mvc配置文件如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-3.1.xsd
  9. http://www.springframework.org/schema/mvc
  10. http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
  11. <!-- 注解扫描包,扫描 -->
  12. <context:component-scan base-package="cn.demo.controller" />
  13. <!-- 开启mvc注解 -->
  14. <mvc:annotation-driven/>
  15. <!--配置视图解析器-->
  16. <bean id="viewResolver"
  17. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  18. <!--视图名称前缀-->
  19. <property name="prefix" value="/WEB-INF/jsp/"></property>
  20. <!--视图名称后缀-->
  21. <property name="suffix" value=".jsp"></property>
  22. </bean>
  23. <!--配置静态资源路径-->
  24. <mvc:resources mapping="/statics/**" location="/statics/"/>
  25. </beans>

所有配置已经完成,进行测试

Dept.java实体类

  1. package cn.demo.pojo;
  2. import javax.persistence.*;
  3. import java.io.Serializable;
  4. /**
  5. * 部门表
  6. */
  7. @Entity
  8. @Table(name="DEPT")
  9. public class Dept implements Serializable {
  10. /**
  11. * 部门编号
  12. */
  13. @Id
  14. @Column(name="DEPTNO")
  15. private Integer deptNo;
  16. /**
  17. * 部门名称
  18. */
  19. @Column(name="DNAME")
  20. private String dName;
  21. /**
  22. * 部门地区
  23. */
  24. @Column(name="LOC")
  25. private String loc;
  26. public Integer getDeptNo() {
  27. return deptNo;
  28. }
  29. public void setDeptNo(Integer deptNo) {
  30. this.deptNo = deptNo;
  31. }
  32. public String getdName() {
  33. return dName;
  34. }
  35. public void setdName(String dName) {
  36. this.dName = dName;
  37. }
  38. public String getLoc() {
  39. return loc;
  40. }
  41. public void setLoc(String loc) {
  42. this.loc = loc;
  43. }
  44. }

DeptDao.java

  1. package cn.demo.dao;
  2. import cn.demo.pojo.Dept;
  3. import java.util.List;
  4. public interface DeptDao {
  5. /**
  6. * 获取所有部门
  7. * @return
  8. */
  9. List<Dept> getAllDept();
  10. }

DeptDaoImpl.java

  1. package cn.demo.dao.impl;
  2. import cn.demo.dao.DeptDao;
  3. import cn.demo.pojo.Dept;
  4. import org.hibernate.Session;
  5. import org.hibernate.SessionFactory;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Repository;
  8. import java.util.List;
  9. @Repository
  10. public class DeptDaoImpl implements DeptDao {
  11. @Autowired
  12. private SessionFactory sessionFactory;
  13. /**
  14. * 获取Session
  15. */
  16. private Session currentSession(){
  17. return this.sessionFactory.getCurrentSession();
  18. }
  19. /**
  20. * 获取所有部门
  21. * @return
  22. */
  23. @Override
  24. public List<Dept> getAllDept(){
  25. return currentSession().createQuery("from Dept").list();
  26. }
  27. }

DeptService.java

  1. package cn.demo.service;
  2. import cn.demo.pojo.Dept;
  3. import java.util.List;
  4. public interface DeptService {
  5. /**
  6. * 获取所有部门
  7. * @return
  8. */
  9. List<Dept> getAllDept();
  10. }

DeptServiceImpl.java

  1. package cn.demo.service.impl;
  2. import cn.demo.dao.DeptDao;
  3. import cn.demo.pojo.Dept;
  4. import cn.demo.service.DeptService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import org.springframework.transaction.annotation.Transactional;
  8. import java.util.List;
  9. @Service
  10. @Transactional
  11. public class DeptServiceImpl implements DeptService {
  12. @Autowired
  13. private DeptDao deptDao;
  14. @Override
  15. public List<Dept> getAllDept() {
  16. return deptDao.getAllDept();
  17. }
  18. }

DeptController.java

  1. package cn.demo.controller;
  2. import cn.demo.pojo.Dept;
  3. import cn.demo.service.DeptService;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.ui.Model;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RequestMethod;
  9. import java.util.List;
  10. @Controller
  11. public class DeptController {
  12. @Autowired
  13. private DeptService deptService;
  14. @RequestMapping(value = "/getdept",method = RequestMethod.GET)
  15. public String getDept(Model model){
  16. List<Dept> depts=deptService.getAllDept();
  17. model.addAttribute("depts",depts);
  18. return "test";
  19. }
  20. }

test.jsp如下

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  3. <%
  4. String path = request.getContextPath();
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  6. %>
  7. <!DOCTYPE html>
  8. <html lang="en">
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  11. <!-- Meta, title, CSS, favicons, etc. -->
  12. <meta charset="utf-8">
  13. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  14. <meta name="viewport" content="width=device-width, initial-scale=1">
  15. <title></title>
  16. </head>
  17. <head>
  18. <title>Title</title>
  19. </head>
  20. <body>
  21. <c:forEach items="${depts}" var="dept">
  22. id:${dept.deptNo}
  23. dname:${dept.dName}
  24. loc:${dept.loc}
  25. <hr/>
  26. </c:forEach>
  27. </body>
  28. </html>

浏览器输入URL进行测试,运行结果如图

在这里插入图片描述

关注微信公众号【程序媛琬淇】,专注分享Java干货,给你意想不到的收获。
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,333人围观)

还没有评论,来说两句吧...

相关阅读