站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题入门好难,问个最基本的问题

入门好难,问个最基本的问题

摘要: 入门好难,问个最基本的问题


刚开始学java,想用elipse,各位谁可以给写一点最基本的代码,让我知道最简单的就好了。就是一个用户登陆界面,输入用户名和密码,点确定,如果正确则进入下个页面,否则给出提示,
虽然这个很简单,但是我主要是想知道这个流程是怎么样的,谢谢各位了。谢谢

补充一下,是向数据库里去验证密码
谢谢了。




c/s or b/s


这个并不简单。你先看看 servlet 或 struct 方面的资料


我想用 b/s 。我正在看servlet和struct方面的资料,我想要的效果是用一个jsp写页面,点确定时提交到数据库里去验证,
其实我最想要的是一个简单的思路,我看书上的例子写的很麻烦,每个地方都写的很好,但是如果做一个例子根本没有那个必要的,
因为我刚开始学,第一印象留下的最深刻,我想要知道一个最正确的流程,就是怎么写这个程序,不知道我的表达大家清楚不,如果我按照书上的例子写,我觉得绕了很多路,所以请大家给提个意见,谢谢


换个问法,呵呵
就是 我用jsp写了个页面,点确定 去数据库验证密码, 那我什么时候连接数据库呢,因为以前一直是用c/s , 对这些不明白,高手请教,谢谢了。


〉刚开始学java,

〉向数据库里去验证密码

绝对是自寻死路,达芬奇学画画,学了一年画鸡蛋


呵呵,我的做法一般是再写一个jsp页面去处理这个逻辑(当然理论上应该用servlet,但是一般的小网页小项目实在没必要那么麻烦)
比如你 login.jsp 页面输入用户,密码
写一个loginDo.jsp,login页面内容提交到loginDo.jsp.然后在loginDo.jsp里面读取用户密码,数据库验证,根据结果.给出提示,大概这样.


loginDo.jsp里面处理的逻辑,可以写到一个javaBean里面.打个包放到lib下面,方便以后维护点.


谢谢。我觉得是用 servlet比较麻烦,所以我想找一个简单的方法。shine3333说刚开始学java就可以查数据库就等于找死,我以前用的vb.net,工作一年了。我只对我曾经做过的程序来说,就是把一些数据读近来然后再做一些处理然后存入数据库。虽然我现在只是刚学java,也许很多语法的东西我不会,但是我只要学就可以会的,程序的这些东西都是相通的。
如果我有什么说的不对的地方,请你指教,谢谢你的 回复,谢谢。


建议lz使用jcreator或netBeans(一段时间后)
其实到数据库里取数据然后验证一点都不难。
用java连接到数据库后,用sql把数据读出来不就ok了。
servlet,struct还远得很。


我知道不难,那对一个练习来说是很简单的,但是如果做一个大的程序,而不是练习,那样就不可以了。需要用专门的函数来连了。记得我第一次连数据库用的函数就不好,但是因为用的熟悉了,虽然现在我可以用别的方法连,但是我仍习惯用以前的方法,习惯害死人啊,所以我再一开始学的时候就想找到一个比较好的方法,谢谢 回复。


UP


-_-! 我用jbuilder + mssql2000的,
你要的联系我,我给你写一个简单的struts 登录跳转的

我的msn jsfhua@hotmail.com


都用到jsp/servelt了,还刚学java?


如果是学的话,强烈推荐 EditPlus + 命令行 或者EditPlus + Ant 坚持半年,连写Web,用框架,甚至写EJB都这样,然后再去随便拣个象Eclipse这样的IDE花一两天的工夫熟悉一下就行了。但前提是你能有一段时间能够坚持学习哦。


取网上down,多的是


Login.jsp

<%
Cookie[] cookies = request.getCookies();
if(cookies!=null)
{
for(int i=0;i{
Cookie temp = cookies[i];
String attName = temp.getName();
String attValue = temp.getValue();
if(attName.equals("cName"))
{
if(attValue.equals("xwb"))
{
session.setAttribute("userName",attValue);
response.sendRedirect("welcome.jsp");
}
}
}
}
%>

<form METHOD=POST ACTION="login_t.jsp">
userName:<input TYPE="text" NAME="userName">

passWord:<input TYPE="text" NAME="passWord">

IS SAVE:<input TYPE="checkbox" NAME="chk" value="Y">
<input TYPE="submit">
</form>


检查前一页面的
Login_t.jsp
<%
String userName = request.getParameter("userName");
String passWord = request.getParameter("passWord");
String chk = request.getParameter("chk");

if(userName.equals("xwb")&&passWord.equals("123"))
{
if(chk!=null)
{
if(chk.equals("Y"))
{
Cookie cName = new Cookie("cName",userName);
Cookie cPass = new Cookie("cPass",passWord);
cName.setMaxAge(60*60*24);
cPass.setMaxAge(60*60*24);
response.addCookie(cName);
response.addCookie(cPass);
}
}
session.setAttribute("userName",userName);
response.sendRedirect("welcome.jsp");
}else
{
response.sendRedirect("login.jsp");
}
%>


欢迎页面 welcome.jsp
<%
Object o = session.getAttribute("userName");
if(o==null)
{
response.sendRedirect("login.jsp");
}else
{
out.println("Welcome "+o);
}
%>


上面的朋友也有谈到,自己写个javabean(自己写一个验证类),起到用户名和密码验证页面跳转的作用.


刚开始先不要写类,简单点对request.getString("pwd")和数据库做个对比就可以.


我也是才开始学
登录页面
<%@page contentType="text/html; charset=GBK"%>
<%@page import="java.text.*,java.util.*"%>

<head>
login
</head>
<body bgcolor="#ffffff">



Wlecome to use


<form name="form1" method="post" action="login.do">
<table width="100%" border="0">
<tr>
<td>user:</td>
<td>
<input name="user" type="text" id="user">
</td>
</tr>
<tr>
<td>password:</td>
<td>
<input name="password" type="password" id="password">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="Submit" value="Sign in">
</td>
</tr>
</table>
</form>

&nbsp;


</body>




servlet处理
package webtest;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;

/**
*

Title:验证用户名和密码是否正确


*
*

Description: 验证用户名和密码是否正确,正确则转到处理页面,否则转到登陆页面


*
*/
public class Login extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";

//Initialize global variables
public void init() throws ServletException {
}

//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType(CONTENT_TYPE);
String user = request.getParameter("user");
String user2 = new String(user.getBytes("iso_8859_1"), "GBK");
String password = request.getParameter("password");
Connection conn = null;
ResultSet r = null;
Statement st = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:jtds:sqlserver://10.120.148.58/vk", "sa", "sa");
st = conn.createStatement();
String sql = "select * from userInfo where account='" + user +
"' and password='" + password + "'";
r = st.executeQuery(sql);
if (r.next()) {//合法就执行下边的操作
request.getSession().setAttribute("user", user);
request.getRequestDispatcher("getcontent.do?pageIndex=1").
forward(request,
response);
} else {
response.sendRedirect("relogin.jsp");//不是合法用户就跳转
}
} catch (Throwable ex) {
/** @todo Handle this exception */
ex.printStackTrace();
throw new IllegalStateException("user login exception!");
} finally {
if (r != null) {
try {
r.close();
} catch (SQLException ex1) {

}
}
if (st != null) {
try {
st.close();
} catch (SQLException ex2) {
}
}

if (conn != null) {
try {
conn.close();
} catch (SQLException ex3) {
}
}
}
}

//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
}

//Clean up resources
public void destroy() {
}
}


看了楼主的经历,和我差不多啊。我也工作一年,用了一年的vb。net。现在也在学jsp


看到前面,我正准备教你什么写HELLO WORLD呢!
看到后面觉得……还是先闪了~:)


做2个工具类
一个为LOGIN类,登陆类,用于检查数据库用户
一个为数据库类,进行数据库检查,看连接是否成功

数据库连接写在TOMCAT下COF文件里XML


谢谢各位的回复,我是这么做的,把和数据库有关的所有操作都放到一个类里面,这样可以吗,以前我在vb.net里就是这么做的,觉得还可以,在java里不会出现什么问题吧


我前幾天剛看了幾天的struts。就被拉去做struts的項目了。剛開始就是做的這個。學了不少東西啊!


学到这样,还叫初学呀???
小弟惭愧不已呀


"把和数据库有关的所有操作都放到一个类里面,这样可以吗,以前我在vb.net里就是这么做的,觉得还可以,在java里不会出现什么问题吧"
不会吧,我老大就是把数据库的初始化和关闭写了一个类,以后用到时直接调用得到连接



当然可以了 专门写一个类是对数据库的操作 
里面有 连接数据库的方法 查询数据库的方法 修改、添加、删除数据库的方法 和关闭的方法即可


刚学JVAA 就用最简单的文本编辑器去做,别用elipse,那样不好


↑返回目录
前一篇: 框架问题
后一篇: 保留两位