6月19日 SSH 周二

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.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>/*</url-pattern>
    </filter-mapping>
  <display-name></display-name> 
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'list.jsp' starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  <link rel="stylesheet" href="css/index_work.css" type="text/css"></link>
  <script type="text/javascript" src="js/jquery-1.8.2.js"></script>
  <script type="text/javascript">
    function gopage(cpage){
        location = "u_list?cpage="+cpage;
    }
    function mohu(){
        var mohu = $("[name='mohu']").val();
        location ="u_list?mohu="+mohu;
    }
  </script>
  </head>

  <body>
    <table>
    <tr>
        <th colspan="21">
            <input type="text" name="mohu">
            <input type="button" value="查找" onclick="mohu()">
        </th>
    </tr>
        <tr>
            <th>id</th>
            <th>name</th>
            <th>sex</th>
            <th>datea</th>
            <th>content</th>
            <th>address</th>
            <th>u_id</th>
            <th>c_name</th>
            <th>grade</th>
            <th></th>
        </tr>
        <c:forEach var="u" items="${UserAnd}">
            <tr>
                <th>${u.id}</th>
                <th>${u.name}</th>
                <th>${u.sex}</th>
                <th>${u.datea}</th>
                <th>${u.content}</th>
                <th>${u.address}</th>
                <th>${u.u_id}</th>
                <th>${u.c_name}</th>
                <th>${u.grade}</th>
                <th><input type="button" value="修改" onclick="location='u_show?user.id=${u.id}'"></th>
            </tr>
        </c:forEach>
        <tr>
            <th colspan="21">
                <button onclick="gopage(1)">首页</button>
                <button onclick="gopage(${pu.prevPage})">上页</button>
                <button onclick="gopage(${pu.nextPage})">下页</button>
                <button onclick="gopage(${pu.totalPage})">末页</button>
                共${pu.totalPage}页${pu.count}条
            </th>
        </tr>
    </table>
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'update.jsp' starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  <script type="text/javascript" src="js/jquery-1.8.2.js"></script>
  <script type="text/javascript">
  function sub(){
    $.post(
        "u_update",
        $("form").serialize(),
        function (msg){
            if(msg>0){
                alert("修改成功");
                location ="u_list";
            }else{
                alert("修改失败");
            }
        },"text"
    );

  }
  </script>
  </head>

  <body>
    <form>
        id:<input name="user.id" value="${user.id}"><br>
        name:<input name="user.name" value="${user.name}"><br>
        sex:<input name="user.sex" value="${user.sex}"><br>
        datea:<input name="user.datea" value="${user.datea}"><br>
        content:<input name="user.content" value="${user.content}"><br>
        address:<input name="user.address" value="${user.address}"><br>
        u_id:<select name="user.sid"  value="${user.sid}">
            <option value="1">1001</option>
            <option value="2">1002</option>
            <option value="3">1003</option>
            <option value="4">1004</option>
        </select>
    </form>
    <input type="button" value="提交" onclick="sub()">
  </body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">

<struts>
    <constant name="struts.devMode" value="true"></constant>

    <package name="ssh" extends="struts-default">
        <action name="u_*" class="com.action.Action" method="{1}">
            <result name="list">list.jsp</result>
            <result name="update">update.jsp</result>
        </action>
    </package>
</struts>
package com.action;

import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.struts2.ServletActionContext;

import com.alibaba.fastjson.JSON;
import com.dto.User;
import com.opensymphony.xwork2.ActionSupport;
import com.service.UserService;
import com.util.PageUtils;

public class Action extends ActionSupport{
    //创建service层
    private UserService service = new UserService();
    private List UserAnd;
    private PageUtils pu;
    private String mohu;
    private Integer cpage;
    private User user;

    public String list() throws Exception {
        // TODO Auto-generated method stub
        if(cpage==null){
            cpage = 1;
        }
        Integer pageSize = 2;
        Integer count = service.count(mohu);
        pu = new PageUtils(cpage, pageSize, count);
        UserAnd = service.list(pu,mohu);
        return "list";
    }
    public String show() throws IOException{
        user = service.show(user);
        String jsonString = com.alibaba.fastjson.JSONArray.toJSONString(user);
        System.out.println("jsonString");
        System.out.println(jsonString);
        System.out.println("user");
        System.out.println(user);
        return "update";
    }
    public void update() throws IOException{
        int i = service.update(user);
        HttpServletResponse response = ServletActionContext.getResponse();
        response.getWriter().print(i);
    }

    public List getUserAnd() {
        return UserAnd;
    }

    public void setUserAnd(List userAnd) {
        UserAnd = userAnd;
    }

    public PageUtils getPu() {
        return pu;
    }

    public void setPu(PageUtils pu) {
        this.pu = pu;
    }

    public String getMohu() {
        return mohu;
    }

    public void setMohu(String mohu) {
        this.mohu = mohu;
    }

    public Integer getCpage() {
        return cpage;
    }

    public void setCpage(Integer cpage) {
        this.cpage = cpage;
    }
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }


}
package com.service;

import java.util.List;

import com.dao.UserDao;
import com.dto.User;
import com.util.PageUtils;

public class UserService {
    //创建Dao层
    private UserDao dao = new UserDao();

    public List list(PageUtils pu, String mohu) {
        // TODO Auto-generated method stub
        return dao.list(pu,mohu);
    }

    public Integer count(String mohu) {
        // TODO Auto-generated method stub
        return dao.count(mohu);
    }

    public User show(User user) {
        // TODO Auto-generated method stub
        return dao.show(user);
    }

    public int update(User user) {
        // TODO Auto-generated method stub
        return dao.update(user);
    }
}
package com.dao;

import java.util.List;

import com.dto.User;
import com.dto.UserAnd;
import com.util.JdbcUtils;
import com.util.PageUtils;

public class UserDao {

    public List list(PageUtils pu, String mohu) {
        // TODO Auto-generated method stub
        String sql = " select a.*,b.u_id,b.c_name,b.grade from t_user a left join t_score b on a.id = b.sid ";
        if(mohu!=null){
            sql += " where name like '%"+mohu+"%' ";
        }
        sql += " limit "+pu.getStartIndex()+","+pu.getPageSize();
        List list = JdbcUtils.getList(UserAnd.class, sql);
        return list;
    }

    public Integer count(String mohu) {
        // TODO Auto-generated method stub
        String sql = " select count(*) from t_user ";
        if(mohu!=null){
            sql += " where name like '%"+mohu+"%' ";
        }
        int count = JdbcUtils.getCount(sql);
        return count;
    }

    public User show(User user) {
        // TODO Auto-generated method stub
        String sql = " select a.*,b.sid from t_user a left join t_score b on a.id = b.sid where a.id="+user.getId();
        System.out.println(sql);
        User object = (User) JdbcUtils.getOneObject(User.class, sql);
        return object;
    }

    public int update(User user) {
        // TODO Auto-generated method stub
        String sql = " update t_user set name='"+user.getName()+"',sex='"+user.getSex()+"',datea='"+user.getDatea()+"',content='"+user.getContent()+"',address='"+user.getAddress()+"' where id="+user.getId();
        System.out.println(sql);
        int i = JdbcUtils.executeSQL(sql);
        System.out.println(i);
        return i;
    }

}
package com.dto;

public class UserAnd {
    private Integer id;
    private String name;
    private String sex;
    private String datea;
    private String content;
    private String address;
    private Integer sid;
    private Integer u_id;
    private String c_name;
    private Integer grade;
    public UserAnd() {
        super();
        // TODO Auto-generated constructor stub
    }
    public UserAnd(Integer id, String name, String sex, String datea,
            String content, String address, Integer sid, Integer u_id,
            String c_name, Integer grade) {
        super();
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.datea = datea;
        this.content = content;
        this.address = address;
        this.sid = sid;
        this.u_id = u_id;
        this.c_name = c_name;
        this.grade = grade;
    }
    @Override
    public String toString() {
        return "UserAnd [id=" + id + ", name=" + name + ", sex=" + sex
                + ", datea=" + datea + ", content=" + content + ", address="
                + address + ", sid=" + sid + ", u_id=" + u_id + ", c_name="
                + c_name + ", grade=" + grade + "]";
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getDatea() {
        return datea;
    }
    public void setDatea(String datea) {
        this.datea = datea;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public Integer getSid() {
        return sid;
    }
    public void setSid(Integer sid) {
        this.sid = sid;
    }
    public Integer getU_id() {
        return u_id;
    }
    public void setU_id(Integer u_id) {
        this.u_id = u_id;
    }
    public String getC_name() {
        return c_name;
    }
    public void setC_name(String c_name) {
        this.c_name = c_name;
    }
    public Integer getGrade() {
        return grade;
    }
    public void setGrade(Integer grade) {
        this.grade = grade;
    }



}
package com.dto;

public class User {
    private Integer id;
    private String name;
    private String sex;
    private String datea;
    private String content;
    private String address;
    private Integer sid;
    public User() {
        super();
        // TODO Auto-generated constructor stub
    }
    public User(Integer id, String name, String sex, String datea,
            String content, String address, Integer sid) {
        super();
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.datea = datea;
        this.content = content;
        this.address = address;
        this.sid = sid;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", sex=" + sex
                + ", datea=" + datea + ", content=" + content + ", address="
                + address + ", sid=" + sid + "]";
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getDatea() {
        return datea;
    }
    public void setDatea(String datea) {
        this.datea = datea;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public Integer getSid() {
        return sid;
    }
    public void setSid(Integer sid) {
        this.sid = sid;
    }


}
package com.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.beanutils.BeanUtils;

public class JdbcUtils {
    //鏌ヨ鏁版嵁闆嗗悎
    public static Object getOneObject(Class c, String sql){
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        Object obj = null;
        try {
            conn = getConnection();
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            ResultSetMetaData metaData = rs.getMetaData();//寰楀埌鏁版嵁婧�
            if(rs.next()){
                obj = c.newInstance();
                for(int i = 1;i<=metaData.getColumnCount();i++){
                    BeanUtils.copyProperty(obj, metaData.getColumnName(i), rs.getObject(i));
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally{
            closeResource(rs, ps, conn);
        }
        return obj;
    }
    //鏌ヨ鏁版嵁闆嗗悎
    public static List getList(Class c, String sql){
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        List list = new ArrayList();
        try {
            conn = getConnection();
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            ResultSetMetaData metaData = rs.getMetaData();//寰楀埌鏁版嵁婧�
            while(rs.next()){
                Object obj = c.newInstance();
                for(int i = 1;i<=metaData.getColumnCount();i++){
                    BeanUtils.copyProperty(obj, metaData.getColumnName(i), rs.getObject(i));
                }
                list.add(obj);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally{
            closeResource(rs, ps, conn);
        }
        return list;
    }
    //鏌ヨ鏁版嵁鎬绘潯鏁�
    public static int getCount(String sql){
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        int count = 0;
        try {
            conn = getConnection();
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            if(rs.next()){
                count = rs.getInt(1);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally{
            closeResource(rs, ps, conn);
        }
        return count;
    }
    //鎵цsql璇彞
    public static int executeSQL(String sql){
        Connection conn = null;
        PreparedStatement ps = null;
        int i = 0;
        try {
            conn = getConnection();
            ps = conn.prepareStatement(sql);
            i = ps.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        } finally{
            closeResource(null, ps, conn);
        }

        return i;
    }

    static{
        try {
            System.out.println("加载驱动");
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    //鑾峰彇杩炴帴
    private static Connection getConnection(){
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:mysql:///ssh01", "root", "root");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }
    //鍏抽棴璧勬簮
    private static void closeResource(ResultSet rs, PreparedStatement ps, Connection conn){
        try {
            if(rs != null){
                rs.close();
            }
            if(ps != null){
                ps.close();
            }
            if(conn != null){
                conn.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
package com.util;

public class PageUtils {

    private Integer cpage;//褰撳墠椤�
    private Integer pageSize;//姣忛〉灞曠ず鏈�ぇ鏉℃暟
    private Integer count;//鏁版嵁鎬绘潯鏁�
    private Integer totalPage;//鎬婚〉鏁�
    private Integer startIndex;//璧峰涓嬫爣
    private Integer prevPage;//涓婁竴椤�
    private Integer nextPage;//涓嬩竴椤�
    //浣跨敤姝ゅ伐鍏风被锛岃皟鐢ㄨ繖涓瀯閫犲櫒
    public PageUtils(Integer cpage, Integer pageSize, Integer count) {
        this.cpage = cpage;
        this.pageSize = pageSize;
        this.count = count;
        calPrevPage();
        calStartIndex();
        calTotalPage();
        calNextPage();
    }
    private void calTotalPage(){//璁$畻鎬婚〉鏁�
        this.totalPage = count/pageSize + (count%pageSize==0?0:1);
    }
    private void calStartIndex(){//璁$畻璧峰涓嬫爣
        this.startIndex = (cpage-1)*pageSize;
    }
    private void calPrevPage(){//璁$畻涓婁竴椤�
        this.prevPage = cpage==1?1:(cpage-1);
    }
    private void calNextPage(){//璁$畻涓嬩竴椤�
        this.nextPage = cpage.equals(totalPage)?totalPage:(cpage+1);
    }
    public Integer getCpage() {
        return cpage;
    }
    public void setCpage(Integer cpage) {
        this.cpage = cpage;
    }
    public Integer getPageSize() {
        return pageSize;
    }
    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
    public Integer getCount() {
        return count;
    }
    public void setCount(Integer count) {
        this.count = count;
    }
    public Integer getTotalPage() {
        return totalPage;
    }
    public void setTotalPage(Integer totalPage) {
        this.totalPage = totalPage;
    }
    public Integer getStartIndex() {
        return startIndex;
    }
    public void setStartIndex(Integer startIndex) {
        this.startIndex = startIndex;
    }
    public Integer getPrevPage() {
        return prevPage;
    }
    public void setPrevPage(Integer prevPage) {
        this.prevPage = prevPage;
    }
    public Integer getNextPage() {
        return nextPage;
    }
    public void setNextPage(Integer nextPage) {
        this.nextPage = nextPage;
    }
}

Not everything that counts can be counted, and not everything that’s counted truly counts.
不是所有有价值的事物都可以被计算,也不是所有可计算的事物都值得去计算。
投稿人的话:这句话是爱因斯坦的名言,也被引用在了演讲《在你感觉到压力之前》里:按自己的节奏走,不代表你不积极不努力。每个人都有自己的生活节奏,希望你们能够创造自己有意义的人生,学着如何去影响别人的生活。这,才是真正的成功。投稿人Tommy同样贡献了这句话,他认为:人生有无限可能,别给自己设限,别让任何人打乱你的节奏,余生漫长,莫要慌张。

猜你喜欢

转载自blog.csdn.net/helloworld_1996/article/details/80740062
今日推荐