使用servlet/jsp + mysql 完成的一个bbs练习项目 记录下来
来源:互联网 发布:ip变换软件 编辑:程序博客网 时间:2024/04/29 08:39
第一次写博客,今天先把自己的一个bbs练习项目记录下来
操作系统:windows
开发工具:eclipse
相关技术:java core ,serlvet/Jsp,JDBC,mysql
web容器:tomcat 这里使用了tomcat7
依赖包如下:
commons-beanutils-1.6.1.jar
commons-collections-3.2.1.jar
commons-io-2.2.jar
commons-lang-2.6.jar
commons-logging-1.1.3.jar
IKAnalyzer.jar(分词工具包)
lucene-1.4.jar
lucene-demos-1.4.jar
mysql-connector-java-5.1.34.jar
数据库创建
create database bbs;
创建用户信息表 user_info
CREATE TABLE `user_info` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userId` varchar(255) NOT NULL, `username` varchar(50) NOT NULL, `password` varchar(30) NOT NULL, `email` varchar(50) DEFAULT NULL, `date` varchar(255) DEFAULT NULL, `befdate` varchar(255) DEFAULT NULL, `huiTie` int(11) DEFAULT NULL, `faTie` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
配置web.xml文件
<?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"> <display-name></display-name> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.xuchao.bbs.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/loginServlet</url-pattern> </servlet-mapping> </web-app>
编写登录的servlet
package com.xuchao.bbs.servlet;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.commons.beanutils.BeanUtils;import com.xuchao.bbs.javabean.UserInfo;import com.xuchao.bbs.javabean.UserManager;@SuppressWarnings("serial")public class LoginServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");String address = null;HttpSession session = request.getSession();UserInfo user = new UserInfo();try {BeanUtils.populate(user, request.getParameterMap());} catch (Exception e) {e.printStackTrace();}user = UserManager.findUser(user);if(user == null){session.setAttribute("message", "用户名或密码不正确");address = "login.jsp";}else{session.setAttribute("user", user);address = "homepage.jsp";}RequestDispatcher dispatcher = request.getRequestDispatcher(address);dispatcher.forward(request, response);}}
实体类UserInfo
package com.xuchao.bbs.javabean;public class UserInfo {private String userId;private String username;private String password;private String email;private String date=null;private String befdate;private int huiTie;private int faTie;public String getUserId() {return userId;}public void setUserId(String userId) {this.userId = userId;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getDate() {return date;}public void setDate(String date) {this.date = date;}public String getBefdate() {return befdate;}public void setBefdate(String befdate) {this.befdate = befdate;}public int getHuiTie() {return huiTie;}public void setHuiTie(int huiTie) {this.huiTie = huiTie;}public int getFaTie() {return faTie;}public void setFaTie(int faTie) {this.faTie = faTie;} }
用户管理类
package com.xuchao.bbs.javabean;import java.sql.ResultSet;import java.sql.SQLException;import com.xuchao.bbs.db.DbConnection;/** * 管理用户的类 * @author xuchao * */public class UserManager {public static UserInfo findUser(UserInfo user){String sql = "SELECT * FROM user_info WHERE username='" + user.getUsername() + "' AND password ='" + user.getPassword() + "'";UserInfo userInfo = new UserInfo();ResultSet result;try {result = DbConnection.getQuery(sql);if(!result.next()){return null;}else{userInfo.setUserId(result.getString("userId"));userInfo.setUsername(result.getString("username"));userInfo.setPassword(result.getString("password"));userInfo.setEmail(result.getString("email"));userInfo.setBefdate(result.getString("befdate"));userInfo.setDate(result.getString("date"));userInfo.setFaTie(result.getInt("faTie"));userInfo.setHuiTie(result.getInt("huiTie"));}} catch (Exception e) {e.printStackTrace();}return userInfo;}public static boolean add(UserInfo user){ String sql="insert into user_info(userId,password,username,email,date,befdate) values('"+user.getUserId()+"','"+user.getPassword()+"','"+user.getUsername()+"','"+user.getEmail()+"','"+user.getDate()+"','"+user.getDate()+"')"; String sql2="select * from user_info where username='"+user.getUsername()+"'"; try {if(DbConnection.getQuery(sql2).next()){return false;}else{ DbConnection.insert(sql);}} catch (SQLException e) {e.printStackTrace();} return true;} }
数据访问类(JDBC)
package com.xuchao.bbs.db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DbConnection{public static Connection getCon(){ Connection con = null; try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e1) { System.out.println("驱动加载错误!"); e1.printStackTrace(); } String url="jdbc:mysql://localhost:3306/bbs"; try {con= DriverManager.getConnection(url,"root","password");} catch (SQLException e) {System.out.println("数据连接错误!");e.printStackTrace();} return con; } public static ResultSet getQuery(String sql){ Connection conn=getCon(); Statement stt=null; ResultSet rs = null; try{ stt=conn.createStatement(); rs=stt.executeQuery(sql); }catch(Exception e){ e.printStackTrace(); }return rs; } public static int insert(String sql){ Connection conn=getCon(); Statement stt=null; int n=0; try { conn.setAutoCommit(false); stt=conn.createStatement(); n=stt.executeUpdate(sql); conn.commit(); } catch (SQLException e) { try {conn.rollback(); } catch (SQLException e1) {e1.printStackTrace(); } e.printStackTrace(); }finally{ try { stt.close(); conn.close(); } catch (SQLException e) {e.printStackTrace(); } } return n; } public static int delete(String[] sql){ Connection conn=getCon(); Statement stt=null; int result = 0; try { conn.setAutoCommit(false); stt=conn.createStatement(); for(int i=0;i<sql.length;i++){ result = stt.executeUpdate(sql[i]); if(result==-1){ throw new RuntimeException("删除ID为" + sql[i] + "的时候出错了"); } } conn.commit(); } catch (SQLException e) { try {conn.rollback(); } catch (SQLException e1) {e1.printStackTrace(); } e.printStackTrace(); }finally{ try { stt.close(); conn.close(); } catch (SQLException e) {e.printStackTrace(); } } return result; } public static int update(String sql){ Connection conn=getCon(); Statement stt=null; int n=0; try { conn.setAutoCommit(false); stt=conn.createStatement(); n=stt.executeUpdate(sql); conn.commit(); } catch (SQLException e) { try {conn.rollback(); } catch (SQLException e1) {e1.printStackTrace(); } e.printStackTrace(); }finally{ try { stt.close(); conn.close(); } catch (SQLException e) {e.printStackTrace(); } } return n; } public static void main(String[] args) { // DbConSql db=new DbConSql();// // db.insert("insert into users (userno,username) values('3','4')");// ResultSet rs=db.getQuery("select * from zhuTie where id=26");// try {//while(rs.next()){// int s=rs.getInt("id");// System.out.print(s);// }//} catch (SQLException e) {//e.printStackTrace();//} }}
至此一个登录的流程完成了
该项目还不够完善
项目下载地址:点击打开链接
0 0
- 使用servlet/jsp + mysql 完成的一个bbs练习项目 记录下来
- 使用jsp+servlet完成一个表单验证
- 使用jsp+servlet完成一个表单验证
- 基于jsp,JQuery,Servlet,MySQL的小型BBS论坛
- BBS论坛留言板servlet+jsp+jdbc+mysql
- JSP-Servlet实现网上BBS项目小案例
- 新浪云+七牛云实现 Mysql + Servlet + Jsp 使用记录
- BBS练手JSP系统完成
- Jsp + servlet + mysql 使用
- javascript的一个简单语法,记录下来
- jsp作业(1)--使用jsp+servlet完成一个表单验证
- 如何用Servlet+JDBC+MySQL+Jsp完成一个登陆注册界面
- servlet+jsp 实现一个简单的web项目
- jsp servlet mysql项目的中文乱码问题
- jsp+javaBean+servlet+mysql完整的实现一个登录功能
- jsp代码编写简单的BBS论坛项目的总结
- 【struts2】一个BBS论坛初步显示sql数据库的配置,这里使用的是MySQL
- mysql 练习1 完成一个由 学生表 选课表 课程表 的一个多表查询
- iOS通讯录联系人列表较完整(中文排序)
- DataStructure-6-树
- note20150804
- Android开发之资源文件存储
- android sdk manager更新出错
- 使用servlet/jsp + mysql 完成的一个bbs练习项目 记录下来
- SIP穿越NAT的rport机制
- 【CJWYH】RHL的背包题解(多重背包)
- TF-IDF与余弦相似性的应用(一):自动提取关键词
- sap 采购模式
- 各种远程通信协议分析、比较
- NineOldAnimations 源码解析
- php simple_html_dom网页采集
- 1036. Boys vs Girls (25)