1.首先还是创建一个简单Maven的项目,导入jar包,
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.com</groupId> <artifactId>ZStructs</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.16</version> </dependency> <!-- 导入jstl标签库 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- 导入spring的jar包整合 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0.8.RELEASE</version> </dependency> <!-- 导入spring-struts的整合插件包 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.5.16</version> </dependency> <!-- 导入jbc的包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.0.8.RELEASE</version> </dependency> <!-- 导入数据库驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.24</version> </dependency> <!-- 导入c3p0连接池 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
2.在web.xml文件下写入spring的相关配置
<?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_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>ZStructs</display-name> <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> <filter> <filter-name>springMVC</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>springMVC</filter-name> <url-pattern>/*</url-pattern>//拦截所有哦请求 </filter-mapping> <!-- spring配置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>
3.在src/main/resources文件夹下创建一个名为: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" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!-- 扫描包 --> <context:component-scan base-package="cn.com.action"></context:component-scan> <!-- --> <context:component-scan base-package="cn.com.service"></context:component-scan> <!-- c3p0,数据库连接的 --> <bean id="c3p0" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="root"></property> <property name="password" value="root"></property> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"></property> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> </bean> <!-- jabctemplate 用于注入--> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="c3p0"></property> </bean> </beans>
4.创建一个entity实体
public class Note implements Serializable { private int id; private String context; private Date publishTime; private int likeCount; private int userId;
//get set这里就省略了
5.创建一个service接口:
public interface NoteService { public List<Note> selectAll(int userid); public int deleteById(int id); }
6.创建实现类
@Repository//并打上标注 public class NoteIMPL implements NoteService { @Autowired //自动装配 private JdbcTemplate jdbc; @Override public List<Note> selectAll(int userid) { String sql = "select * from note where userid=?"; Object[] pss = { userid }; List<Note> list = jdbc.query(sql, pss, new BeanPropertyRowMapper(Note.class)); return list; } @Override public int deleteById(int id) { String sql="delete from note where id= ?"; int update = jdbc.update(sql, id); return update; } }
7.创建一个Action
查询列表的Action
@Controller public class NoteAction { @Autowired private NoteService se; private List<Note> item; //参数必须有get set 方法 public List<Note> getItem() { return item; } public void setItem(List<Note> item) { this.item = item; } public String getNoteAll() { item = se.selectAll(1); return "suceess"; } }
删除列表的Action
@Controller public class DeleteAction { @Autowired private NoteService se; public String deleteBuId() { int f = se.deleteById(id); if (f > 0) { return "success"; } else { return "error"; } } private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } }
8.在src/main/webapp/WEB-INF/demo/下创建一个jsp文件,
<body> <h1>列表信息</h1> <table> <tr> <th>id</th> <th>内容</th> <th>时间</th> <th>点赞数</th> <th>用户id</th> <th>操作</th> </tr> <c:forEach items="${item }" var="it"> <tr> <th>${it.id }</th> <th>${it.context }</th> <th>${it.publishTime }</th> <th>${it.likeCount }</th> <th>${it.userId }</th> <th><a href="delete.do?id=${it.id }">删除</a></th> </tr> </c:forEach> </table> </body>
9最后在src/main/resources文件夹下创建一个struts.xml文件,写一个模版
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <!-- 这里的value可以有多个 --> <constant name="struts.action.extension" value="do,action"></constant> <package name="demo" extends="struts-default" namespace="/demo"> <!-- noteAction --> <action name="notelist" class="noteAction" method="getNoteAll"> <result name="suceess" type="dispatcher">/WEB-INF/demr/notelist.jsp </result> </action> <!-- delete --> <action name="delete" class="deleteAction" method="deleteBuId"> <result name="success" type="redirectAction"> <param name="namespace">/demo</param> <param name="actionName">notelist</param> </result> <result name="error" type="dispatcher">/WEB-INF/demr/error.jsp</result> </action> </package> </struts>
好了,测试大告成功!