002杰信-陌生的maven-web项目整改成我们熟悉的Web架构;classpath的含义;ssm框架的整合;junit测试
这篇博客的资源来源于创智播客,先在此申明。这篇博客的出发点是jk项目,传智的做法是Maven的web模板生成的,但是这样子的结构目录与我们熟知的Web项目的结构目录相差很大,所以要按照我们熟知的项目结构来。这篇文章涉及到的最重要的是:1.加载各种配置文件时经常涉及到classpath,这个东西,要搞搞清楚,在web项目代表的是什么( WEB-INF文件夹下的classes目录
).2.还有就是做一个项目时,建包的目录,3.用junit去测试框架的整合。
传智的做法是Maven的web模板生成的:
aaarticlea/png;base64,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" alt="" />
我们要把上面那个结构给改过来:
第一步:和以前一样普通的建立一个web项目,要注意的是要勾选Add.....
.aaarticlea/png;base64,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" alt="" />
第二步:建立下面的结构:
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" />
上面的结构中:注意WEB-INF里面内容是不能随意访问的(在web基础知识里讲过);
这个项目涉及到spring,springmvc,mybatis,maven,整合的项目。
上面的结构建立好之后就开始写代码:
1.先写pom.xml文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.itcast.jk</groupId>
<artifactId>jk</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>jk Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<org.springframework.version>3.2.6.RELEASE</org.springframework.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework.version}</version>
<type>jar</type>
<scope>test</scope>
</dependency> <dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.7.2</version>
</dependency> <dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.0</version>
</dependency> <dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency> <dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.1.0.7.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.10</version>
</dependency> <dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.0.0-milestone2</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.0.0-milestone2</version>
</dependency>
<!-- Jetty is needed if you're using the CXFServlet -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.0.0-milestone2</version>
</dependency> <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.13</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency> <dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.13</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
</dependency> <dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.0.1</version>
</dependency> <dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jstl-impl</artifactId>
<version>1.2</version>
</dependency> <dependency>
<groupId>jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.4.2</version>
</dependency> <!-- 防止和tomcat中的jar冲突 -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>6.0.33</version>
<scope>provided</scope>
</dependency> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency> <dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_3.0_spec</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>jk</finalName>
</build>
</project>
这样的话用的jar包就是我电脑里面的仓库里面的jar包了。
2.写java代码:
下面的图片中的画红线的java代码如下:
aaarticlea/png;base64,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" alt="" />
BaseDao.java:
package cn.itcast.jk.dao; import java.io.Serializable;
import java.util.List;
import java.util.Map; import cn.itcast.jk.pagination.Page; /**
* @Description: 泛型类,基础的DAO接口
* @Author: nutony
* @Company: http://java.itcast.cn
* @CreateDate: 2014-2-25
*/
public interface BaseDao<T> {
public List<T> findPage(Page page); //分页查询
public List<T> find(Map paraMap); //带条件查询,条件可以为null,既没有条件;返回list对象集合
public T get(Serializable id); //只查询一个,常用于修改
public void insert(T entity); //插入,用实体作为参数
public void update(T entity); //修改,用实体作为参数
public void deleteById(Serializable id); //按id删除,删除一条;支持整数型和字符串类型ID
public void delete(Serializable[] ids); //批量删除;支持整数型和字符串类型ID
}
FactoryDao.java代码:
package cn.itcast.jk.dao; import cn.itcast.jk.domain.Factory; public interface FactoryDao extends BaseDao<Factory>{ }
BaseDaoImpl代码:
package cn.itcast.jk.dao.impl; import java.io.Serializable;
import java.util.List;
import java.util.Map; import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired; import cn.itcast.jk.dao.BaseDao;
import cn.itcast.jk.pagination.Page; public abstract class BaseDaoImpl<T> extends SqlSessionDaoSupport implements BaseDao<T>{
@Autowired
//mybatis-spring 1.0无需此方法;mybatis-spring1.2必须注入。
public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory){
super.setSqlSessionFactory(sqlSessionFactory);
} private String ns; //命名空间
public String getNs() {
return ns;
}
public void setNs(String ns) {
this.ns = ns;
} public List<T> findPage(Page page){
List<T> oList = this.getSqlSession().selectList(ns + ".findPage", page);
return oList;
} public List<T> find(Map map) {
List<T> oList = this.getSqlSession().selectList(ns + ".find", map);
return oList;
}
public T get(Serializable id) {
return this.getSqlSession().selectOne(ns + ".get", id);
} public void insert(T entity) {
this.getSqlSession().insert(ns + ".insert", entity);
} public void update(T entity) {
this.getSqlSession().update(ns + ".update", entity);
} public void deleteById(Serializable id) {
this.getSqlSession().delete(ns + ".deleteById", id);
} public void delete(Serializable[] ids) {
this.getSqlSession().delete(ns + ".delete", ids);
}
}
FactoryDaoImpl.java:
package cn.itcast.jk.dao.impl; import org.springframework.stereotype.Repository; import cn.itcast.jk.dao.FactoryDao;
import cn.itcast.jk.domain.Factory; //这么做的话就是在beans.xml配置文件中扫描时就会把这个类加入到spring容器中
@Repository
public class FactoryDaoImpl extends BaseDaoImpl<Factory> implements FactoryDao {
/**
*
*/
public FactoryDaoImpl() {
//设置命名空间
super.setNs("cn.itcast.jk.mapper");
}
}
数据库po类:
用PowerDesign写出sql语句:
create table FACTORY_C
(
FACTORY_ID VARCHAR(40) not null,
FULL_NAME VARCHAR2(200),
FACTORY_NAME VARCHAR2(50),
CONTACTS VARCHAR2(30),
PHONE VARCHAR2(20),
MOBILE VARCHAR2(20),
FAX VARCHAR2(20),
CNOTE VARCHAR2(2000),
INSPECTOR VARCHAR2(30),
ORDER_NO INT,
CREATE_BY VARCHAR2(40),
CREATE_DEPT VARCHAR2(40),
CREATE_TIME TIMESTAMP,
constraint PK_FACTORY_C primary key (FACTORY_ID)
);
对应的po类:
package cn.itcast.jk.domain; import java.util.Date; import org.omg.CORBA.PRIVATE_MEMBER; public class Factory { private String id;
private String fullName;
private String factoryName;
private String contacts;
private String phone;
private String mobile;
private String fax;
private String cnote;
private String inspector;
private Integer orderNo;
private String createBy;
private String createDept;
private Date createTime;
/**
* @return the id
*/
public String getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(String id) {
this.id = id;
}
/**
* @return the fullName
*/
public String getFullName() {
return fullName;
}
/**
* @param fullName the fullName to set
*/
public void setFullName(String fullName) {
this.fullName = fullName;
}
/**
* @return the factoryName
*/
public String getFactoryName() {
return factoryName;
}
/**
* @param factoryName the factoryName to set
*/
public void setFactoryName(String factoryName) {
this.factoryName = factoryName;
}
/**
* @return the contacts
*/
public String getContacts() {
return contacts;
}
/**
* @param contacts the contacts to set
*/
public void setContacts(String contacts) {
this.contacts = contacts;
}
/**
* @return the phone
*/
public String getPhone() {
return phone;
}
/**
* @param phone the phone to set
*/
public void setPhone(String phone) {
this.phone = phone;
}
/**
* @return the mobile
*/
public String getMobile() {
return mobile;
}
/**
* @param mobile the mobile to set
*/
public void setMobile(String mobile) {
this.mobile = mobile;
}
/**
* @return the fax
*/
public String getFax() {
return fax;
}
/**
* @param fax the fax to set
*/
public void setFax(String fax) {
this.fax = fax;
}
/**
* @return the cnote
*/
public String getCnote() {
return cnote;
}
/**
* @param cnote the cnote to set
*/
public void setCnote(String cnote) {
this.cnote = cnote;
}
/**
* @return the inspector
*/
public String getInspector() {
return inspector;
}
/**
* @param inspector the inspector to set
*/
public void setInspector(String inspector) {
this.inspector = inspector;
}
/**
* @return the orderNo
*/
public Integer getOrderNo() {
return orderNo;
}
/**
* @param orderNo the orderNo to set
*/
public void setOrderNo(Integer orderNo) {
this.orderNo = orderNo;
}
/**
* @return the createBy
*/
public String getCreateBy() {
return createBy;
}
/**
* @param createBy the createBy to set
*/
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
/**
* @return the createDept
*/
public String getCreateDept() {
return createDept;
}
/**
* @param createDept the createDept to set
*/
public void setCreateDept(String createDept) {
this.createDept = createDept;
}
/**
* @return the createTime
*/
public Date getCreateTime() {
return createTime;
}
/**
* @param createTime the createTime to set
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
} }
FactoryService.java代码:
package cn.itcast.jk.service; import java.io.Serializable;
import java.util.List;
import java.util.Map; import cn.itcast.jk.domain.Factory;
import cn.itcast.jk.pagination.Page; public interface FactoryService {
public List<Factory> findPage(Page page); //分页查询
public List<Factory> find(Map paraMap); //带条件查询,条件可以为null,既没有条件;返回list对象集合
public Factory get(Serializable id); //只查询一个,常用于修改
public void insert(Factory factory); //插入,用实体作为参数
public void update(Factory factory); //修改,用实体作为参数
public void deleteById(Serializable id); //按id删除,删除一条;支持整数型和字符串类型ID
public void delete(Serializable[] ids); //批量删除;支持整数型和字符串类型ID
}
FactoryServiceImpl.java代码:
package cn.itcast.jk.service.impl; import java.io.Serializable;
import java.util.List;
import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Service; import cn.itcast.jk.dao.FactoryDao;
import cn.itcast.jk.domain.Factory;
import cn.itcast.jk.pagination.Page;
import cn.itcast.jk.service.FactoryService; //这么做的话就是在beans.xml配置文件中扫描时就会把这个类加入到spring容器中。
//
@Service
public class FactoryServiceImpl implements FactoryService{ @Resource
FactoryDao factoryDao; @Override
public List<Factory> findPage(Page page) {
return null;
} @Override
public List<Factory> find(Map paraMap) {
return factoryDao.find(paraMap); } @Override
public Factory get(Serializable id) {
return null;
} @Override
public void insert(Factory factory) { } @Override
public void update(Factory factory) { } @Override
public void deleteById(Serializable id) { } @Override
public void delete(Serializable[] ids) { } }
上面的代码写好之后:
3.开始写各种配置文件:要注意classpath在下面配置中的用法。
config目录下的各种文件如下:
aaarticlea/png;base64,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" alt="" />
jdbc.properties代码:
#jdbc.driverClassName=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://localhost:3306/jkdb?characterEncoding=utf-8
#jdbc.username=root
#jdbc.password=root jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:XE
jdbc.username=jkdb
jdbc.password=1234 c3p0.pool.maxPoolSize=20
c3p0.pool.minPoolSize=5
c3p0.pool.initialPoolSize=3
c3p0.pool.acquireIncrement=2
FactoryMapper.xml代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.itcast.jk.mapper"> <!-- factory_c表的映射 -->
<resultMap type="cn.itcast.jk.domain.Factory" id="factoryRM">
<id property="id" column="FACTORY_ID"/>
<result property="fullName" column="FULL_NAME"/>
<result property="factoryName" column="FACTORY_NAME"/>
<result property="contacts" column="CONTACTS"/>
<result property="phone" column="PHONE"/>
<result property="mobile" column="MOBILE"/>
<result property="fax" column="FAX"/>
<result property="cnote" column="CNOTE"/>
<result property="inspector" column="INSPECTOR"/>
<result property="orderNo" column="ORDER_NO"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createDept" column="CREATE_DEPT"/>
<result property="createTime" column="CREATE_TIME"/> </resultMap>
<select id="find" parameterType="map" resultMap="factoryRM"> select * from factory_c where 1=1
</select> </mapper>
sqlMapperConfig.xml代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 把映射文件(sqlmap/user.xml)加载进sqlMapConfig.xml-->
<mappers> <mapper resource="mybatis/FactoryMapper.xml"/> </mappers> </configuration>
beans.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd "> <!-- 1.加载数据库配置的属性文件 -->
<context:property-placeholder location="classpath:/jdbc/jdbc.properties"/> <!-- 2. 包扫描dao,service -->
<context:component-scan base-package="cn.itcast.jk.dao,cn.itcast.jk.service"/> <!-- 3. 数据源dataSource C3P0 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxPoolSize" value="${c3p0.pool.maxPoolSize}"/>
<property name="minPoolSize" value="${c3p0.pool.minPoolSize}"/>
<property name="initialPoolSize" value="${c3p0.pool.initialPoolSize}"/>
<property name="acquireIncrement" value="${c3p0.pool.acquireIncrement}"/>
</bean> <!-- 4. SessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 整合mybatis,包扫描 mapper文件 -->
<property name="configLocation" value="classpath:/mybatis/sqlMapConfig.xml"/> </bean> <!-- 5. 事务 -->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean> <tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="save*" propagation="REQUIRED"/> <tx:method name="find*" read-only="true"/>
<tx:method name="get*" read-only="true"/>
<tx:method name="view*" read-only="true"/>
</tx:attributes>
</tx:advice> <aop:config>
<aop:pointcut expression="execution(* cn.itcast.jk.service.*.*(..))" id="txPointcut"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
</aop:config> </beans>
springmvc-servlet.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd "> <!-- 1. 包扫描 controller -->
<context:component-scan base-package="cn.itcast.jk.controller"/> <!-- 2. 内部资源视图解析器 -->
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages"/>
<property name="suffix" value=""/>
</bean> </beans>
这样一来就配置好了,我们用juint来做测试:
刚开始的时候,我这么测试:
aaarticlea/png;base64,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" alt="" />
结果一直报错:说是FactoryServiceImpl的bean加载有问题,就是所容器里面一直没有这个bean,那我就很奇怪,我在beans.xml中配置的是包扫描,把Dao和service包下面对都扫进去了,怎么会没有呢?答案是:FactoryServiceImpl不是接口,Spring里面有一条的规则就是用java本身的代理Api的话,必须是接口才能代理,所以只要改成如下就好了:
package test; import java.util.List; import org.junit.Test;
import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import cn.itcast.jk.dao.FactoryDao;
import cn.itcast.jk.dao.impl.BaseDaoImpl;
import cn.itcast.jk.domain.Factory;
import cn.itcast.jk.service.FactoryService; @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:/spring/beans.xml")
public class TestJdbc {
/*
*之前
*@Repository
public class FactoryDaoImpl extends BaseDaoImpl<Factory> implements FactoryDao
那么就会把FactoryDaoImpl注册到spring容器中。那么下面的代码 @Autowired就会查找相应的类型, 就相当于 FactoryService factoryServiceImpl=new FactoryDaoImpl */
@Autowired
private FactoryService factoryServiceImpl;
@Test
public void testService() { Factory factory=factoryServiceImpl.find(null).get(0);
System.out.print(factory.getFullName());
System.out.print("aa"); } }
测试结果正确。
这里我想不通的是:在这里我们用到了junit,就是说不是web,还没有发布到Tomcat,那么classpath:/spring/beans.xml就不是 WEB-INF文件夹下的classes目录
啊。那么这个classpath:又代表什么呢.
---------------------------------------------------------------------------------------------------------------------------------------------------------
反正上面的junit测试通过了,就是说框架整合(Spring,mybatis)没问题了,现在测试web.下面重点讲,Tomcat发布后的目录结构:
发布后在Tomcat下:
aaarticlea/png;base64,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R/ust5ZMiuyvhjftQXzTanb74ex6H1oP+65e392GLflhkcj1BJWt9H9KtJbf/e53ZrHQDFuut5+8qYStfUIOWK6kJQYMW2lRKqfvOQpk0c+otShsye+2PR+zlXbqadEneo+mny/RDM8888yxY8e0sJV+4rz55ptR2Prhhx9mZmaiXe50OidPnpSPQ7R4tN7N5G98rPuV00Mhl5c76pitIrXuXR2is2p/kPy9MH010+nWmeVurM3NzdOnT1vPW1pv19GjR80dMb+4yz0yae9Y/nnL3J6cfXS93+SWI+kLYT25ps9aXyM59Of0yExPT1er1fQdmPat5IcteX+jFbm6EeWD4FrR3//+d+E4H0eik+709LS240KqbBXcXxlv2gP6ppXtdiST631oPey7en1dM7umF3nnD7Kn8sHUYqK8rk2jG9E8DuamErb2jzRvuZKWKB620mrtyy+/nIYMuWIUMcPWtCQNW89LF5dyVYDMLXniP3gxt1P7KtORrlYakfNTVKM+duxY9OH46quv/vM///Pm5mb6nW9XYSudLd2M9CDI32bkj7mzJfw1orzq1157Tf5eGHWkVqQRo9aZhVTVS89k5nlLqMU/1wsdvcHkuKBtQ9/zlrk9rs2W16Vthnn60VKv3L78rJnstU6fnH2XP3ytIdt1YM9KF0k6duxYukfWA5izIiFd78f6TksHhMknLXmX010rsr8y3rQH9E37xC+iyH0fmod9V69v/szmdNHvnT/InkYtp82a6Vx+n5hFCvPtZ25qzrsCQxblLVfSEn3DVvrqymElnWitu06q16NKxzxFl1dw/a1TqfHcDFsaLfTIu5ZeA2LSdp2tl19+2QyOGvN/QqfYXxem2za0ywfwVQkHDm9apFxvBt4kGIJozJbrWe6N6Ic25CVHwQGqe4KPJBw4vGmRImxh3yJsIcNHEg4c3rRIEbawbxG2AAAASkTYAgAAKBFhCwAAoETfffdd5TsAAACUhsoWAABAiQhbAAAAJSJsAQAAlIiwBQAAUCLCFgAAQIkIWwAAACUibAEAAJSIsAUAAFAiwhYAAECJKucAAABQmooQYnuXopj2888/e42JKOr+/fv/+q//ev/+fd8bctjdvn3b9yYcChzn4Thsx/mw7S/2FmHrKXf//v1//Md/nJmZ+ad/+ifyll98WA8Hx3k4DttxPmz7i71F2Hqa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" alt="" />
在web下classpath:就是指WEB-INF文件夹下的classes目录。
如下:
aaarticlea/png;base64,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" alt="" />
都在这里了。
还有要注意的是:
aaarticlea/png;base64,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KpVK6bz9+hufoKE96iUfeIYImpbN7JWt/4steq2S1gIPPmoVVYITxKtiBXempKREZpFyj1jRW1719fXpvP3ykgZ0fRu6vm3J7+tLltWXLGsoWSZs1C9ZVl/y+/olwvbv60uW1csr56bP02wszNBsTJw5L180WbEgNl5ffaFsvKJsaj0Cr2sOBzgAAAE8SURBVIoXmUW4SLKXnvZKP169+D9N6PJmoSz83edfxlNaZcFvdytqCxZhRoXVElJIjjfgle7avlm7wKtiRemV4BK+XQRe6b89778PoP61qH/tr17et3+A29/P7R+Y2T8g/CsW7leL1DvZYyxN0zk5xNag5I4LoTCTa++ppbWQtQMVFWMsi1WSq4jEg8GrIkDZ8MMpmvsr/befnN+Mzv9p7m+aG05ONZycqj811XBqquHkVMOpqfqTUw2nphpOTc196aBmfdwU2Try0q4GcZdqWovMsblQpJLgQuVc0G9RhCjN0ZGqWL167IWW2S9+ubX17tbWu1vDd7a23tkavru19c7W8B1hz+wXW8h8USAgqMqjJVWxeoUQmvWfIZ1C4CsCgULLH795BQAkAa8AwH7AKwCwH/AKAOzHH179P1PGrHsRCCM1AAAAAElFTkSuQmCC" alt="" />
红线圈出来的东西都是在:JkTest这里目录下的,所以啊,在后续的jsp页面中有这么一段话:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}"/> <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/skin/default/css/default.css" media="all"/>
<script language="javascript" src="${ctx}/js/common.js"></script>
${pageContext.request.contextPath}指的就是/JkTest
${ctx}/skin/default/css/default.css"的意思是:/JkTest/skin/default/css/default.css。这样就可以得到资源了。 发布测试:一切正常。
002杰信-陌生的maven-web项目整改成我们熟悉的Web架构;classpath的含义;ssm框架的整合;junit测试的更多相关文章
- 把myeclipse中的web项目导入eclipse中不能编程web项目的解决办法
title: 把myeclipse中的web项目导入eclipse中不能编程web项目的解决办法 tags: grammar_cjkRuby: true --- 右键单击项目,properties-- ...
- 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...
- 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)
微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...
- java Web项目创建之一(普通java web项目的创建与发布)
1.创建新的web项目 file->new_>Dynamic Web Project(如图) 或file->new->Project->Web->Dynamic W ...
- [转]用jpa创建web项目,报错:No persistence units parsed from {classpath*:META-INF/persistence.xml}
原文地址:http://blog.sina.com.cn/s/blog_6826662b01015opk.html 最近做一个web项目用到了Spring+JPA,由于没有正确配置persistenc ...
- SpringBoot之通过Maven将项目打包成ROOT.war-yellowcong
在项目中,我们通过maven的插件,将项目达成war包,然后通过jenkins,自动化部署项目. 核心的maven配置文件,下面这一段pom.xml的配置文件. 将项目打包成ROOT.war < ...
- Maven整合SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...
- java 一款可以与ssm框架完美整合的web报表控件
硕正套件运行于客户端(浏览器),与应用服务器(Application Server)技术无关,所以能完全用于J2EE. ASP.Net.php等技术开发的Web应用产品中. 硕正套件部署于服务器,支持 ...
- SSM框架之整合(Maven实例)
有不少朋友在maven中因为pom文件依赖的事导致报错 今天我这个快速搭建ssm框架,确保在jdk7或者jdk8的环境,tomcat没什么要求.但如果要用jdk8的话,最好用run as中的serve ...
随机推荐
- 我们为什么在移动端项目中选择jQuery而不是Zepto
1.文件大小比较 首先从cnd上(http://www.bootcdn.cn/)下载jquery和zepto. jquery下载的是2.2.4版本压缩: zepto下载的是是1.20压缩版本: 二个文 ...
- LInux下inode空间报警-CROND出错导致/var/spool/postfix/maildrop/堆积
Linux下显示磁盘空间不足,,通过 df -ih 查询发现/dev/mapper/*****var 下的inode用满.inode介绍 通过 du -sh * 查询/目录下的问题,最终查到/var/ ...
- ffmpeg Win8移植记(二)
接着上回说,http://www.cnblogs.com/zjjcy/p/3384517.html 上回移植了ffmpeg在ARM上面,只是纯C的代码,没有做汇编的优化.因为ffmpeg的ARM汇编是 ...
- java线程-java多线程之可见性
可见性:一个线程对共享变量值的修改,能够及时呗其他线程看到. 共享变量:如果一个变量在多个线程的内存中都存在副本,那么这个变量就是这几个线程的共享变量. java内存模型(JMM) 描述了java程序 ...
- 铁通网络没有一个真实的公网IP,NAT转换能不能解决?
铁通网络没有一个真实的公网IP,NAT转换能不能解决? 我的是铁通宽带,现在想用自己的机子做一个动态主机,可是因为铁通垃圾网络的NAT转发问题,使用cn99qdns手动更新动态域名IP后公网能 ...
- unity模型任意无限切割插件
概述 3d模型的任意切割一直是游戏开发里的一个很大的问题,模型切割的关键点就只有生成横切面的新顶点以及切口纹理的缝合,理论上解决了这两点,就近乎可以做到以假乱真的程度了.本篇文章就这两点进行描述 详细 ...
- (二)《Spring实战》——Spring核心
第二章:装配Bean 在Spring中,对象无需自己查找或创建与其所关联的其他对象.相反,容器负责把需要相互协作的对象引用赋予各个对象.例如,一个订单管理组件需要信用卡认证组件,但它不需要自己创建信用 ...
- MySQL-EXPLAIN用法详解
今天做一个订单任务, 其中需要查有无此订单号信息, 由于订单号是个列表, 所以想检测下如下语句的性能(主要在LIMIT 1上) "订单号 IN (订单号列表)" LIMIT 1 然 ...
- EMQ学习 ---集群
emqttd集群设置管理 一.先来看EMQ的文档定义:http://emqtt.com/docs/v1/cluster.html emqttd集群设置管理 假设部署两台服务器s1.emqtt.io, ...
- baidu经纬度坐标与google经纬度坐标都转换
baidu经纬度坐标与google经纬度坐标都是经过转换的.使用下面那个url可以将原始坐标或者谷歌的坐标转换成baidu的坐标http://api.map.baidu.com/ag/coord/co ...