자바 웹 응용 인 스 턴 스:servlet 로 Oacle 기본 첨삭 검 사 를 실현 합 니 다.
쓸데없는 소리 하지 말고 우리 의 첫 번 째 실례 를 시작 합 시다.
servlet Oracle 기본 첨삭 개선 실현
개발 환경:JDK 7+Myeclipse 10+tomcat 7.0+oracle 11g
먼저 데이터베이스 생 성 스 크 립 트 를 첨부 합 니 다:
create table student(
id VARCHAR2(50) PRIMARY KEY NOT NULL,
name varchar2(50) NOT NULL,
calssGrent varchar2(50) NOT NULL ,
result varchar(12) NOT NULL
);
insert into student(id,name,calssGrent,result) values(perseq.nextval,' ','33','98')
다음 그림 은 코드 구성 도와 기능 데모 인터페이스 가 비교적 엉망 으로 만 들 어 졌 습 니 다.기능 만 실현 하기 위해 서 입 니 다.MMC_01.Java
페이지//메 인 인터페이스 추가,삭제 방법 수정
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oracle.jdbc.oracore.TDSPatch;
public class MMC_01 extends HttpServlet
{
// classpath jdbc jar
// ,
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:LIUSY";
//
public static final String DBUSER = "scott";
//
public static final String DBPASS = "tiger";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// ,
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
//
PrintWriter out = response.getWriter();
//
try
{
Connection conn = null; //
Statement stmt = null; //
String sql="insert into student(id,name,calssGrent,result) values('67',' 12 ','33','98')";
System.out.println(sql) ;
// 1、 Class
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2、
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
// 3、Statement Connection
stmt = conn.createStatement();
// rs , SQL * ,-,-
ResultSet rs=stmt.executeQuery("select *from student");
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//
out.print("<table align='center' border='1'><tr><td> " +
"</td><td> </td><td> </td><td> </td><td> </td></tr>");
while(rs.next())
{
// ID
String id=rs.getString("id");
//
out.print("<tr><td>"+rs.getString("name")
+"</td><td>"+rs.getString("calssGrent")+"" +
"</td><td>"+rs.getString("result")+"</td>" +
"<td><a href='UpdatePage?id="+id+"'> </a></td>" +
"<td><a href='delete?id="+id+"'> </a></td></tr>");
}
out.println("<td><a href=AddPage> </a></td>");
out.println(" </BODY>");
out.println("</HTML>");
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
out.flush();
out.close();
}
}
UpdatePage.java //수정 할 데 이 터 를 가 져 오고 수 정 된 데 이 터 를 Update 에 제출 합 니 다.
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.crypto.provider.RSACipher;
public class UpdatePage extends HttpServlet
{
// ,
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:LIUSY";
//
public static final String DBUSER = "scott";
//
public static final String DBPASS = "tiger";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String id=request.getParameter("id");
// ,
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
PrintWriter out = response.getWriter();
try
{
Connection conn = null; //
Statement stmt = null; //
// 1、 Class
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2、
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
// 3、Statement Connection
stmt = conn.createStatement();
// rs , SQL * ,-,-
ResultSet rs=stmt.executeQuery("select *from student where id='"+id+"'");
while (rs.next())
{
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
// , Update
out.print(" <form action='Update' method='post'> ");
out.print("<table align='center'> <tr><td> :<input type='text' value='"+rs.getString("name")+"'
name='name' size=20 ></td></tr>");
out.print("<tr><td> :<input type='text' value='"+rs.getString("calssGrent")+"' name='grent' size=20></td></tr>");
out.print("<tr><td> :<input type='text' value='"+rs.getString("result")+"' name='result' size=20></td></tr>");
// , ID
out.print("<input type='hidden' value='"+id+"' name='id'>");
out.print("<tr><td><input type='submit' value=' '><input type='reset' value=' '></td></tr></table></form>");
out.print(" </BODY>");
out.println("</HTML>");
}
out.flush();
out.close();
}
catch (Exception e) {
e.printStackTrace();// TODO: handle exception
}
}
}
Update.java 수정 할 데 이 터 를 받 고 데이터 베 이 스 를 업데이트 합 니 다.
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Update extends HttpServlet
{
// classpath jdbc jar
// ,
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:LIUSY";
//
public static final String DBUSER = "scott";
//
public static final String DBPASS = "tiger";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
try
{
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
PrintWriter out = response.getWriter();
Connection conn = null; //
Statement stmt = null; //
//
String id=request.getParameter("id");
System.out.println(id);
String name=request.getParameter("name");
String grent=request.getParameter("grent");
String result=request.getParameter("result");
// SQL
String sqlString="update student set name='"+name+"' ," +
"calssGrent='"+grent+"',result='"+result+"' where id='"+id+"' ";
// 1、 Class
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2、
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
// 3、Statement Connection
stmt = conn.createStatement();
int pd=stmt.executeUpdate(sqlString);
if(pd!=0)
{
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" <br><a href=MMC_01> </a> ");
out.println(" </BODY>");
out.println("</HTML>");
}
out.flush();
out.close();
stmt.close();
conn.close();
}
catch (Exception e)
{
// TODO: handle exception
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}
}
addPage.java,데이터 페이지 추가
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AddPage extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// ,
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
// , add
out.print(" <form action='Add' method='post'> ");
out.print("<table align='center'> <tr><td> :<input type='text' name='name' size=20 ></td></tr>");
out.print("<tr><td> :<input type='text' name='grent' size=20></td></tr>");
out.print("<tr><td> :<input type='text' name='result' size=20></td></tr>");
out.print("<tr><td><input type='submit' value=' '><input type='reset' value=' '></td></tr></table></form>");
out.println("<tr><td><a href=MMC_01> </a></td></tr>");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
add addpage 에서 보 내 온 전송 을 받 고 데이터 베 이 스 를 업데이트 합 니 다.
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.org.apache.xerces.internal.impl.io.UTF8Reader;
import oracle.jdbc.oracore.TDSPatch;
public class Add extends HttpServlet
{
// classpath jdbc jar
// ,
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:LIUSY";
//
public static final String DBUSER = "scott";
//
public static final String DBPASS = "tiger";
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
// TODO Auto-generated method stub
doGet(req, resp);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// ,
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
//
PrintWriter out = response.getWriter();
//
try
{
Connection conn = null; //
Statement pstmt = null; //
String nameString=request.getParameter("name");
String grentString=request.getParameter("grent");
String resultString=request.getParameter("result");
System.out.print(nameString);
String sql="insert into student(id,name,calssGrent,result)
values(perseq.nextval,'"+nameString+"','"+grentString+"','"+resultString+"')";
// 1、 Class
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2、
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
pstmt=conn.createStatement();
int pd=pstmt.executeUpdate(sql);
if (pd!=0)
{
out.println(" ");
out.println("<br><a href=MMC_01> </a>");
}
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
out.flush();
out.close();
}
}
웹.xml 프로필
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet-name>MMC_01</servlet-name>
<servlet-class>org.lsy.servlet.MMC_01</servlet-class>
</servlet>
<servlet>
<servlet-name>delete</servlet-name>
<servlet-class>org.lsy.servlet.delete</servlet-class>
</servlet>
<servlet>
<servlet-name>Add</servlet-name>
<servlet-class>org.lsy.servlet.Add</servlet-class>
</servlet>
<servlet>
<servlet-name>AddPage</servlet-name>
<servlet-class>org.lsy.servlet.AddPage</servlet-class>
</servlet>
<servlet>
<servlet-name>UpdatePage</servlet-name>
<servlet-class>org.lsy.servlet.UpdatePage</servlet-class>
</servlet>
<servlet>
<servlet-name>Update</servlet-name>
<servlet-class>org.lsy.servlet.Update</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MMC_01</servlet-name>
<url-pattern>/MMC_01</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>delete</servlet-name>
<url-pattern>/delete</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Add</servlet-name>
<url-pattern>/Add</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AddPage</servlet-name>
<url-pattern>/AddPage</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>UpdatePage</servlet-name>
<url-pattern>/UpdatePage</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Update</servlet-name>
<url-pattern>/Update</url-pattern>
</servlet-mapping>
</web-app>
저 는 늙 은 새 가 아 닙 니 다.계속 공부 하고 있 습 니 다.잘못된 부분 이 있 으 면 지적 해 주 십시오.위의 코드 는 중복 되 는 부분 이 많 고 불합리한 부분 이 많 습 니 다.데이터 베이스 연결 을 비교 하면 조작 servlet 에 직접 노출 됩 니 다. ,더 직관 적 으로 보기 위해 서 나 는 변 하지 않 았 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
5분 안에 JSP 배우기Java 생태계는 지난 20년 동안 많이 발전했으며 이는 시장에서 변함없이 인기를 얻고 있음으로 알 수 있습니다. 글쎄, 이것은 다른 프로그래밍 언어 중 하나에 대한 탄탄한 배경이 있거나 새로운 개발자이지만 시간이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.