Arya04

今天学会的一点内容(5.06)

今天知道了jsp页面内的输入框里面的内容怎么传到另一个jsp页面。(之前被误导以为要把内容保存至session中然后上传到指定页面,果然还是想太多)
这是我的要传页面的代码(最后证明还是被误导了,这只能通过数据库操作)

1
2
3
4
5
6

<form method="post" action="success.jsp">
<input type="text"name="f1"value="${f1}"style="width:800px; height:20px;text-align:center"placeholder="请输入标题" />
<input type="text"name="f2"value="${f2}"style="width:800px; height:300px;text-align:center"placeholder="请输入内容" />
<input type="submit" value="提交发布" />
</form>
接受页面的代码

<% request.setCharacterEncoding("utf-8");%>
            <%=request.getParameter("f1")%> <hr><br>
            <%=request.getParameter("f2") %>

我这用的是post方法传表单数据,post方法比较保密,比如传密码是不错的选择。除了这个还有GET方法,GET方法是浏览器默认传递参数的方法,一些敏感信息,如密码等建议不使用GET方法。用get时,传输数据的大小有限制 (注意不是参数的个数有限制),最大为1024字节。

value=”${f1}”这是为了保存文本框内的值,setCharacterEncoding(“utf-8”)是因为没弄的时候都是乱码,所以设置了就能争取显示中文了,还有:
getParameter(): 使用 request.getParameter() 方法来获取表单参数的值。
getParameterValues(): 获得如checkbox类(名字相同,但值有多个)的数据。 接收数组变量 ,如checkbox类型
getParameterNames():该方法可以取得所有变量的名称,该方法返回一个 Enumeration。
getInputStream():调用此方法来读取来自客户端的二进制数据流。

还有不懂的其他问题(都解决)

1.如何让那些文本框内的值一传到另一个页面就永不消失(这只能通过数据库)
2.如何设置评论呢

今天课比较多 暂时就先解决设置过滤器的问题(5.07)

在主页中想要实现某些操作但是得要求用户进行了登录操作才可,这时候就得要设置Filter过滤类,主要是过滤器实现对未登录用户访问JSP页面进行控制。这样才能保证用户访问某个页面的前提是已经登录。我是先设置LoginFilter类,这个类里面主要是检测用户信息是否在Session类中,如果是则直接跳转到指定页面,如果不是,则会跳转到登陆页面,登陆后就可以跳转到指定页面了。

过滤器设置成功,就是判断加设置。将message和title保存到数据库然后通过读取数据库再显示在主页面上,两个很关键的都是怎么读取数据库。

发布内容的功能就是将标题、内容存到数据库里然后再jsp页面上读取出来,当然很重要的是要连接数据库。这里的连接数据库实际上都是在Jsp页面上操作的
<%
try {
Class.forName(“com.mysql.jdbc.Driver”); ////驱动程序名
String url = “jdbc:mysql://localhost:3306/A20170512”; //数据库名
String username = “root”; //数据库用户名
String password = “123456”; //数据库用户密码
Connection conn = DriverManager.getConnection(url, username, password); //连接状态

        if(conn != null){  
            out.print(" ");  
            out.print("<br />"); 
%>

<%
            Statement stmt = null;  
            ResultSet rs = null;  
            ResultSet ps =null;
            String sql = "SELECT * FROM Message;";  //查询语句
           // String rep="SELECT * FROM Comment ";
            stmt = conn.createStatement();  
            rs = stmt.executeQuery(sql);  
          //  ps = stmt.executeQuery(rep);
            out.print(" ");  
    out.print("<br/>");
            while (rs.next()) {%>
    
     

<%=rs.getstring("title") %>

<%=rs.getstring("message") %>

  • <%=rs.getstring("username") %>   ">评论 



  • <%} }else{ out.print("连接失败!"); } }catch (exception e) { out.print("数据库连接异常!"); }%> < code>

    连接数据库,操作数据库,解决之前的问题关键就是把帖子和评论都是先存进数据库里面的,就是一写进去就存进去了,之后在jsp页面中读取出来。
    上面的代码就是在数据库里面读取。

    你可以对我进行打赏哦