JSP制作简易留言板 -2

上回说:jsp文件:https://www.jianshu.com/p/c758b2c35d1b

error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>error</title>
</head>
<body>
<% String msg = (String)request.getSession().getAttribute("info"); %>
<h2><%= msg %></h2>
<h3>去注册<span><a href="register.jsp">register</a></span></h3>
</body>
</html>

Leave_message.jsp

<%@page import="wg.User" %>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>留言界面</title>
</head>
<% User user = (User)request.getSession().getAttribute("user"); 
    if(user == null){
        request.getSession().setAttribute("info", "非法访问!");
        response.sendRedirect("error.jsp");
        return ;
    }
    %>
<body>
<h2>Please write your message!</h2>
<form action="LeaveMessageServlet" method="post" >
    <table style="border: 1">
        <tr>
            <td>message title</td>
            <td><input type="text" name="title" /></td>
        </tr>
        <tr>
            <td>message content</td>
            <td><textarea name="message" rows="5" cols="35"></textarea></td>
        </tr>
    </table>
    <input type="submit" value="submit"/> 
    <input type="reset" value="reset" />
</form>
        <a href="main.jsp">Go 主页</a>
</body>
</html>

Login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-81">
<title>Login Interface</title>

</head>
<body>
<h5>welcome to you!</h5>
<h2>Login Please</h2>
    <form action="Loginservlet" method="POST">
            <table>
                    <tr>
                        <td>Username</td>
                        <td><input name="username" type="text" size="20" /></td>
                    </tr>
                    <tr>
                        <td>Password</td>
                        <td><input name="password" type="password" size="20" /></td>
                    </tr>
                </table>
                <input type="submit" value="submit">
                <input type="reset" value="reset">
    </form>
    <a href="register.jsp">I want to register</a>
</body>
</html>

main.jsp

<%@page import="wg.Msg_Board"%>
<%@page import="wg.Login"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.util.ArrayList"%>
<%@page import="wg.User"%>
<%@page import="wg.Mesage" %>
<%@page import="wg.Login" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>主页</title>
</head>
<body>
<% User user = (User)request.getSession().getAttribute("user"); 
    if(user == null){
        request.getSession().setAttribute("info", "非法访问!");
        response.sendRedirect("error.jsp");
        return ;
    }else{
        //遍历留言表,采用session存起来
        Msg_Board msg_Board = new Msg_Board();
        ArrayList<Mesage> all_msg = msg_Board.getMessage();
        session.setAttribute("all_msg", all_msg);
    }
    %>
<h2>这是主页</h2>
<h2>留言板总览</h2>
        <table style="border: 1;">
            <tr>
                <th>留言人姓名</th>
                <th>留言时间</th>
                <th>留言标题</th>
                <th>留言内容</th>
            </tr>
            <%
                ArrayList<Mesage> al = (ArrayList<Mesage>)request.getSession().getAttribute("all_msg");
                Login temp = new Login();
                if (al != null) {
                    Iterator it = al.iterator();
                    while (it.hasNext()) {
                        Mesage ms = (Mesage) it.next();
                        String username = temp.getUserName(ms.getUser_id());
            %>
            <tr>
                <td><%= username %></td>
                <td><%= ms.getTime()%></td>
                <td><%= ms.getTitle() %></td>
                <td><%= ms.getContent() %></td>
            </tr>
            <%
                }
            }
            %>
        </table>
<h4>去留言<a href="Leave_message.jsp">Go</a></h4>
<h4>退出<a href="Signout.jsp">Go</a></h4>
</body>
</html>

register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册界面</title>
</head>
<body>
<h2>注册界面</h2>
<h5>welcome to you!</h5>
<h2>Register Please</h2>
    <form action="Registerservlet" method="POST">
            <table>
                    <tr>
                        <td>Username</td>
                        <td><input name="username" type="text" size="20" /></td>
                    </tr>
                    <tr>
                        <td>Password</td>
                        <td><input name="password" type="password" size="20" /></td>
                    </tr>
                </table>
                <input type="submit" value="submit">
                <input type="reset" value="reset">
    </form>
    <a href="Login.jsp">已有账号去登陆</a>
</body>
</html>

result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>留言状况</title>
</head>
<body>
<% String msg = (String)request.getSession().getAttribute("info");
   String wg_page = (String)request.getSession().getAttribute("page");%>
<h2><%= msg %></h2>
<h4>跳转:<a href="<%= wg_page %>">Go</a></h4>
</body>
</html>

Signout.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>退出</title>
</head>
<body>
<h2>已退出</h2>
<%
session.invalidate() ;   //销毁session
//2秒后跳转
response.setHeader("refresh","2 ; url= Login.jsp") ;
%>
</body>
</html>

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册成功</title>
</head>
<body>
<h2>注册成功</h2>
<h4>去登陆<span><a href="Login.jsp">login</a></span></h4>
</body>
</html>

然后我再次(原来弄博客也是)遇见一个令人头疼的问题。
存储到数据库的中文数据乱码问题:
可以参考这篇
https://blog.csdn.net/cxy782255346/article/details/41173577
找到my.ini参考:
https://jingyan.baidu.com/article/7e4409531f75292fc0e2efe7.html
重启mysql

在这之上我还加入了


my.ini设置了character-set-server


最后附上改后的数据库配置
进入数据库中敲入:show variables like '%char%';

还遇见当eclipse不自动引入包名时,只好手动引用了,如下:(或者手敲)


到此制作完毕

这其中还有很多知识积累也记录下来吧:

创造一个数据库连接对象(Connection对象,代表与数据源进行的唯一会话。)。
创建编译语句对象(Statement对象,建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。)。
创建预编译语句对象(PreparedStatement对象, 实例包含已编译的 SQL 语句。这就是使语句“准备好”)。
创建结果集对象(ResultSet对象, 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等.)
ps:结果集对象在oracle中如果是查询会返回一个resultset,但是当插入,删除和更新值的时候返回的是被影响的行数,所以这时候需要用int类型来接收这个值。

        response.getWriter().append("Served at: ").append(request.getRequestURL().toString());
        String requestUrl = request.getRequestURL().toString();//得到请求的URL地址
        String requestUri = request.getRequestURI();//得到请求的资源
        String queryString = request.getQueryString();//得到请求的URL地址中附带的参数
        String remoteAddr = request.getRemoteAddr();//得到来访者的IP地址
        String remoteHost = request.getRemoteHost();//返回发出请求的客户机的完整主机名。
        int remotePort = request.getRemotePort();//返回客户机所使用的网络端口号
        response.setCharacterEncoding("UTF-8");//设置将字符以"UTF-8"编码输出到客户端浏览器
        //通过设置响应头控制浏览器以UTF-8的编码显示数据,如果不加这句话,那么浏览器显示的将是乱码
        response.setHeader("content-type", "text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();//这是servlet的输出流的意思,然后在页面直接可以显示和解析
        out.write("获取到的客户机信息如下:");
        out.write("<hr/>");
        out.write("请求的URL地址:"+requestUrl);
        out.write("<br/>");
        out.write("请求的资源:"+requestUri);
        out.write("<br/>");
        out.write("请求的URL地址中附带的参数:"+queryString);
        out.write("<br/>");
        out.write("来访者的IP地址:"+remoteAddr);
        out.write("<br/>");
        out.write("来访者的主机名:"+remoteHost);
        out.write("<br/>");
        out.write("使用的端口号:"+remotePort);

关于重定向丢失请求域的参数问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 224,896评论 6 522
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,283评论 3 402
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,085评论 0 367
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,010评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,015评论 6 400
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,492评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,858评论 3 428
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,829评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,374评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,409评论 3 346
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,527评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,131评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,858评论 3 339
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,296评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,434评论 1 276
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,087评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,597评论 2 366