JavaWeb项目开发案例精粹-第2章投票系统-002配置文件及公共类
1.
- <?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 FilterDispatcher -->
- <filter-name>struts2</filter-name> <!-- 定义核心Filter的名称 -->
- <filter-class> <!--定义核心Filter的实现类 -->
- org.apache.struts2.dispatcher.FilterDispatcher
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name><!--核心Filter的名称 -->
- <url-pattern>/*</url-pattern><!--使用该核心Filter过滤所有的Web请求 -->
- </filter-mapping>
- </web-app>
2.
- <?xml version="1.0" encoding="UTF-8" ?><!-- XML声明 -->
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
- "http://struts.apache.org/dtds/struts-2.1.dtd"><!-- 指定Struts 2配置文件的DTD信息 -->
- <struts><!-- 根节点 -->
- <constant name="struts.i18n.encoding" value="gb2312"></constant>
- <package name="struts2" extends="jfreechart-default">
- <action name="addVote" class="com.sanqing.action.AddVoteAction">
- <result name="success">/admin/addVote.jsp</result>
- </action>
- <action name="showVote" class="com.sanqing.action.ShowVoteAction">
- <result name="success">/admin/showVote.jsp</result>
- </action>
- <action name="deleteVote" class="com.sanqing.action.DeleteVoteAction">
- <result name="success" type="chain">showVote</result>
- </action>
- <action name="showVoteByChannel" class="com.sanqing.action.ShowVoteByChannelAction">
- <result name="success">index.jsp</result>
- <result name="input">index.jsp</result>
- </action>
- <action name="voteResult" class="com.sanqing.action.VoteResultAction">
- <result name="success" type="chart">
- <param name="width">400</param>
- <param name="height">300</param>
- </result>
- </action>
- <action name="doVote" class="com.sanqing.action.DoVoteAction">
- <result name="success" type="chain">voteResult</result>
- <result name="input" type="chain">showVoteByChannel</result>
- </action>
- </package>
- </struts>
3.jfreechart-default.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!--
- /*
- * $Id: struts-plugin.xml 651946 2008-04-27 13:41:38Z apetrelli $
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
- -->
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <package name="jfreechart-default" extends="struts-default">
- <result-types>
- <result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult">
- <param name="height">150</param>
- <param name="width">200</param>
- </result-type>
- </result-types>
- </package>
- </struts>
4.
- package com.sanqing.util;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- public class DBConnection {
- private static final String DBDRIVER = "com.mysql.jdbc.Driver" ; //驱动类类名
- private static final String DBURL = "jdbc:mysql://localhost:3306/db_votemanage";//连接URL
- private static final String DBUSER = "root" ; //数据库用户名
- private static final String DBPASSWORD = "1234"; //数据库密码
- public static Connection getConnection(){
- Connection conn = null; //声明一个连接对象
- try {
- Class.forName(DBDRIVER); //注册驱动
- conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); //获得连接对象
- } catch (ClassNotFoundException e) { //捕获驱动类无法找到异常
- e.printStackTrace();
- } catch (SQLException e) { //捕获SQL异常
- e.printStackTrace();
- }
- return conn;
- }
- public static void close(Connection conn) {//关闭连接对象
- if(conn != null) { //如果conn连接对象不为空
- try {
- conn.close(); //关闭conn连接对象对象
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public static void close(PreparedStatement pstmt) {//关闭预处理对象
- if(pstmt != null) { //如果pstmt预处理对象不为空
- try {
- pstmt.close(); //关闭pstmt预处理对象
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public static void close(ResultSet rs) {//关闭结果集对象
- if(rs != null) { //如果rs结果集对象不为null
- try {
- rs.close(); //关闭rs结果集对象
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
5.
- package com.sanqing.util;
- public class Page {
- private int everyPage; //每页显示记录数
- private int totalCount; //总记录数
- private int totalPage; //总页数
- private int currentPage; //当前页
- private int beginIndex; //查询起始点
- private boolean hasPrePage; //是否有上一页
- private boolean hasNextPage; //是否有下一页
- public Page(int everyPage, int totalCount, int totalPage,
- int currentPage,int beginIndex, boolean hasPrePage,
- boolean hasNextPage) { //自定义构造方法
- this.everyPage = everyPage;
- this.totalCount = totalCount;
- this.totalPage = totalPage;
- this.currentPage = currentPage;
- this.beginIndex = beginIndex;
- this.hasPrePage = hasPrePage;
- this.hasNextPage = hasNextPage;
- }
- public Page(){} //默认构造函数
- public int getEveryPage() { //获得每页显示记录数
- return everyPage;
- }
- public void setEveryPage(int everyPage) {//设置每页显示记录数
- this.everyPage = everyPage;
- }
- public int getTotalCount() {//获得总记录数
- return totalCount;
- }
- public void setTotalCount(int totalCount) {//设置总记录数
- this.totalCount = totalCount;
- }
- public int getTotalPage() {//获得总页数
- return totalPage;
- }
- public void setTotalPage(int totalPage) {//设置总页数
- this.totalPage = totalPage;
- }
- public int getCurrentPage() {//获得当前页
- return currentPage;
- }
- public void setCurrentPage(int currentPage) {//设置当前页
- this.currentPage = currentPage;
- }
- public int getBeginIndex() {//获得查询起始点
- return beginIndex;
- }
- public void setBeginIndex(int beginIndex) {//设置查询起始点
- this.beginIndex = beginIndex;
- }
- public boolean isHasPrePage() {//获得是否有上一页
- return hasPrePage;
- }
- public void setHasPrePage(boolean hasPrePage) {//设置是否有上一页
- this.hasPrePage = hasPrePage;
- }
- public boolean isHasNextPage() {//获得是否有下一页
- return hasNextPage;
- }
- public void setHasNextPage(boolean hasNextPage) {//设置是否有下一页
- this.hasNextPage = hasNextPage;
- }
- }
6.
- package com.sanqing.util;
- /*
- * 分页信息辅助类
- */
- public class PageUtil {
- public static Page createPage(int everyPage,int totalCount,int currentPage) {//创建分页信息对象
- everyPage = getEveryPage(everyPage);
- currentPage = getCurrentPage(currentPage);
- int totalPage = getTotalPage(everyPage, totalCount);
- int beginIndex = getBeginIndex(everyPage, currentPage);
- boolean hasPrePage = getHasPrePage(currentPage);
- boolean hasNextPage = getHasNextPage(totalPage, currentPage);
- return new Page(everyPage, totalCount, totalPage, currentPage,
- beginIndex, hasPrePage, hasNextPage);
- }
- public static int getEveryPage(int everyPage) { //获得每页显示记录数
- return everyPage == 0 ? 10 : everyPage;
- }
- public static int getCurrentPage(int currentPage) { //获得当前页
- return currentPage == 0 ? 1 : currentPage;
- }
- public static int getTotalPage(int everyPage,int totalCount) {//获得总页数
- int totalPage = 0;
- if(totalCount != 0 &&totalCount % everyPage == 0) {
- totalPage = totalCount / everyPage;
- } else {
- totalPage = totalCount / everyPage + 1;
- }
- return totalPage;
- }
- public static int getBeginIndex(int everyPage,int currentPage) {//获得起始位置
- return (currentPage - 1) * everyPage;
- }
- public static boolean getHasPrePage(int currentPage) {//获得是否有上一页
- return currentPage == 1 ? false : true;
- }
- public static boolean getHasNextPage(int totalPage, int currentPage) { //获得是否有上一页
- return currentPage == totalPage || totalPage == 0 ? false : true;
- }
- }
JavaWeb项目开发案例精粹-第2章投票系统-002配置文件及公共类的更多相关文章
- JavaWeb项目开发案例精粹-第2章投票系统-001设计
1.项目结构 2.数据库设计 # MySQL-Front 5.0 (Build 1.0) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET ...
- JavaWeb项目开发案例精粹-第2章投票系统-006view层
1.index.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...
- JavaWeb项目开发案例精粹-第2章投票系统-005实体层
1. package com.sanqing.bean; /** * * 投票选项类 * */ public class VoteOption { private int voteOptionID; ...
- JavaWeb项目开发案例精粹-第2章投票系统-004action层
1. package com.sanqing.action; import java.util.UUID; import com.opensymphony.xwork2.ActionSupport; ...
- JavaWeb项目开发案例精粹-第2章投票系统-003Dao层
1. package com.sanqing.dao; import java.util.List; import com.sanqing.bean.Vote; import com.sanqing. ...
- JavaWeb项目开发案例精粹-第6章报价管理系统-002辅助类及配置文件
1. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www ...
- JavaWeb项目开发案例精粹-第6章报价管理系统-05Action层
0. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC &quo ...
- JavaWeb项目开发案例精粹-第3章在线考试系统-007View层
0.login.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...
- JavaWeb项目开发案例精粹-第6章报价管理系统-07View层
1. 2.back_index.html <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT= ...
随机推荐
- Color About——First
最近在Android开发学习中遇到TextView背景色以及文字颜色着色问题,在此做个记录. 首先对于颜色的选择,我推荐W3C School,上面有对网页颜色的详尽说明以及实例,还提供了对于,同一种颜 ...
- WPF中的DataTemplate
<Window x:Class="DateTemplate应用.MainWindow" xmlns="http://schemas.microsoft.com/wi ...
- RaddioButton控件
<GroupBox Margin="5"> <StackPanel> <RadioButton IsChecked="true"& ...
- Mac OS X 安装 brew 工具!
最早的ports管理就是BSD那种,后来出现强大的Debian,弄了个dpkg+apt! Mac OS X 最早使用比较多的工具是 MacPorts,但是现在来看这个工具有点老,不是很稳定,那我们推荐 ...
- UML 小结(6)- UML九种图的比较与学习
UML中的九种图: 用例图.类图.对象图.状态图.时序图.协作图.活动图.部署图.构件图. 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种图.说它简单是因为它采用了 ...
- Elasticsearch 5.0
Elasticsearch 5.0 使用ES的基本都会使用过head,但是版本升级到5.0后,head插件就不好使了.下面就看看如何在5.0中启动Head插件吧! 官方粗略教程 Running wit ...
- List<T>中Exists 和Contains的区别
.net编码中,使用泛型List<>时,经常遇到这样的需求:新来一个Model对象,如果已有的List中没有这条数据,则把新对象Add到List中,否则不处理 判断已有的List中是否包含 ...
- VBS基础篇 - 条件语句
经常地,当我们编写代码时,我们需要根据不同的判断执行不同操作,我们可以使用条件语句完成这个工作. If...Then...Else 在下面的情况中,您可以使用 If...Then...Else 语句: ...
- c语言编程之队列(链表实现)
用链表实现了队列,完成了队列的入队和出队功能. #include"stdio.h" typedef int element; typedef struct Node{ struct ...
- 文字沟通工具使用SignalR,跨域例子源代码
其他网站已经有很多关于SignalR的介绍了.这里不多介绍. 安装:Install-Package Microsoft.AspNet.SignalR -Version 1.1.4 参考自:http:/ ...