ssm半路集成

1.eclipse下创建web项目

第一步:首先添加持久层框架mybaties

添加mybaties所需要的架包mybaties-3.4.4.jar,连接mysql数据库的驱动包mysql_con_java.jar

(1) 配置mybaties的配置文件,mybaties-cfg.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>
<!-- 导入连接数据库的资源文件 ****.properties -->
<!-- <properties resource="baseDAO.properties">
</properties> -->
<typeAliases><!--
<typeAlias type="bean.User" alias="u"></typeAlias>
<typeAlias type="java.lang.String" alias="s"></typeAlias>
<typeAlias type="int" alias="i"></typeAlias>
-->
<!-- name的值直接写包名 -->
<package name="com.neusoft.bean"></package>
</typeAliases>

<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="org.gjt.mm.mysql.Driver" />
<property name="url" value="jdbc:mysql://localhost/my" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/neusoft/mapper/LoginMapper.xml" />
</mappers>
</configuration>

(2.)配置Mapper(mapper相当于实现LoginDAO接口,其中只包含查询的功能)

<?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.neusoft.dao.LoginDAO">
<!-- 查询全部学生信息 -->
<!-- select标签:查询 id的值一定是唯一不能重复的,
以后它是接口中的未实现的方法 ,resultType返回的类型或输出的类型,
结果类型可以是任意类型,但通过返回集合时返回的是list或实体类-->
<select id="selectUser" resultType="Login">
select * from login
</select>
</mapper>

(3.)创建接口com.neusoft.dao.LoginDAO,其中接口中的查询方法必须和mapper文件中select标签中的id一致

这样mybaties就大致配置完成,此时Sqlsession还未被打开

第二步:集成springMVC框架

1.   引入22个springmvc架包

2.   配置web.xml拦截器web.xml

<?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" 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">
<display-name>ssmbyme</display-name>

<!-- 配置DispatchcerServlet -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置Spring mvc下的配置文件的位置和名称 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

<!-- 解决jquery引用不了的文题,因为所有的/路径都交给给了springmvc处理,不能处理静态,css,js -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

3.    配置springmvc.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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

<!-- 配置自动扫描的包 -->
<context:component-scan base-package="com.neusoft.controller"></context:component-scan>

<!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value="/WEB-INF/views/"></property>
<property name = "suffix" value = ".jsp"></property>
</bean>
</beans>

4.创建com.neusoft.controller中的被扫描的controller类

5.

编写login的controller

package com.neusoft.controller;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.neusoft.dao.LoginDAO;

@Controller
public class Login {
@RequestMapping(value="login")
public String login(String username,String password){
String isright = null;
SqlSession sqlSession=null;
String resource = "mybaties-cfg.xml";
InputStream inputStream;
try {
//
inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().
build(inputStream);

sqlSession=sqlSessionFactory.openSession();
System.out.println("ok");
LoginDAO mapper = sqlSession.getMapper(LoginDAO.class);
com.neusoft.bean.Login aaa = new com.neusoft.bean.Login();
aaa.setUsername(username);
aaa.setPassword(password);
com.neusoft.bean.Login list = mapper.selectUser(aaa);
if(list != null){
isright = "success";
}else{
isright = "no";

}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return isright;

}
}

6.编写主页面index.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<div style="text-align: center; ">
<p>welcome to login</p>

<form action="login">
<table>

<tbody>
<tr> <input type="text" name="username" /> </tr><br><br>
<tr> <input type="text" name="password" /> </tr><br>
<tr> <input type="submit" value="submit"/> </tr><br>
</tbody>
</table>
</form>
</div>

</body>
</html>

7.编写success.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>welcome to login!</title>
</head>
<body>
<div style="text-align: center; ">
<p> welcome: <span style="color: red;">${uname}</span> to join </p>
</div>

</body>
</html>

7.编写no.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>

<body>

<script type="text/javascript">
alert("2b!!!false to login @[email protected]");
window.location="index.jsp";
</script>
</body>
</html>

时间: 2024-12-28 09:06:36

ssm半路集成的相关文章

MyBatis&amp;&amp;ssm项目集成

MyBatis&&ssm项目集成 一.mapper映射    1.准备接口 EmployeeMapper    2.准备xml EmployeeMapper.xml    3.测试的完成二.高级查询三.关系配置(重难点)    1.多对一        1.1 domain准备        1.2 关系映射 - 嵌套结果        1.3 关系映射 - 嵌套查询    2.一对多的配置        2.1 相应的domain准备        2.2 嵌套结果        2.3

SSM框架集成.上(供自己练习查阅用)

1.创建项目 2.准备相关依赖包 2.1   spring相关jar包 2.2   springMVC相关jar包 2.3 mybatis 相关jar包 2.4mybatis 和spring集成的桥梁包 2.5数据库驱动包和连接池 2.6 jstl 标签库依赖包 2.7 mybatis支持的日志包 3.配置文件准备 4.mapper层(dao层代码) public interface UserMapper { int insert(User user); User selectByPrimary

SSM框架集成(附源码)

简述 SSM框架的集成主要是Spring和MyBatis的集成,SpringMVC和Spring天然集成. 1.在IDEA新建一个Maven项目 图1. 创建web-app 1.2 创建确实的文件夹,结构如下 图2.文件夹结构 2.添加相关依赖 2.1 配置pom.xml <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.s

Java高并发秒杀系统API之SSM框架集成swagger与AdminLTE

初衷与整理描述 Java高并发秒杀系统API是来源于网上教程的一个Java项目,也是我接触Java的第一个项目.本来是一枚c#码农,公司计划部分业务转java,于是我利用业务时间自学Java才有了本文,本来接触之初听别人说,c#要转java很容易,我也信了,但是真正去学习的时候还是踩了无数个坑,好在朋友有几个做安卓的,向他们讨教了一些经验,但是他们做安卓的和web又是两个方向,于是继续一个人默默采坑避雷之旅,首先上手的是下面这个Java高并发秒杀系统API. 学习java的初衷一个是公司转行,二

自我学习SSM框架集成(三)

关于事务管理 对于数据库的增删改查有时候要求两件事只能同时发生或者同时不发生,这时候就要使用事务管理 做事务管理需要额外的jar才行,所以先下载aspectjweaver.jar,并添加至Idea中. 然后再用以下两种方法进行实现 SSM事务管理的实现(一) 通过XML配置方式:修改applicationContext,以支持AOP方式 <!-- <tx:annotation-driven transaction-manager="transactionManager"/&

SSM框架集成.下(供自己练习查阅用)

spring和springMVC集成 在web.xml配置前端springMVC前端控制器(总控) <?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" xsi:schemaLo

ssm+freemark集成shiro

1.导入的jar包 <!-- shiro start --> <!-- freemarker + shiro(标签) begin --> <dependency> <groupId>net.mingsoft</groupId> <artifactId>shiro-freemarker-tags</artifactId> <version>0.1</version> </dependency&g

自我学习SSM框架集成(二)

手动SQL方式分页 一.首先来看看最重要的Page类. 首先我们让start默认为0,count=5.count为一页的容量,而令start为0,是如果浏览器访问不输入start参数就默认为从头开始浏览页信息 而public void caculateLast是用来获取最后一页的开始 ,这样就可以一键点到最后一页 public class Page { int start=0; int count = 5; int last = 0; public int getStart() { return

Redis缓存 集成SSM框架

Java SSM 框架集成 Redis框架 1.下载 Jedis依赖 <.!-- jedis依赖 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.1</version> </dependency> <dependency> <groupId&g