JSP+Servlet+JavaBean传统方式实现简易留言板制作(注册、登录、留言)
来源:互联网 发布:视频噪声消除软件 编辑:程序博客网 时间:2024/06/05 11:55
学JavaEE也有一段时间了,跟着老师和教材做了不少东西,但是一直以来没时间写博客,今天就把以前写的一个简易留言板简单发一下吧。
- 开发工具
- 开发环境
开发环境为windows系统,已安装配置Java最新版开发环境。
- 主要功能与语言
所采用JSP+Servlet+JavaBean传统方式,仅限于学习使用。
- 主要代码实现
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>登录界面</title> </head> <body bgcolor="#ddd" style="font-family:Microsoft YaHei" > <div style="text-align:center;margin-top:120px"> <h1 >请登录</h1> <form action="loginServlet" method="post"> <table style="margin-left:40%"> <caption>用户登录</caption> <tr> <td>登录名:</td> <td><input name="name" type="text" size="20"></td> </tr> <tr> <td>密码:</td> <td><input name="password" type="password" size="21"></td> </tr> </table> <input type="submit" value="登录"> <input type="reset" value="重置"> </form> <br> <a href="register.jsp">注册</a> </div> </body></html>
register.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>注册界面</title> </head> <body bgcolor="#ddd" style="font-family:Microsoft YaHei" > <div style="text-align:center;margin-top:120px"> <h1 >请注册</h1> <form action="registerServlet" method="post"> <table style="margin-left:40%"> <caption>用户注册</caption> <tr> <td>ID:</td> <td><input name="id" type="text" size="20"></td> </tr> <tr> <td>登录名:</td> <td><input name="name" type="text" size="20"></td> </tr> <tr> <td>密码:</td> <td><input name="password" type="password" size="21"></td> </tr> </table> <input type="submit" value="注册"> <input type="reset" value="重置"> </form> <br> <a href="login.jsp">登录</a> </div> </body></html>
error.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>登录出错界面</title> </head> <body bgcolor="#ddd" style="font-family:Microsoft YaHei"> <div style="text-align:center;margin-top:130px"> <p>输入的用户名不存在或者密码错误</p> <a href="login.jsp">点我返回登陆界面</a> </div> </body></html>
main.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@page import="org.model.MessBoar" %><%@page import="org.dao.*" %><html> <head> <title>留言板界面</title> </head> <body bgcolor="#ddd" > <div style="margin-left:35%;margin-top:100px;font-family:Microsoft YaHei"> <h1 style="margin-left:5%">这里是留言板主界面</h1> <form action="leavemessage.jsp" method="post"> <table border="1"> <caption>所有留言信息</caption> <tr><th>留言人姓名</th><th>留言时间</th><th>留言标题</th><th>留言内容</th></tr> <% ArrayList<MessBoar> al=new ArrayList<MessBoar>(); al= (ArrayList)session.getAttribute("al"); if(al!=null){ Iterator iter=al.iterator(); while(iter.hasNext()){ MessBoar mb=(MessBoar)iter.next(); %> <tr><td><%= new LoginDao().getName(mb.getId()) %></td> <td><%= mb.getTime().toString() %></td> <td><%= mb.getTitle() %></td> <td><%= mb.getMessage() %></td></tr> <% } } %> </table> </form> <a style="margin-left:22%" href="leavemessage.jsp">留言</a> </div> </body></html>
leavemessage.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@page import="org.model.MessBoar" %><%@page import="org.dao.*" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>留言界面</title> </head> <body bgcolor="#ddd" style="font-family:Microsoft YaHei"> <div style="text-align:center;margin-top:140px"> <h1 >请留言</h1> <form action="leaveMessageServlet" method="post"> <table style="margin-left: 37%" border="1"> <caption>填写留言信息</caption> <tr><td>留言标题</td> <td><input type="text" name="title"/></td></tr> <tr><td>留言内容</td> <td><textarea name="message" rows="5" cols="35"></textarea></td></tr> </table> <input type="submit" value="提交"/> <input type="reset" value="重置"/> </form> <a href="main.jsp">返回留言板界面</a> </div> </body></html>
success.jsp
<%@ page language="java" pageEncoding="gb2312"%><html><head> <title>成功界面 </title></head><body><div bgcolor="#ddd" style="margin-left:42%;margin-top:240px;font-family:Microsoft YaHei"">留言成功,单击<a href="loginServlet">这里</a>返回主界面。</div></body></html>
web.xml(配置)
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <servlet> <servlet-name>loginServlet</servlet-name> <servlet-class>org.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>loginServlet</servlet-name> <url-pattern>/loginServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>registerServlet</servlet-name> <servlet-class>org.servlet.RegisterServlet</servlet-class></servlet><servlet-mapping> <servlet-name>registerServlet</servlet-name> <url-pattern>/registerServlet</url-pattern></servlet-mapping> <servlet> <servlet-name>leaveMessageServlet</servlet-name> <servlet-class>org.servlet.LeaveMessageServlet</servlet-class></servlet><servlet-mapping> <servlet-name>leaveMessageServlet</servlet-name> <url-pattern>/leaveMessageServlet</url-pattern></servlet-mapping> <display-name>messageBoard</display-name> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list></web-app>
DBconn.java
package org.db;import java.sql.*;public class DBconn {public static Connection conn; //Connection对象(链接)//连接数据库public static Connection getConn(){try{//加载注册SQLSever的JDBC驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//编写链接字符串,创建并且获取链接conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=MessageBoard","sa","19961002happy");return conn;}catch(Exception e){e.printStackTrace();return null;}}public static void CloseConn(){try{conn.close();}catch(Exception e){e.printStackTrace();}}}
LoginDao.java
package org.dao;import java.sql.*;import org.model.*;import org.db.*;import java.util.ArrayList;public class LoginDao {Connection conn=DBconn.getConn(); ; //数据库连接对象PreparedStatement pstmt;public Login checkLogin(String name,String password){ //验证用户名密码try{pstmt=conn.prepareStatement("select*from[loginss] where name=? " + " and password=?");pstmt.setString(1, name); //设置SQL语句参数pstmt.setString(2, password); //设置SQL语句参数ResultSet rs=pstmt.executeQuery(); //执行查询,返回结果集if(rs.next()){ //通过JavaBean保存值Login login=new Login();login.setId(rs.getInt(1));login.setName(rs.getString(2));login.setPassword(rs.getString(3));login.setRole(rs.getInt(4));return login; //返回JavaBean对象}return null; //验证失败返回null}catch(Exception e){e.printStackTrace();return null;}}public ArrayList<MessBoar> findMbInfo(){try{ArrayList<MessBoar> al=new ArrayList<MessBoar>();pstmt=conn.prepareStatement("select * from [messagess]");ResultSet rs=pstmt.executeQuery();while(rs.next()){MessBoar mb=new MessBoar();mb.setId(rs.getInt(1));mb.setName(rs.getString(2));mb.setTime(rs.getDate(3));mb.setTitle(rs.getString(4));mb.setMessage(rs.getString(5));al.add(mb);}return al;}catch(Exception e){e.printStackTrace();return null;}}public String getName(int id){String name=null;try{pstmt=conn.prepareStatement("select name from [loginss] where id=?");pstmt.setInt(1, id);ResultSet rs=pstmt.executeQuery();while(rs.next()){ name=rs.getString(1);}return name;}catch(Exception e){e.printStackTrace();return null;}}public boolean addInfo(MessBoar mb){try{pstmt=conn.prepareStatement("insert into [messagess] values(?,?,?,?,?)");pstmt.setInt(1, mb.getId());pstmt.setString(2, mb.getName());pstmt.setDate(3, mb.getTime());pstmt.setString(4, mb.getTitle());pstmt.setString(5, mb.getMessage());pstmt.executeUpdate();return true;}catch(Exception e){e.printStackTrace();return false;}}public boolean insertUser(int id,String name,String password){try{pstmt=conn.prepareStatement("insert into [loginss] values(?,?,?,?)");pstmt.setInt(1, id);pstmt.setString(2, name);pstmt.setString(3, password);pstmt.setInt(4, 0);pstmt.executeUpdate();return true;}catch(Exception e){e.printStackTrace();return false;}}}
Login.java
package org.model;public class Login {private Integer id;private String name;private String password;private int role;public Integer getId(){return this.id;}public void setId(Integer id){this.id=id;}public String getName(){return this.name;}public void setName(String name){this.name=name;}public String getPassword(){return this.password;}public void setPassword(String password){this.name=password;}public int getRole(){return this.role;}public void setRole(int role){this.role=role;}}
message.java
package org.model;import java.sql.*;public class MessBoar {private int id;private String name;private Date time;private String title;private String message;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 Date getTime() {return time;}public void setTime(Date time) {this.time=time;}public String getTitle() {return title;}public void setTitle(String title) {this.title=title;}public String getMessage() {return message;}public void setMessage(String message) {this.message=message;}}
LeaveMessageServlet.java
package org.servlet;import java.io.IOException;import java.sql.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.dao.LoginDao;import org.model.*;public class LeaveMessageServlet extends HttpServlet{public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{// 设置请求编码request.setCharacterEncoding("gb2312");// 设置响应编码response.setContentType("gb2312");// 获取title内容String title=request.getParameter("title");// 获取message内容String message=request.getParameter("message");// 从session中取出当前用户对象Login leaveMessageBoard=(Login) request.getSession().getAttribute("login");// 建立留言表对应JavaBean对象,把数据封装进去MessBoar mb=new MessBoar();mb.setId(leaveMessageBoard.getId());// 参数为获取的当前时间mb.setName(leaveMessageBoard.getName());mb.setTime(new Date(System.currentTimeMillis()));mb.setTitle(title);mb.setMessage(message);// 调DB类中的方法判断是否插入成功if(new LoginDao().addInfo(mb)){response.sendRedirect("success.jsp") ;}}public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{doGet(request,response);}}
LoginServlet.java
package org.servlet;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import org.model.*;import org.dao.*;public class LoginServlet extends HttpServlet{public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{request.setCharacterEncoding("gb2312"); //设置请求编码response.setContentType("gb2312"); //设置响应编码LoginDao loginDao= new LoginDao();HttpSession session=request.getSession(); // 先获得user对象,如果是第一次访问该Servlet,用户对象肯定为空,但如果是第Login l=(Login) session.getAttribute("login"); // 二次甚至是第三次,就不应该再判断该用户的信息if(l==null)l = loginDao.checkLogin(request.getParameter("name"),request.getParameter("password"));if(l!=null){ //如果登陆成功session.setAttribute("login",l); //将获取的对象保存在session中ArrayList al=loginDao.findMbInfo(); //获取留言板的内容,返回一个数组session.setAttribute("al", al); //把数组保存起来response.sendRedirect("main.jsp"); //验证成功跳转到 main.jsp}else{ //验证失败跳转到 error.jspresponse.sendRedirect("error.jsp");}}public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{doGet(request,response);}}
RegisterServlet.java
package org.servlet;import java.io.IOException;import org.dao.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class RegisterServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("gb2312");int id=Integer.valueOf(request.getParameter("id"));String name=request.getParameter("name");String password=request.getParameter("password");if(new LoginDao().insertUser(id ,name, password)){response.sendRedirect("login.jsp");}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request,response);}}
- 简单介绍
- 效果图
好好学习,天天向上~加油~~~
//没想到竟然被红黑联盟转载了,受宠若惊。对了,这个工程我也传了上来,链接在此:http://download.csdn.net/detail/qq_33171970/9514965
这个要积分的。。。。
本来想骗点积分的。。。想想还是算了,传到百度云上吧:
链接: http://pan.baidu.com/s/1c2iCPQ4 密码: 7yxk
//LoginServlet.java错误已修改 2016/09/02
//数据库语句添加 2016/12/24
数据库创建语句:
create database messageBoardgouse messageBoardcreate table loginss(id int not null primary key,name varchar(20) not null,password varchar(20) not null,role int not null)create table messagess(id int not null primary key,name varchar(20) not null,time datetime not null,title varchar(20) not null,message varchar(50) not null)
上面的表名称需要与LoginDao.java里面的保持一致。
5 0
- JSP+Servlet+JavaBean传统方式实现简易留言板制作(注册、登录、留言)
- jsp+javabean+servlet+Mysql实现MVC模式下的注册登录留言功能
- jsp+Servlet+javaBean实现登录和注册
- Servlet +JSP+Javabean 实现用户登录注册
- JSP+JavaBean+Servlet实现一个留言板
- JSP+JavaBean+Servlet实现一个留言板
- 登录和注册(jsp+servlet+JavaBean)
- jsp制作简易留言版
- jsp与Javabean实现登录注册
- JSP+Servlet+JavaBean实现登录网页设计
- JSP+Servlet+javabean实现登录功能模块
- JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能
- JSP+JavaBean+Servlet用户注册登录请求的处理
- jsp+jstl+servlet+javaBean+Mysql用户登录注册页面
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- JavaScript图片轮播
- nginx 优化步骤
- 数据结构之Trie树
- Android开发艺术探索(研读笔记)——03-Android中的IPC机制(一)
- java 线程二
- JSP+Servlet+JavaBean传统方式实现简易留言板制作(注册、登录、留言)
- java学习笔记
- Spring之FactoryBean
- Spring IOC容器-注解的方式【更简化】
- 142. Linked List Cycle II
- Android中的IPC方式(一)—— Bundle、文件共享、Messenger
- 反编译android中的xml文件
- 请实现一个函数,把字符串中的每个空格替换成“ ”
- Android播放声音文体