博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javaweb邮箱页面架构
阅读量:3969 次
发布时间:2019-05-24

本文共 9317 字,大约阅读时间需要 31 分钟。

电子邮件管理系统除了必要的列出并查看邮件之外,还需要能够删除、修改邮件等等,邮件功能为添加、保存邮件;→删除、修改邮件;→查看、搜索邮件;


技术实现

JavaWeb最基本的三要素Html5、CSS与JavaScript实现项目设计

设计思想

邮件管理系统实现的功能就是让用户登陆,通过判断用户输入的用户名和密码与用户选择的登陆身份与数据库中的数据是否匹配来验证用户,其功能与我们日常生活中使用的QQ邮箱类似。其中比较有特色的功能就是修改密码功能,该功能仅限于注册用户使用。。

具体实现

数据库管理

用户数据库
public User() {
//加载驱动 try {
Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) {
e.printStackTrace(); } //建立连接 try {
connection = DriverManager.getConnection(url, username, password); } catch (SQLException throwables) {
throwables.printStackTrace(); } //执行SQL对象 try {
statement = connection.createStatement(); } catch (SQLException throwables) {
throwables.printStackTrace(); } } //判断登录 public boolean signIn(String username, String password) throws SQLException {
sql = "SELECT Psd FROM userlist WHERE UserName='"+username+"'"; ResultSet resultSet = statement.executeQuery(sql); final StringBuilder builder = new StringBuilder(); while (resultSet.next()) {
builder.append(resultSet.getString(1)); } String allResults = builder.toString(); if(allResults.equals(password)){
return true; }else{
return false; } } //用户注册 public void register(String username, String password) throws SQLException {
sql = "INSERT INTO userlist(UserName,Psd ) VALUE ('" + username + "' , '" + password + "')"; int i = statement.executeUpdate(sql); } //修改密码 public int changePassword(String username, String password) throws SQLException {
sql1="SELECT Psd FROM userlist WHERE UserName='"+username+"'"; ResultSet resultSet = statement.executeQuery(sql1); final StringBuilder builder = new StringBuilder(); while (resultSet.next()) {
builder.append(resultSet.getString(1)); } String allResults = builder.toString(); if(allResults.equals(password)){
return 1; }else{
sql = "UPDATE userlist " + "SET Psd = '" + password + "' WHERE UserName = '" + username + "'"; int i = statement.executeUpdate(sql); return 2; } } public static void main(String[] args) {
// User user = new User();// try {
// System.out.println(user.changePassword("www@123.com","666666"));// } catch (SQLException throwables) {
// throwables.printStackTrace();// } }}
邮件数据库
public Emile() {
//加载驱动 try {
Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) {
e.printStackTrace(); } //建立连接 try {
connection = DriverManager.getConnection(url,username,password); } catch (SQLException throwables) {
throwables.printStackTrace(); } //执行SQL对象 try {
statement = connection.createStatement(); } catch (SQLException throwables) {
throwables.printStackTrace(); } } //写邮件 public void writeEmile(String from,String text){
sql="INSERT INTO mail(Fromer,Date,Text) VALUE('"+from+"',NOW(),'"+text+"' )"; try {
int i = statement.executeUpdate(sql); } catch (SQLException throwables) {
throwables.printStackTrace(); } } //读邮件 public void readEmile(String from){
sql="SELECT * FROM mail WHERE Fromer='"+from+"'"; try {
ResultSet resultSet = statement.executeQuery(sql); while (resultSet.next()){
System.out.println(resultSet.getString(1)); System.out.println(resultSet.getString(2)); System.out.println(resultSet.getString(3)); } } catch (SQLException throwables) {
throwables.printStackTrace(); } } public static void main(String[] args) {
// Emile emile = new Emile(); }}

登录界面设计

    用户登录    

邮箱:
密码:

登录界面逻辑处理

public class LoginFrame extends HttpServlet {
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username"); String password = req.getParameter("password"); HttpSession session = req.getSession(); session.setAttribute("msg",username); String sessionId = session.getId(); try {
boolean b = new User().signIn(username, password); System.out.println(b); if(b==true){
req.getRequestDispatcher("index.jsp").forward(req, resp); } if(b==false){
session.invalidate(); String obj="登陆失败,请重新登陆"; resp.sendRedirect("Login.jsp?error=yes"); } } catch (SQLException throwables) {
throwables.printStackTrace(); } }}

注册界面设计

    账号注册       
请输入账号:
请输入密码:

用户注册实现

public class Register extends HttpServlet {
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username"); String password = req.getParameter("password"); User user = new User(); try {
user.register(username,password); } catch (SQLException throwables) {
} req.getRequestDispatcher("register.jsp?code=1").forward(req,resp); }}

主界面设计

    我的邮箱<%--   顶部标签--%>

欢迎<%=(String) session.getAttribute("msg")%>登录

<%--

--%><%--
--%><%--
--% <%-- --%> ">          

修改密码界面设计

    修改密码    
邮箱:  
新密码:
<%-- <% response.sendRedirect("Login.jsp");%>--%>

<%--<% request.getRequestDispatcher("Login.jsp").forward(request,response);%>--%>

修改密码功能实现

public class changePassword extends HttpServlet {
int i; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username"); String password = req.getParameter("password"); User user = new User(); try {
i=user.changePassword(username,password); } catch (SQLException throwables) {
throwables.printStackTrace(); } if(i==1){
req.getRequestDispatcher("ChangePassword.jsp?code=1").forward(req,resp); }else{
req.getRequestDispatcher("ChangePassword.jsp?code=2").forward(req,resp); } } public static void main(String[] args) {
}}

邮件发送界面设计

    写邮件    
收件人:
邮件内容:

发送邮件功能实现

public class Write extends HttpServlet {
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String emile = req.getParameter("writeemile"); String text = req.getParameter("emiletext"); Emile emile1 = new Emile(); emile1.writeEmile(emile,text); req.getRequestDispatcher("Inbox.jsp?code=1").forward(req,resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp); }}

收件箱页面设计

     我的邮箱<% try{
String username=request.getParameter("id"); Class.forName("com.mysql.jdbc.Driver"); Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/mailbox","user","123456"); Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("SELECT * From mail WHERE Fromer = '" + username + "'"); %>
收件人 时间 内容 <% while (rs.next()){
out.print(""); out.print(""+rs.getString("Fromer")+""); out.print("\n\n\n"); out.print(""+rs.getString("Date")+""); out.print("\n\n\n"); out.print(""+rs.getString("Text")+""); out.print("\n\n\n"); out.print(""); } con.close();}catch(Exception e){
out.print(("连接失败")); }%>

需要完整项目文件加扣扣2957782929免费获取

转载地址:http://cfcki.baihongyu.com/

你可能感兴趣的文章
Platform总线
查看>>
Platform总线
查看>>
Linux驱动程序中的platform总线详…
查看>>
Linux驱动程序中的platform总线详…
查看>>
按键驱动--platform设备的例子
查看>>
按键驱动--platform设备的例子
查看>>
mini2440按键驱动及详细解释(转)
查看>>
mini2440按键驱动及详细解释(转)
查看>>
在中断上下文使用disable_irq()的…
查看>>
在中断上下文使用disable_irq()的…
查看>>
内核定时器
查看>>
内核定时器
查看>>
中断与内核定时器
查看>>
中断与内核定时器
查看>>
source&nbsp;insight的疑问
查看>>
source&nbsp;insight的疑问
查看>>
Linux输入子系统&nbsp;input_dev&nbsp;概述
查看>>
Linux输入子系统&nbsp;input_dev&nbsp;概述
查看>>
A&nbsp;new&nbsp;I/O&nbsp;memory&nbsp;access&nbsp;mechanis…
查看>>
A&nbsp;new&nbsp;I/O&nbsp;memory&nbsp;access&nbsp;mechanis…
查看>>