您的位置:首页 > 其它

Web开发之新闻发布系统详解

2014-12-31 08:53 429 查看
在做新闻发布系统时用的软件有:

(1)Myeclipse

(2)Mysql

1.首先现在myeclipse中建立了一个名字叫news的项目

我先做的第一个功能是登陆功能

登陆功能:

需要连接数据库,进行客户端与服务器进行信息交互。

在开始写登陆功能时,也遇到了许多问题,如连接不上数据库,连接上数据库了却又读取不了数据库中的信息。

在开始写登陆功能是在jsp页面中写的,后来才知道这样写本不好,虽然很简单,但如果项目越做越大,你就会发现在jsp页面

中写代码,会有许多的重复的代码。所以可以把那些重复的代码写到java代码中,在jsp页面中调用就可以了。

其次是页面的美化:

开始时登陆页面:



后来是登陆页面:



区别就是在login.jsp中添加了HTML+CSS样式,假如你想让你的页面变得漂亮一些,炫一些,

可以学一下HTML+CSS,和js脚本。或者在网上找些写好的样式借鉴一下也是可以的,嘻嘻。

具体代码:

1.login.jsp

<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>登录页面</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript">
function chkData()
{
if(document.frm.uname.value=="")
{
alert("请输入用户名。");
document.frm.uname.focus();
return false;
}
else if(document.frm.upass.value=="")
{
alert("请输入密码信息。");
document.frm.upass.focus();
return false;
}
else
{
return true;
}
}
</script>
</head>

<body background="images/tupian.jpg">
<center>
<p ><font  size="+6" face="华文行楷" color="#000000">------登陆功能------</font></p>
<form name="frm" method="post" action="doLogin.jsp">
<table  border="15" width="45%" height="200">
<tr>
<td><font  size="+3" face="华文行楷" >用户名:</font></td>
<td>
<input type="text" name="uname"/>
</td>
</tr>
<tr>
<td><font  size="+3" face="华文行楷" >密    码:</font></td>
<td>
<input type="password" name="upass"/>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit"  value="登 录" onclick="return chkData();"/>
<input type="reset" value="重 置"/>
<input type="button" value="注 册"  onclick="javascript:window.location.href='g_zhuce.jsp'">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
</span>


2.操作页面

假如登陆成功跳转到index.jsp页面,失败跳转到error.jsp页面

doLogin.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@page import="java.sql.*"%>
<%@page import="gxs.bzu.com.JDBC.*"%>
<%
request.setCharacterEncoding("gbk");

String uname=request.getParameter("uname");
String upass=request.getParameter("upass");
Login login =new Login();
boolean flag = login.get_UserAndPassword(uname, upass);
out.print(flag);
if(flag)
{
response.sendRedirect("index.jsp");
}else
response.sendRedirect("error.jsp");
%>


3.java实现也数据库连接的代码

Login.java

import java.sql.*;
import java.util.*;
public class Login {

public boolean get_UserAndPassword(String name, String pass)
{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
boolean flag=false;
try {
// 1.注册驱动,前提必须加载驱动包
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("未发现驱动");
}
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/news", "root", "123456");
String sql = "select * from userinfo where uname=? and upass=?";
pstmt = conn.prepareStatement(sql);//预编译SQL语句
pstmt.setString(1,name);
pstmt.setString(2,pass);
rs=pstmt.executeQuery();
if(rs.next()){
flag=true;
}

} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
if (pstmt != null)
pstmt.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

return flag;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐