ssm框架编写一个实例


```java
**all.jsp**

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>主页</title>
<style type="text/css">
tr{
border: 1px solid #df4e98;
width: 300px;
}
th,td{
border: 1px solid #df4e98;
width: 100px;
text-align: center;
}
#div1{
width: auto;

height: auto;
background-color: #9ddfd9;
}
</style>
</head>
<body>
<center>
<div id="div1">
<div style="width: 300px;margin: 0 auto">
<h3>这是查询所有问题和答案的界面</h3>
<form>
<table>
<tr><th>id</th><th>问题</th><th>答案</th></tr>
<c:forEach items="${selectAll}" var="selectAll">
<tr>
<td>${selectAll.id}</td>
<td>${selectAll.question}</td>
<td>${selectAll.answer}</td>
</tr>
</c:forEach>
</table> </br>
</form>
</div>
</div>
</center>
</body>
</html>
**index.jsp**

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>主页</title>
<style type="text/css">
#div1{
margin-top: 100px;
width: 200px;
height: 200px;
}
#div2{
height: 200px;
background-color: #9ddfd9;
}
</style>
</head>
<body>
<div id="div2">
<center>
<div id="div1"></br></br></br>
<a href="/selectA"><input type="submit" value="查询所有" style="width: 100px;height: 35px"></a></br></br>
<a href="/insert.jsp"><input type="submit" value="添加一个问题" style="width: 150px;height: 35px"></a>
</div>
</center>
</div>
</body>
</html>
**insert.jsp**


<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>主页</title>
<style type="text/css">
#div1{

border: 2px solid #d08adf;
margin-top: 100px;
width: 300px;
height: 195px;
}
#div2{
height: 200px;
background-color: #9ddfd9;
}
</style>
</head>
<body>
<div id="div2">
<center>
<div id="div1">
<div style="border-bottom:2px solid #d08adf;height: 46px">
<h2>这是添加问题的界面</h2>
</div></br>
<div style="height: 146px;">
<form action="/insertE">
问题: <input type="text" name="question"></br></br>
答案: <input type="text" name="answer"></br>
<input type="submit" value="提交" style="margin: auto;margin-top: 5px;width: 100px;text-align: center;">
</form>
</div>
</div>
</center>
</div>
</body>
</html>

**ExamController**

package com.lwj05.controller;
import com.lwj05.entity.Exam;
import com.lwj05.service.ExamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@Controller
public class ExamController {
@Autowired
ExamService examService;
@RequestMapping("/selectA")
public String sellectAll(Model model){
List<Exam> exams = examService.selectAll();
model.addAttribute("selectAll",exams);
return "all";
}
@RequestMapping("/insertE")
public String insert(String question ,String answer ){
examService.saveExam(question,answer);
return "redirect:/selectA";
}

}

**ExamMapper**

package com.lwj05.mapper;
import com.lwj05.entity.Exam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface ExamMapper {
List<Exam> selectAll();
void saveExam(@Param("question") String question , @Param("answer") String answer);
}

**ExamServiceImpl**
package com.lwj05.service.impl;
import com.lwj05.entity.Exam;
import com.lwj05.mapper.ExamMapper;
import com.lwj05.service.ExamService;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
public class ExamServiceImpl implements ExamService {
@Autowired
SqlSession sqlSession;
@Override
@Transactional(readOnly = true)
public List<Exam> selectAll() {
System.out.println("service层查询所有问题和答案");
ExamMapper mapper = sqlSession.getMapper(ExamMapper.class);
List<Exam> exams = mapper.selectAll();
System.out.println(exams);
return exams;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void saveExam(String question, String answer) {
ExamMapper mapper = sqlSession.getMapper(ExamMapper.class);
mapper.saveExam(question,answer);
System.out.println("service层添加一个问题和答案");
}
}
**spring.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:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:component-scan base-package="com.lwj05">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"></context:exclude-filter>
</context:component-scan>
<bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="dataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/exam?useSSL=true&amp;serverTimezone=GMT"></property>
<property name="user" value="root"></property>
<property name="password" value="1234"></property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath*:com/lwj05/mapper/*.xml" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
<!-- 配置事务通知(相当于之前的StudentAdvice) -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 扫描Spring容器中标注@Transaction注解的方式并加上事务 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>

**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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.lwj05">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"></context:include-filter>
</context:component-scan>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
**ExamMapper.xml**

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//http://mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lwj05.mapper.ExamMapper">
<select id="selectAll" resultType="com.lwj05.entity.Exam">
SELECT * FROM exam
</select>
<insert id="saveExam">
INSERT INTO exam (question,answer) VALUES (#{question}, #{answer})
</insert>
</mapper>
**web.xml**

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
<display-name>Archetype Created Web Application</display-name>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</context-param>

<filter>
<filter-name>CharacterEncodingFilter</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>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<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>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值