更新时间:2022-11-11 09:46:42 来源:动力节点 浏览491次
在这里,我们将创建一个简单的示例来使用 servlet 创建登录表单。我们使用oracle10g作为数据库。此应用程序需要 5 个文件。
索引.html
FirstServlet.java
登录道.java
SecondServlet.java
web.xml
您必须需要创建一个带有 name 和 pass 字段的表 userreg。此外,它一定包含了一些数据。该表应为:
创建表 userreg(name varchar2( 40 ),pass varchar2( 40 ));
索引.html
<form action= "servlet1" method= "post" >
名称:<输入类型= “文本” 名称= “用户名” /><br/><br/>
密码:<input type= "password" name= "userpass" /><br/><br/>
<输入类型= “提交” 值= “登录” />
</form>
FirstServlet.java
导入 java.io.IOException;
导入 java.io.PrintWriter;
导入 javax.servlet.RequestDispatcher;
导入 javax.servlet.ServletException;
导入 javax.servlet.http.HttpServlet;
导入 javax.servlet.http.HttpServletRequest;
导入 javax.servlet.http.HttpServletResponse;
公共类 FirstServlet 扩展 HttpServlet {
public void doPost(HttpServletRequest 请求,HttpServletResponse 响应)
抛出 ServletException,IOException {
response.setContentType( "text/html" );
PrintWriter out = response.getWriter();
String n=request.getParameter( "用户名" );
String p=request.getParameter( "userpass" );
if (LoginDao.validate(n, p)){
RequestDispatcher rd=request.getRequestDispatcher( "servlet2" );
rd.forward(请求,响应);
}
否则{
out.print( "对不起用户名或密码错误" );
RequestDispatcher rd=request.getRequestDispatcher( "index.html" );
rd.include(请求,响应);
}
out.close();
}
}
登录道.java
导入 java.sql.*;
公共类 LoginDao {
公共静态布尔 验证(字符串名称,字符串传递){
布尔 状态=假;
试试{
Class.forName( "oracle.jdbc.driver.OracleDriver" );
连接 con=DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe" , "system" , "oracle" );
PreparedStatement ps=con.prepareStatement(
“从 userreg 中选择 * name=? 和 pass=?” );
ps.setString( 1 ,名称);
ps.setString( 2 ,通过);
结果集 rs=ps.executeQuery();
状态=rs.next();
}捕捉(异常 e){System.out.println(e);}
返回 状态;
}
}
WelcomeServlet.java
导入 java.io.IOException;
导入 java.io.PrintWriter;
导入 javax.servlet.ServletException;
导入 javax.servlet.http.HttpServlet;
导入 javax.servlet.http.HttpServletRequest;
导入 javax.servlet.http.HttpServletResponse;
公共类 WelcomeServlet 扩展 HttpServlet {
public void doPost(HttpServletRequest 请求,HttpServletResponse 响应)
抛出 ServletException,IOException {
response.setContentType( "text/html" );
PrintWriter out = response.getWriter();
String n=request.getParameter( "用户名" );
out.print( "欢迎" +n);
out.close();
}
}
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习