spring mvc 的搭建
来源:互联网 发布:罗尼库尔曼数据深蹲 编辑:程序博客网 时间:2024/06/06 07:19
首先配置web.xml,配置Spring的监听器,用于初始化ApplicationContext对象:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- 配置Spring的监听器,用于初始化ApplicationContext对象 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>
然后配置ApplicationContext对象的参数:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext*.xml</param-value> </context-param>
然后添加spring mvc servlet :
<servlet> <description>spring mvc servlet</description> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <description>spring mvc 配置文件</description> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
数据库连接方式:proxool
<!-- proxool --> <servlet> <servlet-name>ServletConfigurator</servlet-name> <servlet-class> org.logicalcobwebs.proxool.configuration.ServletConfigurator </servlet-class> <init-param> <param-name>xmlFile</param-name> <param-value>WEB-INF/proxool.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- proxool监控 --> <servlet> <servlet-name>Admin</servlet-name> <servlet-class> org.logicalcobwebs.proxool.admin.servlet.AdminServlet </servlet-class> </servlet>
监控url:
<servlet-mapping> <servlet-name>Admin</servlet-name> <url-pattern>/admin</url-pattern> </servlet-mapping>
配置applicationContext.xml文件(在src目录下):
<?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" 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-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/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> </beans>
首先,自动扫描与装配bean:
<!-- 自动扫描与装配bean --> <context:component-scan base-package="com.xxx.jcy.entity"/> <context:component-scan base-package="com.xxx.jcy.daoI"/> <context:component-scan base-package="com.xxx.jcy.daoImpl"/> <context:component-scan base-package="com.xxx.jcy.serviceI"/> <context:component-scan base-package="com.xxx.jcy.serviceImpl"/> <!-- Spring 获取配置文件中定义的bean --> <context:annotation-config/> <!-- dbcp配置 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>org.logicalcobwebs.proxool.ProxoolDriver</value> </property> <property name="url"> <value>proxool.1EEAFDADAA5014E938548EF816B3C6E1</value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource" /> </property> <property name="hibernateProperties"> <props> <!--配置Hibernate的方言--> <prop key="hibernate.dialect"> org.hibernate.dialect.OracleDialect </prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <!--格式化输出sql语句--> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.use_sql_comments">false</prop> <prop key="hibernate.cache.use_second_level_cache">false</prop> <!-- <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop> --> </props> </property> <!-- 注解方式配置 --> <property name="packagesToScan"> <list> <value>com.xxx.jcy.entity</value> </list> </property> </bean> <!-- JDBC配置 --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref bean="dataSource"/> </property> </bean> <!--自动扫描实体 --> <bean name="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 配置事务 --> <tx:annotation-driven transaction-manager="transactionManager" />
接下来,配置spring-mvc.xml(在src目录下):
<?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-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/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd "> <context:annotation-config /> <!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 --> <context:component-scan base-package="com.xxx.jcy.action"></context:component-scan> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/" p:suffix=".jsp" /> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="utf-8" /> </beans>
另外,proxool.xml(在WEB-INF目录下) 文件内容如下:
<?xml version='1.0' encoding='iso-8859-1'?><something-else-entirely> <proxool> <alias>1EEAFDADAA5014E938548EF816B3C6E1</alias> <driver-url>jdbc:oracle:thin:@192.168.16.46:1521:orcl</driver-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <driver-properties> <property name="user" value="jcy1"/> <property name="password" value="jcy1"/> </driver-properties> <house-keeping-sleep-time>90000</house-keeping-sleep-time> <simultaneous-build-throttle>20</simultaneous-build-throttle> <prototype-count>5</prototype-count> <maximum-connection-count>200</maximum-connection-count> <minimum-connection-count>10</minimum-connection-count> </proxool> <proxool> <alias>proxool</alias> <driver-url>jdbc:oracle:thin:@192.168.16.46:1521:orcl</driver-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <driver-properties> <property name="user" value="JCY"/> <property name="password" value="JCY"/> </driver-properties> <house-keeping-sleep-time>90000</house-keeping-sleep-time> <simultaneous-build-throttle>20</simultaneous-build-throttle> <prototype-count>5</prototype-count> <maximum-connection-count>200</maximum-connection-count> <minimum-connection-count>10</minimum-connection-count> </proxool></something-else-entirely>
接下来是java MVC层的代码示例:
DAO层:
首先定义接口:
public interface CommonDaoI {}
实现类:
@Repository("commonDao")public class CommonDaoImpl implements CommonDaoI {@Autowired private JdbcTemplate jdbcTemplate;@Autowiredprivate SessionFactory sessionFactory;//TODO 以下可自由于添加操作数据库的方法}
Service层:
接口:
public interface CommonServiceI {}
实现类:
@Service("commonServiceImpl")@Transactionalpublic class CommonServiceImpl implements CommonServiceI { @Autowired private CommonDaoI commonDao ; //.......方法}
控制层:
@Controller@RequestMapping("/commonAction.do")public class CommonAction { @Autowired private CommonServiceI commonService ;//检查验证码是否正确,正确返回"1"@RequestMapping(params="checkHtmlCode") public void checkHtmlCode(HttpServletRequest request,HttpServletResponse response){ String htmlCode = request.getSession().getAttribute("htmlCode").toString(); String checkCode = request.getParameter("checkCode"); if(checkCode!=null && checkCode.equalsIgnoreCase(htmlCode)){ try { PrintWriter pw = response.getWriter(); pw.write("1"); pw.flush(); } catch (IOException e) { e.printStackTrace(); } } }}
实现bean对象示例:
@Entity@Table(name = "jcy_xhcx_grsq", schema = "")@SuppressWarnings("serial")public class XhcxGrsqEntity implements java.io.Serializable{ /**被查询人姓名*/ private java.lang.String grsqBcxry; /**主键*/ private java.lang.String id; /**国籍/地区*/ private java.lang.String grsqGjdq; /**身份证/护照号码*/ private java.lang.String grsqIdnumber; /**手机号码*/ private java.lang.String grsqTel; /**身份证照片*/ private String grsqIdph; /**申请用途*/ private java.lang.String grsqSqyt; /**申请状态*/ private java.lang.String grsqState; /**申报号*/ private java.lang.String grsqSbh; /**申报密码*/ private java.lang.String grsqSbpsw; /**申请人*/ private java.lang.String grsqSqr; /**申请人ID*/ private java.lang.String grsqSqrid; /**申请时间*/ private java.lang.String grsqSqsj; //投标项目名称 private String grsqTbxm; //招标单位名称 private String grsqZbdw; @Column(name ="GRSQ_TBXM",nullable=true,length=200) public String getGrsqTbxm() { return grsqTbxm; } public void setGrsqTbxm(String grsqTbxm) { this.grsqTbxm = grsqTbxm; } @Column(name ="GRSQ_ZBDW",nullable=true,length=200) public String getGrsqZbdw() { return grsqZbdw; } public void setGrsqZbdw(String grsqZbdw) { this.grsqZbdw = grsqZbdw; } /** *方法: 取得java.lang.String *@return: java.lang.String 被查询人姓名 */ @Column(name ="GRSQ_BCXRY",nullable=true,length=20) public java.lang.String getGrsqBcxry(){ return this.grsqBcxry; } /** *方法: 设置java.lang.String *@param: java.lang.String 被查询人姓名 */ public void setGrsqBcxry(java.lang.String grsqBcxry){ this.grsqBcxry = grsqBcxry; } /** *方法: 取得java.lang.String *@return: java.lang.String 主键 */ @Id @GeneratedValue(generator="hibernate-uuid") @GenericGenerator(name="hibernate-uuid",strategy="uuid") @Column(name ="GRSQ_UNID",nullable=false,length=32) public java.lang.String getId(){ return this.id; } /** *方法: 设置java.lang.String *@param: java.lang.String 主键 */ public void setId(java.lang.String id){ this.id = id; } /** *方法: 取得java.lang.String *@return: java.lang.String 国籍/地区 */ @Column(name ="GRSQ_GJDQ",nullable=true,length=10) public java.lang.String getGrsqGjdq(){ return this.grsqGjdq; } /** *方法: 设置java.lang.String *@param: java.lang.String 国籍/地区 */ public void setGrsqGjdq(java.lang.String grsqGjdq){ this.grsqGjdq = grsqGjdq; } /** *方法: 取得java.lang.String *@return: java.lang.String 身份证/护照号码 */ @Column(name ="GRSQ_IDNUMBER",nullable=true,length=30) public java.lang.String getGrsqIdnumber(){ return this.grsqIdnumber; } /** *方法: 设置java.lang.String *@param: java.lang.String 身份证/护照号码 */ public void setGrsqIdnumber(java.lang.String grsqIdnumber){ this.grsqIdnumber = grsqIdnumber; } /** *方法: 取得java.lang.String *@return: java.lang.String 手机号码 */ @Column(name ="GRSQ_TEL",nullable=true,length=11) public java.lang.String getGrsqTel(){ return this.grsqTel; } /** *方法: 设置java.lang.String *@param: java.lang.String 手机号码 */ public void setGrsqTel(java.lang.String grsqTel){ this.grsqTel = grsqTel; } /** *方法: 取得java.lang.String *@return: java.lang.String 申请用途 */ @Column(name ="GRSQ_SQYT",nullable=true,length=10) public java.lang.String getGrsqSqyt(){ return this.grsqSqyt; } /** *方法: 设置java.lang.String *@param: java.lang.String 申请用途 */ public void setGrsqSqyt(java.lang.String grsqSqyt){ this.grsqSqyt = grsqSqyt; } /** *方法: 取得java.lang.String *@return: java.lang.String 申请状态 */ @Column(name ="GRSQ_STATE",nullable=true,length=10) public java.lang.String getGrsqState(){ return this.grsqState; } /** *方法: 设置java.lang.String *@param: java.lang.String 申请状态 */ public void setGrsqState(java.lang.String grsqState){ this.grsqState = grsqState; } /** *方法: 取得java.lang.String *@return: java.lang.String 申报号 */ @Column(name ="GRSQ_SBH",nullable=true,length=30) public java.lang.String getGrsqSbh(){ return this.grsqSbh; } /** *方法: 设置java.lang.String *@param: java.lang.String 申报号 */ public void setGrsqSbh(java.lang.String grsqSbh){ this.grsqSbh = grsqSbh; } /** *方法: 取得java.lang.String *@return: java.lang.String 申报密码 */ @Column(name ="GRSQ_SBPSW",nullable=true,length=30) public java.lang.String getGrsqSbpsw(){ return this.grsqSbpsw; } /** *方法: 设置java.lang.String *@param: java.lang.String 申报密码 */ public void setGrsqSbpsw(java.lang.String grsqSbpsw){ this.grsqSbpsw = grsqSbpsw; } /** *方法: 取得java.lang.String *@return: java.lang.String 申请人 */ @Column(name ="GRSQ_SQR",nullable=true,length=20) public java.lang.String getGrsqSqr(){ return this.grsqSqr; } /** *方法: 设置java.lang.String *@param: java.lang.String 申请人 */ public void setGrsqSqr(java.lang.String grsqSqr){ this.grsqSqr = grsqSqr; } /** *方法: 取得java.lang.String *@return: java.lang.String 申请人ID */ @Column(name ="GRSQ_SQRID",nullable=true,length=32) public java.lang.String getGrsqSqrid(){ return this.grsqSqrid; } /** *方法: 设置java.lang.String *@param: java.lang.String 申请人ID */ public void setGrsqSqrid(java.lang.String grsqSqrid){ this.grsqSqrid = grsqSqrid; } /** *方法: 取得java.lang.String *@return: java.lang.String 申请时间 */ @Column(name ="GRSQ_SQSJ",nullable=true,length=50) public java.lang.String getGrsqSqsj(){ return this.grsqSqsj; } /** *方法: 设置java.lang.String *@param: java.lang.String 申请时间 */ public void setGrsqSqsj(java.lang.String grsqSqsj){ this.grsqSqsj = grsqSqsj; } @Column(name ="GRSQ_IDPH",nullable=true) public String getGrsqIdph() { return grsqIdph; } public void setGrsqIdph(String grsqIdph) { this.grsqIdph = grsqIdph; }}
0 0
- spring mvc 的搭建
- Spring MVC 的搭建
- Spring MVC框架的搭建
- spring mvc+freemarker 简单环境的搭建
- spring MVC框架的初步搭建
- spring mvc 环境搭建 demo 的开发
- spring mvc web应用程序框架的搭建
- Spring MVC的两种搭建方式
- 搭建简单的Spring MVC框架
- spring.net+EF6+MVC 框架的搭建。
- Spring MVC框架环境的搭建
- 搭建一个简单的Spring MVC框架
- 搭建 spring-mvc
- 搭建 spring-mvc
- 记录spring mvc搭建
- Spring MVC环境搭建
- Spring MVC搭建
- spring mvc项目搭建
- java基本类型(数值范围):浮点的底层表示定义,float计算快一些
- Java 学习笔记(1) -- 名词解释
- DL DD DT 下拉列表(jquery)-代码很简洁
- mysql时间类型区别及使用
- Fragment进阶(七)----->QQ聊天、带表情、可翻页,附带回调通讯接口
- spring mvc 的搭建
- 30-CSS-05-CSS(伪元素选择器_1)
- 逃离迷宫 HDU杭电1728 【BFS】
- 关于addSubView需要注意的几个点
- erlang学习之基础语法
- Where to fast and safe cheap swtor credits within 3-28 minutes
- hive库基础命令
- hdoj 1429 胜利大逃亡(续) 【BFS + 状态压缩】
- html学习笔记(14)