mybatis+spring+struts2框架整合

本文详细介绍了使用Struts2、MyBatis和Spring框架整合开发Web应用的过程,包括环境搭建、配置文件编写及代码实现等关键步骤。
近期公司要开发新的项目,要用struts2+mybatis+spring框架,所以学习了下,来自己的博客发表下,希望能给大家带来帮助!下

边我把我的myschool开发的源代码以及数据库贴出来!


开发环境 myeclips+tomcate+sql server

开发技术 struts2+mybatis+spring jsp+java

一.创建web项目导入必需的jar文件




二.创建并编写配置文件,配置文件比较多。可能有点繁琐。

1.创建并编写ApplicationContext.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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	
	<!--配置数据源属性文件  -->
	<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location">
			<value>/WEB-INF/configs/sqlServer.properties</value>
		</property>
	</bean>
	
	<!--配置数据源  -->
	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName">
			<value>${jdbc.driver}</value>
		</property>
		<property name="url">
			<value>${jdbc.url}</value>
		</property>
		<property name="username">
			<value>${jdbc.user}</value>
		</property>
		<property name="password">
			<value>${jdbc.pwd}</value>
		</property>
	</bean>
	
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
	    <property name="configLocation" value="classpath:com/test/sqlMapper/mybatis_config.xml" />  
	    <property name="dataSource" ref="dataSource" />  
	</bean> 
	
    
    <bean id="loginDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
		<property name="mapperInterface" value="com.test.dao.ILoginDao"/>
		<property name="sqlSessionFactory" ref="sqlSessionFactory" />
	</bean>

	<bean id="loginAction" class="com.test.action.LoginAction">
		<property name="loginDao" ref="loginDao"></property>
	</bean>
</beans>



2.配置数据源当然要有个数据源 属性文件了sqlServer.properties

jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=login
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.user=sa
jdbc.pwd=



我的数据库密码为空pwd当然也要空了。

3.mybatis的配置文件mybatis_config.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>
	<typeAliases>
		<typeAlias alias="userinfo" type="com.test.entity.UserInfo"/>
	</typeAliases>
	<mappers>
		<mapper resource="com/test/sqlMapper/loginMapper.xml"/>
	</mappers>
</configuration>


4.在mybatis_config.xml中的中有个映射文件loginMapper.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="com.test.dao.ILoginDao">
	
	<resultMap type="userinfo" id="userMap">
		<id property="id" column="id"/>
		<result property="username" column="username"/>
		<result property="password" column="password"/>	
	</resultMap>
	
	<select id="getUser" parameterType="String" resultMap="userMap">
		select * from userinfo where username=#{userName}
	</select>
</mapper>



5.接下来就是web.xml

<?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">

<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>

<listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
</listener>

  <filter>  
	<filter-name>struts2</filter-name>  
	<filter-class>  
		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter   
	</filter-class>  
 
  </filter>  

  <filter-mapping>  
	<filter-name>struts2</filter-name>  
	<url-pattern>/*</url-pattern>  
  </filter-mapping>  

</web-app>



好了所有的配置文件都已经配置好了
三.该写JAVA文件了 接口,实体辅助类,还有action

1.写接口 ILoginDao.java

package com.test.dao;

import java.util.List;

public interface ILoginDao {
	public List getUser(String userName);
}


2.实体辅助类UserInfo.java

package com.test.entity;

public class UserInfo {
	
	private int id;
	private String username;
	private String password;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
}


3.action 类 LoginAction.java

package com.test.action;

import java.util.List;

import com.test.dao.ILoginDao;

public class LoginAction {

	
		private ILoginDao loginDao;
		private String username;
		private String password;
		

		public String getUsername() {
			return username;
		}
		public void setUsername(String username) {
			this.username = username;
		}
		public String getPassword() {
			return password;
		}
		public void setPassword(String password) {
			this.password = password;
		}
		
		public ILoginDao getLoginDao() {
			return loginDao;
		}
		public void setLoginDao(ILoginDao loginDao) {
			this.loginDao = loginDao;
		}
		
		public String execute(){
			String userName = getUsername();
			String password = getPassword();
			System.out.println("userName:"+userName+"\n"+"password:"+password);
			List list = loginDao.getUser(userName);
			if(list.size()>0){
				return "success";
			}else{
				return "error";
			}
			
		}
		
}


四.该写页面了 页面有三个如下
1. login.jsp

<body> 
    <s:form action="login" method="post"> 
    <s:textfield name="username" label="用户名:"></s:textfield> 
    <s:textfield name="password" label="密码:"></s:textfield> 
    <s:submit value="提交"></s:submit> 
    </s:form> 
  </body> 


2.success.jsp 就几个字 登陆成功
3.error,jsp 就几个字 登录失败
五.创建数据库 login 创建表 userinfo 里面就三个字段 id username password 数据库我已经传到这文章里边了,下载后可以直接用

六.好了快启动tomcat看看成功了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值