struts2简单案例实现登录查询
2017-03-28 13:39
281 查看
这里默认已经下载好struts2,并且了解文件中的目录结构
步骤:
1、新建web项目:”struts2_usersys”
2、导入jar包
其中包括struts包,sevlet包,jsp包和数据库连接包
3、配置struts2的核心控制器web.xml文件
4、在src下添加struts2配置文件,命名为struts.xml,且不能更改
5、编写jsp文件login.jsp
6、编写一个实体类User.java
7、数据库连接公用类BaseDao.java
8、编写action类UserAction.java
9、编写服务层类UserService.java
10、编写数据连接层类UserDao.java
11、创建数据库
12、创建返回数据jsp list.jsp
13、运行login.jsp
结果
我的目录结构
根据目录结构简单说一下struts2的执行流程:
首先通过login.jsp发起请求,给Tomcat服务器,Tomcat将请求给核心配置文件web.xml通过过滤器处理,解析struts.xml文件,通过action调用com.sun.action.UserAction.login.java方法,通过业务处理层访问数据连接层访问数据,访问到数据在返回给login方法,成功后转发给下一个action(list)处理,同样是通过业务处理层访问数据连接层访问数据,访问到数据在返回到list供前端做页面展示。
步骤:
1、新建web项目:”struts2_usersys”
2、导入jar包
其中包括struts包,sevlet包,jsp包和数据库连接包
3、配置struts2的核心控制器web.xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" 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"> <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>*.action</url-pattern> </filter-mapping> </web-app>
4、在src下添加struts2配置文件,命名为struts.xml,且不能更改
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="user" namespace="/" extends="struts-default"> <action name="login" class="com.sun.action.UserAction" method="login"> <result name="success" type="redirectAction">list</result> <result name="login">/login.jsp</result& 4000 gt; </action> <action name="list" class="com.sun.action.UserAction" method="list"> <result>/list.jsp</result> </action> </package> </struts>
5、编写jsp文件login.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> <form action="login.action" method="post"> 用户名:<input type="text" name="user.name" /> 密码:<input type="password" name="user.pwd" /> <input type="submit" value="提交" /> </form> </body> </html>
6、编写一个实体类User.java
package com.sun.entity; public class User { private int id; private String name; private String pwd; public User() { super(); } public User(String name, String pwd) { super(); this.name = name; this.pwd = pwd; } public User(int id, String name, String pwd) { super(); this.id = id; this.name = name; this.pwd = pwd; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
7、数据库连接公用类BaseDao.java
package com.sun.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class BaseDao { private Connection connection; private PreparedStatement preparedStatement; private ResultSet resultSet; private void getConnection(){ try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/usersys"; connection = DriverManager.getConnection(url,"root","123456"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void close(){ if(resultSet != null){ try { resultSet.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(preparedStatement != null){ try { preparedStatement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(connection != null){ try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } //更新-----增加,修改,删除 public int executeUpdate(String sql,Object...objects){ try { this.getConnection(); preparedStatement = connection.prepareStatement(sql); if(objects != null){ for(int i=0;i<objects.length;i++){ preparedStatement.setObject(i+1, objects[i]); } } return preparedStatement.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ this.close(); } return -1; } //查询 public ResultSet executeQuery(String sql,Object...objects){ try { this.getConnection(); preparedStatement = connection.prepareStatement(sql); if(objects != null){ for(int i=0;i<objects.length;i++){ preparedStatement.setObject(i+1, objects[i]); } } return resultSet = preparedStatement.executeQuery(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ /// this.close(); } return null; } }
8、编写action类UserAction.java
package com.sun.action; import java.sql.SQLException; import java.util.List; import com.opensymphony.xwork2.Action; import com.sun.entity.User; import com.sun.service.UserService; public class UserAction { private User user; private List<User> list; UserService userService = new UserService(); public String login() throws SQLException{ User temp = userService.login(user); if(temp != null){ return Action.SUCCESS; } return Action.LOGIN; } public String list(){ list = userService.getList(); return Action.SUCCESS; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public List<User> getList() { return list; } public void setList(List<User> list) { this.list = list; } }
9、编写服务层类UserService.java
package com.sun.service; import java.sql.SQLException; import java.util.List; import com.sun.dao.UserDao; import com.sun.entity.User; public class UserService { private UserDao userDao = new UserDao(); public User login(User u) throws SQLException{ return userDao.login(u); } public List<User> getList(){ return userDao.getList(); } }
10、编写数据连接层类UserDao.java
package com.sun.dao; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.sun.entity.User; import com.sun.util.BaseDao; public class UserDao extends BaseDao{ public User login(User u) throws SQLException{ String sql = "select * from t_user where name = ? and pwd = ?"; System.out.println(u.getName()+u.getPwd()); ResultSet resultSet = this.executeQuery(sql,u.getName(),u.getPwd()); try { if(resultSet.next()){ System.out.println("synaiyu"); return new User(resultSet.getInt(1),resultSet.getString(2 b18c ),resultSet.getString(3)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ this.close(); } return null; } public List<User> getList(){ String sql = "select * from t_user"; List<User> list = new ArrayList<>(); ResultSet resultSet = this.executeQuery(sql); try { while(resultSet.next()){ list.add(new User(resultSet.getInt(1),resultSet.getString(2),resultSet.getString(3))); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { this.close(); } return list; } }
11、创建数据库
12、创建返回数据jsp list.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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> <table width=80% align=center> <tr> <td>id</td> <td>姓名</td> <td>密码</td> </tr> <c:forEach items="${list}" var="bean"> <tr> <td> ${bean.id }</td> <td> ${bean.name }</td> <td> ${bean.pwd }</td> </tr> </c:forEach> </table> </body> </html>
13、运行login.jsp
结果
我的目录结构
根据目录结构简单说一下struts2的执行流程:
首先通过login.jsp发起请求,给Tomcat服务器,Tomcat将请求给核心配置文件web.xml通过过滤器处理,解析struts.xml文件,通过action调用com.sun.action.UserAction.login.java方法,通过业务处理层访问数据连接层访问数据,访问到数据在返回给login方法,成功后转发给下一个action(list)处理,同样是通过业务处理层访问数据连接层访问数据,访问到数据在返回到list供前端做页面展示。
相关文章推荐
- 学习struts2建bbs总结二:登录loginAction的简单实现
- eclipse下用J2EE(hibernate,struts2,spring)实现的简单登录、注册系统
- ExtJs、Struts2、Hibernate3.2登录页面的简单实现
- Struts2的执行流程--案例 使用struts2+hibernate实现客户列表查询
- 使用Struts2实现简单用户登录
- 在maven环境下 基于Struts2 spring hibernate用户登录及查询整合案例
- 基于Struts2框架实现登录案例 之 使用Struts2标签库简化表单+继承ActionSupport完成输入交验
- 用struts2实现简单的登录
- Struts2开发-i18n国际化实现案例-登录页面
- 用户注册登录案例分析以及简单实现
- struts2实现登录用户的简单的权限设置
- Struts2实现简单的登录效果
- 防止未登录用户操作―基于struts2拦截器的简单实现
- 防止未登录用户操作—struts2拦截器简单实现
- Struts2实例1--------登录案例的实现
- (详细)Hibernate查询技术(Query、Session、Criteria),Hibernate的三种状态,Hibernate集合struts2实现登录功能(二)
- struts2-简单登录实现
- 防止未登录用户操作—struts2拦截器简单实现
- struts2的环境配置与简单登录功能实现
- 防止未登录用户操作—struts2拦截器简单实现