基于SpringMVC的Restful风格的增删改查--①查找所有员工信息

项目前的准备:1.下载eclipse开放工具,我有的是ME,并且集成了SpringMVC开发的IDE,详见http://jingyan.baidu.com/article/1612d5005fd087e20f1eee10.html
2.jdk的配置,服务器tomcat的配置,语言的配置
开发项目: 1.新建web动态工程,注意要勾选web.xml文件。导入SpringMVC的jar包
2.配置web.xml文件:(1) 配置DispatcherServlet(具有ide的同学,可以alt+/ 进行自动生成,修改:①classpath:xxx.xml②修改url

`<url-pattern>/url-pattern>`)
   (2) 加入HiddenHttpMethodFilter,
        <filter>
        <filter-name>HiddenHttpMethodFilterfilter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter>filter-class>
        filter>
        <filter-mapping>
        <filter-name>HiddenHttpMethodFilterfilter-name>
        /*
        filter-mapping>

主要作用是可以把form表单的post请求,转化为DELETE或者PUT请求(在表单中加入即可转化)。
3.配置web.xml里面,就是你修改的xxx.xml文件(也可以使用WEB-INF下默认的xxx-Servlet.xml):(1) src下新建xxx.xml(spring bena define file下面),选择 三个namespace,包括bean,context和mvc。
(2) xxx.xml加入自动扫描的包
<context:component-scan base-package="com.bjsxt.www">
(3) 加入视图解析器

class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix" value="/WEB-INF/views/">property>
<property name="suffix" value=".jsp">property>
 
  1. 项目框架搭建完成,可以开发项目:(1) 新建实体类entities:Employ和Department (2) 新建Dao: EmployDao 和 Department Dao,使用@Repository注解 ,主要是和数据库进行交互(数据的CRUD操作) (3) 新建Handeler,使用@Controller注解,里面的方法配合使用@RequestMapping(“xxx”)映射请求路径
  2. 在Handeler中新建方法,用来处理显示所有员工信息,使用Map
    @RequestMapping("/testAllEmploy")
    public String testListEmploy(Map<String,Object> map){
        map.put("employAll", employDao.getAll());
        return "list";
    }
  6. list页面使用JSTL,对${employDao.getAll()}进行遍历(使用jstl,需要加入standard.jar和jstl.jar并且在jsp页面中引入标签库)
**标签库的引用**
 <%@  taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

list界面

<body>
<c:if test=" ${empty requestScope.employAll}">
没有員工的数据
c:if>
<c:if test="${!empty requestScope.employAll}">
  <table border="1" cellspacing="0" cellpadding="10">
  <tr>
    <th>IDth>
    <th>LastNameth>
    <th>Emailth>
    <th>Genderth>
    <th>Departmentth>
    <th>Editth>
    <th>Deleteth>
  tr>
<c:forEach var="emp" items="${requestScope.employAll}">
 <tr>
     <td>${emp.id}td>
     <td>${emp.lastName}td>
     <td>${emp.email}td>
     <td>${emp.gender==0?'Male':'Female'}td>
     <td>${emp.department.departmentName}td>
     <td><a href="">Edita>td>
     <td><a href="">Deletea>td>
 tr>
c:forEach>
table>
c:if>
body>

7 .测试:加载项目于tomcat中,点击链接,是否跳转list界面并且显示员工数据信息
8. 自己遇到的问题:(1) 如果handler页面中,需要用到的EmployDao只是定义了一个对象(没有New且,没有加入@Autowired注解),某些方法直接使用,会报错,所以,这就是SpringMVC所谓的IOC(DI)
(2) 使用JSTL页面,不显示数据,也没有报错,怎么处理==》注意:JSTL出错,不会报错。而页面不显 示,有两种原因:
① request域中没有数据【handeler处理的数据,jsp页面获取不到】
② 使用jstl语句出错,一定要和entity中的属性名字一致,并且支持级联数据的表示

你可能感兴趣的:(java_ssh)