package com.lyq;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class RegServlet extends HttpServlet {
private static final long serialVersionUID = 1789481329876401944L;
//数据库连接Connection
private Connection conn;
public void init() throws ServletException {
super.init();
try
{
//加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//数据库连接
String url = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=Save";
//获取数据库连接
conn = DriverManager.getConnection(url,"sa","123");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
//doPost 方法处理注册请求
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
//获取表单中属性值
String username = request.getParameter("username");
String password = request.getParameter("password");
String sex = request.getParameter("sex");
String question = request.getParameter("question");
String answer = request.getParameter("answer");
String email = request.getParameter("email");
//判断数据库是否连接成功
if(conn!=null)
{
try
{
// 插入注册信息的SQL语句(使用?占位符)
String sqlstr="insert into client (name,pwd,sex,question,answer,email)"
+ "values(?,?,?,?,?,?)";
//创建PreParedStatement对象
PreparedStatement ps=conn.prepareStatement(sqlstr);
// 对SQL语句中的参数动态赋值
ps.setString(1,username);
ps.setString(2,password);
ps.setString(3,sex);
ps.setString(4,question);
ps.setString(5,answer);
ps.setString(6,email);
// 执行更新操作
ps.executeUpdate();
// 获取PrintWriter对象
PrintWriter out = response.getWriter();
// 输出注册结果信息
out.print("<h1 align='center'>");
out.print(username+"注册成功!");
out.print("</h1>");
out.flush();
out.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
else
{
// 发送数据库连接错误提示信息
response.sendError(500,"数据库连接错误!");
}
}
}
import java.io.PrintWriter;
import java.sql.*;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class RegServlet extends HttpServlet {
private static final long serialVersionUID = 1789481329876401944L;
//数据库连接Connection
private Connection conn;
public void init() throws ServletException {
super.init();
try
{
//加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//数据库连接
String url = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=Save";
//获取数据库连接
conn = DriverManager.getConnection(url,"sa","123");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
//doPost 方法处理注册请求
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
//获取表单中属性值
String username = request.getParameter("username");
String password = request.getParameter("password");
String sex = request.getParameter("sex");
String question = request.getParameter("question");
String answer = request.getParameter("answer");
String email = request.getParameter("email");
//判断数据库是否连接成功
if(conn!=null)
{
try
{
// 插入注册信息的SQL语句(使用?占位符)
String sqlstr="insert into client (name,pwd,sex,question,answer,email)"
+ "values(?,?,?,?,?,?)";
//创建PreParedStatement对象
PreparedStatement ps=conn.prepareStatement(sqlstr);
// 对SQL语句中的参数动态赋值
ps.setString(1,username);
ps.setString(2,password);
ps.setString(3,sex);
ps.setString(4,question);
ps.setString(5,answer);
ps.setString(6,email);
// 执行更新操作
ps.executeUpdate();
// 获取PrintWriter对象
PrintWriter out = response.getWriter();
// 输出注册结果信息
out.print("<h1 align='center'>");
out.print(username+"注册成功!");
out.print("</h1>");
out.flush();
out.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
else
{
// 发送数据库连接错误提示信息
response.sendError(500,"数据库连接错误!");
}
}
}
解决方案 »
- jsp中,javascript中不断的嵌入java代码好不好?
- 前台同步显示后台处理进度
- 问个session的基础问题
- 一个jdbc连接SQL数据库问题,安装配置好了SQL的JDBC驱动 起大哥们帮忙在线等
- 下拉菜单问题,请高手看看
- 用jspsmartupload进行中文文件下载的乱码问题
- 请问如何在jsp中通过JDBC-ODBC桥驱动直接连到Access(不在控制面版中配置的情况下)
- tomcat的奇怪问题?
- 为什么 response.sendRedirect("xx.jsp")没有一点反应
- servlet 中可以实现将指定信息提交到外部的接收页吗?
- 请高手推荐Java看书线路
- java连接sql server2000
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilte
r.java:39)
at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(Sit
emeshExcludePathFilter.java:38)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilt
er.java:119)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilte
r.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.ja
va:204)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(Truste
dApplicationsFilter.java:120)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.
java:138)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(Profili
ngFilter.java:132)
at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfi
lingFilter.java:16)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(Acti
onCleanupDelayFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestC
leanupFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(Abstract
JohnsonFilter.java:72)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrit
eFilter.java:350)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:
75)
at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEn
codingFilter.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFil
ter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:108)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
548)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:689)
at java.lang.Thread.run(Thread.java:619)
2010-08-04 10:34:44,656 http-8080-Processor23 ERROR [500ErrorPage.jsp] Exception
caught in 500 page Unable to compile class for JSP:
An error occurred at line: 6 in the generated java file
Only a type can be imported. com.eip.worklog resolves to a packageAn error occurred at line: 4 in the jsp file: /secure/views/worklogsheet/savelog
.jsp
The method savelog(HttpServletRequest) is undefined for the type WebWorklogPlugi
n
1: <%@ page import="com.eip.worklog"%>
2: <jsp:useBean id="work" scope="session" class="com.eip.worklog.WebWorklogPlugi
n"/>
3: <%
4: work.savelog(request);
5: %>
6: <jsp:forward page="test.jsp" />
Stacktrace:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 6 in the generated java file
Only a type can be imported. com.eip.worklog resolves to a packageAn error occurred at line: 4 in the jsp file: /secure/views/worklogsheet/savelog
.jsp
The method savelog(HttpServletRequest) is undefined for the type WebWorklogPlugi
n
1: <%@ page import="com.eip.worklog"%>
2: <jsp:useBean id="work" scope="session" class="com.eip.worklog.WebWorklogPlugi
n"/>
3: <%
4: work.savelog(request);
5: %>
6: <jsp:forward page="test.jsp" />
2.如果还不行, <%@ page import="com.eip.worklog"%>改成 <%@ language="java" page import="com.eip.worklog"%>
package base;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;public class BaseDao {
public static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
public static final String URL = "jdbc:microsoft:sqlserver://127.0.0.1:1042;databasename=maydos";
public static final String USER = "sa";
public static final String PASS = "ok";
private Statement stm;
private Connection conn;
private PreparedStatement pstm;
private ResultSet rs;
/**
* 连接数据库
* @throws ClassNotFoundException
* @throws SQLException
*/
public void open() throws ClassNotFoundException, SQLException {
Class.forName(DRIVER);
this.conn = DriverManager.getConnection(URL, USER, PASS);
}
/**
* 关闭数据库连接
*/
public void close() {
if (null != this.rs) {
try {
this.rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (null != this.stm) {
try {
this.stm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (null != this.pstm) {
try {
this.pstm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (null != this.conn) {
try {
this.conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 用PreparedStatement来执行查询语句
* @param sql
* @param par
* @return
* @throws SQLException
*/
public ResultSet findSQL(String sql, List par) throws SQLException {
this.pstm = this.conn.prepareStatement(sql);
if (null != par) {
for (int i = 0; i < par.size(); i++) {
this.pstm.setString(i + 1, par.get(i).toString());
}
}
this.rs = this.pstm.executeQuery();
return this.rs;
}
/**
* 用PreparedStatement来执行增删改语句
* @param sql
* @param par
* @return
* @throws SQLException
*/
public int executeSQL(String sql, List par) throws SQLException {
this.pstm = this.conn.prepareStatement(sql);
if (null != par) {
for (int i = 0; i < par.size(); i++) {
this.pstm.setString(i + 1, par.get(i).toString());
}
}
return this.pstm.executeUpdate();
}
}