标签:apach 监控 响应 pom file 接下来 prepare 大小 搭建
一、new 一个maven工程
会发现报错,这里是因为pom.xml 没有导入servlet依赖的包。 导入进去。
pom.xml是控制整个项目的,,是项目对象模型 主要包括依赖配置 基本配置 构建配置 项目信息 环境设置
导入servlet依赖
<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
错误会消失。
创建这些源包
二、配置web.xml文件
1.头文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
。
。
。
</web-app>
2.配置内容
<!-- 标记web应用的一个名称 -->
<display-name>ssh</display-name>
<!-- 声明初始化参数 -->
<context-param>
<param-name>contextConfigLocation</param-name> ///这一行是引用配置文件
<param-value>classpath:spring.xml,classpath:spring-hibernate.xml</param-value> //此行是配置 引用文件的路径 随后创建此处引用的配置文件,spring.xml spring-hibernate.xml。创建在src/main/resources 文件夹下
</context-param>
<!--过滤器配置 -->
处理编码问题
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<-- 配置监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--servlet相关的配置 -->
<servlet>
<description>spring mvc servlet</description>
<servlet-name>rest</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> //DispatcherServlet所有请求的入口
<init-param>
<param-name>contextConfigLocation</param-name> //引用配置文件
<param-value>
classpath:spring-mvc.xml //配置文件的路径spring-mvc.xml spring-mvc 里面配置的controller的信息,DispatcherServlet将对的请求交给controller。或者配置strus框架处理。
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>*.htmls</url-pattern> //配置可以被DispatcherServlet处理的后缀名为htmls.
</servlet-mapping>
<!-- 配置session超时时间,单位分钟 -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<!-- 配置之输入工程名是默认进入的页面 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
三、创建第二步中需要的配置文件.xml
创建tomcat 跑一下试试
发现报错
接下来去pom.xml 配置tomcat插件、
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>9090</port>
<path>/GoTravel</path>
<uriEncoding>UTF-8</uriEncoding>
<server>tomcat7</server>
</configuration>
<!-- path 是访问应用的路径 port 是tomcat 的端口号 uriEncoding URL按UTF-8进行编码,这样就解决了中文参数乱码。
Server 指定tomcat名称。 -->
</plugin>
</plugins>
配置好后,还忘了一件事 还没有配置pom.xml的spring响应的包。所有的框架都是通过spring来管理的
配置spring的架包
<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
配好后运行发现报错,
这是因为在配置spring包的时候,版本信息通过${ }来取值的,所以还需要配置版本信息,好让${ }可以取到。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.1.4.RELEASE</spring.version>
<hibernate.version>4.3.8.Final</hibernate.version>
<struts2.version>2.3.20</struts2.version>
<jackson.version>2.5.0</jackson.version>
</properties>
运行还是报错!!!!
找不到过滤器对应的类,,这里先把它注释掉 暂时用不到,后面在解决,还有把还没有配置的spring.xml spring-xml spring-hibernate.xml 文件都注释掉
运行!!!成功了!!!
、
四、配置spring.xml 和spring-mvc.xml 实现SS结合。
spring.xml 主要配置的是扫描service层 dao层 自动创建对象。以及获取config.propertites配置文件。此文件配置数据的 如数据库连接 hibernate设置
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd">
<!-- 加载配置文件 -->
<context:property-placeholder location="classpath:config.properties"/>
<!-- 扫描service自动注入为bean -->
<context:component-scan base-package="com.hwua.service.impl" />
</beans>
配置config.propertites文件。
#application configs
#jdbc druid config
validationQuery = SELECT 1
jdbc.url = jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=utf-8
jdbc.username = root
jdbc.password = root
#hibernate config
hibernate.dialect = org.hibernate.dialect.MySQLDialect
hibernate.show_sql = true
hibernate.format_sql = false
hibernate.hbm2ddl.auto = update
把前面注释掉的 取消掉,,
运行不报错了。因为这里的filter 和listener 在spring基础上的,之前没有配置spring.xml 所以报错。
接下来配置spring-mvc 文件
spring-mvc 用来扫描controller ,spring-mvc用来将DispatcherServlet传递过来的请求,交给controller,然后将controller返回的modelandviews 添加前缀和后缀,返回.jsp页面给DispatcherServlet,然后返回给客户端。
1.添加头文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
。<bean></Bean>
。<bean></Bean>
。<bean></Bean>
</beans>
2.添加中间配置文件
<!-- 自动扫描controller包下的所有类,如果@Controller注入为bean -->
<context:component-scan base-package="club.itstu.controller" />
添加对应club.itstu.controlle包
<!-- 避免IE执行AJAX时,返回JSON出现下载文件 在pom.xml中配置json包 -->
<bean id="mappingJacksonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<!-- json转换器 -->//自动装换json格式
<ref bean="mappingJacksonHttpMessageConverter" />
</list>
</property>
</bean>
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views" /> //注意添加的前缀的正确
<property name="suffix" value=".jsp" />
</bean>
测试一下 写一个测试test
package ssh;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/test")
public class TestController {
@RequestMapping("/test")
public String test(){
return "test";
}
}
发现报错了,,应该是之前注释掉的servlet ,,现在给恢复。
运行!!!
到此ss就结合好了,
五、ssh大融合
.配置spring-hibernate.xml
spring-hibernate.xml的配置主要有如下内容:数据源,SessionFactory,事务等的配置
1.添加头文件
<?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:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd">
。<beans></beans>
。<beans></beans>
。<beans></beans>
</beans>
2.配置中间的内容
<!-- 配置数据源 使用的是Druid数据源 --> //复制过去即可
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 初始化连接大小 -->
<property name="initialSize" value="0" />
<!-- 连接池最大使用连接数量 -->
<property name="maxActive" value="20" />
<!-- 连接池最小空闲 -->
<property name="minIdle" value="0" />
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="60000" />
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize"
value="33" />
<!-- 用来检测有效sql -->
<property name="validationQuery" value="${validationQuery}" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="testWhileIdle" value="true" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="25200000" />
<!-- 打开removeAbandoned功能 -->
<property name="removeAbandoned" value="true" />
<!-- 1800秒,也就是30分钟 -->
<property name="removeAbandonedTimeout" value="1800" />
<!-- 关闭abanded连接时输出错误日志 -->
<property name="logAbandoned" value="true" />
<!-- 监控数据库 -->
<property name="filters" value="mergeStat" />
</bean>
<!-- 配置hibernate的SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 注入数据源 相关信息看源码 -->
<property name="dataSource" ref="dataSource" />
<!-- hibernate配置信息 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop> //这里是hibernate 的配置 ${}取值 从congfig.propertites
<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
</props>
<!-- 扫描hibernate注解配置的entity -->
<!-- <property name="packagesToScan" value="org.andy.shop.entity" /> --> //这里与实体类entity对应
<property name="mappingResources" >
<list>
<value>mapping/Student.hbm.xml</value> //对应mapping/Student.hbm.xml文件
</list>
</property>
创建对应的entity 和Student.hbm.xml文件
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置事务增强处理Bean,指定事务管理器 -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<!-- 配置详细事务处理语义 -->
<tx:attributes>
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="get*" propagation="SUPPORTS" read-only="true" />
<tx:method name="find*" propagation="SUPPORTS" read-only="true" />
<tx:method name="select*" propagation="SUPPORTS" read-only="true" />
<tx:method name="load*" propagation="SUPPORTS" read-only="true" />
<!-- 其他采用默认事务方式 -->
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<!-- Spring aop事务管理 -->
<aop:config>
<!-- 配置切入点 -->
<aop:pointcut id="transactionPointcut"
expression="execution(* itstu.club.service.impl.*Impl.*(..))" /> /对应相应service层
<!-- 指定在txAdvice切入点应用txAdvice事务增强处理 -->
<aop:advisor pointcut-ref="transactionPointcut"
advice-ref="transactionAdvice" />
</aop:config>
六、配置entity和对应的Student.hbm.xml映射关系 及建表!!
1.配置头文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
2.配置映射关系 <hibernate-mapping >~~~~~~~</hibernate-mapping>
1.<class name="club.itstu.entity.Student" table="stu"> 、、、、、、 </class> //类名和表名称对应
创建好这个类和对应的表
<property name="name" column="name"></property>
<property name="age" column="age"></property> //属性名和数据库列名对应
基本搭建完成,,后面开始测试。。
标签:apach 监控 响应 pom file 接下来 prepare 大小 搭建
原文地址:http://www.cnblogs.com/shilei182/p/7739186.html