JAVAWeb-实现简单的留言版

(1)首先整体展示留言版的界面,及功能:

登陆界面:                                     

  JAVAWeb-实现简单的留言版_第1张图片

功能界面:

JAVAWeb-实现简单的留言版_第2张图片

JAVAWeb-实现简单的留言版_第3张图片

2.项目结构:

JAVAWeb-实现简单的留言版_第4张图片

具体实现 :

(1)首先我们要有 一个登陆的页面,里面有登陆和密码框:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%
  String flag = request.getParameter("flag");
%> 




系统登陆




    

系统登录

 

需要对提交的数据进行简单的处理:把用户提交的用户名放到session中,因为整个会话中都必须用到这个:

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
用户登陆


   <%
    //获取传递过来的参数 
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    session.setAttribute("LoginUser", username);
    response.sendRedirect(request.getContextPath()+"/message.jsp");
    %>

数据处理

经过简单的处理:然后经过request重定向发送到功能的界面: 中间需要一个servlet的 过滤器修改编码 ,及进行转型:

package filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public  class characterEncodingFilter implements Filter {

	private FilterConfig config;
	public void destroy() {
	}
	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
	    request.setCharacterEncoding(config.getInitParameter("charset"));
	    HttpServletRequest hrequest = (HttpServletRequest)request;
	    HttpServletResponse hresponse = (HttpServletResponse)response; 
	    String LoginUser = (String)hrequest.getSession().getAttribute("LoginUser");
	    //告诉服务器已经处理完毕
	    chain.doFilter(request, response);
	}
	@Override
	public void init(FilterConfig config) throws ServletException {
	   this.config=config;
	}
}

及过滤器的配置:web.xml



  FilterDemo
  
    index.jsp
  
   
      characterEncodingFilter
      filter.characterEncodingFilter
      
 		   charset
 		   UTF-8
      
      
  
   
      characterEncodingFilter
      /*
  
  

转到的jsp页面 :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.util.*,Model.*" %>
<%
    String user = (String)session.getAttribute("LoginUser");
    Listmessages = (List)session.getAttribute("messages");
%>




留言板




留言板

 

<% if(messages!=null){ for(Message message:messages){ %> <% } } %>
留言人 标题 内容
<%=user%> <%=message.getTitle()%> <%=message.getContent()%>

我们登陆后的页面与提交后的页面为同一个,这样我们中间就需要对我们提交的数据进行处理和显示,因此我们需要一个javabean类来封装信息,和一个jap页面来处理信。

package Model;

public class Message {
	private String title;
	private  String content;
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
}

处理信息的jsp页面,且不展示任何东西,并跳转回来。

<%@page import="com.mysql.jdbc.Messages"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@page import="java.util.*,Model.*" %>
<%
   //获取信息 
   String title = request.getParameter("title");
   String content =request.getParameter("content");
   //封装信息
   Message message = new Message();
   message.setTitle(title);
   message.setContent(content);
   
   Listmesssages = (ArrayList)session.getAttribute("messages");
   if(messsages==null){
	   messsages = new ArrayList();
	   session.setAttribute("messages", messsages);
   }
   messsages.add(message);
   response.sendRedirect(request.getContextPath()+"/message.jsp?SubFlag=1");
%>

源码下载

你可能感兴趣的:(java,Web,javabean)