import java.io.IOException
import java.sql.Connection
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.SQLException
import javax.naming.Context
import javax.naming.InitialContext
import javax.servlet.ServletException
import javax.servlet.http.HttpServlet
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
import javax.sql.DataSource
public class oaLoginLimitedServlet extends HttpServlet {
private static final long serialVersionUID = 1L
private static Connection conn=null
private static PreparedStatement pstmt=null
public oaLoginLimitedServlet() {
super()
}
public void destroy() {
super.destroy()
}
public static String getCount(String userid)
{
String v_sql="....."
String v_count=""
try {
pstmt = conn.prepareStatement(v_sql)
pstmt.setString(1, userid)
ResultSet rs = pstmt.executeQuery()
while(rs.next()){
v_count = rs.getString(1)
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}finally{
try {
pstmt.close()
conn.close()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
return v_count
}
public static Connection getConnection(){
Context ctx = null
try {
ctx = new InitialContext()
DataSource ds = (DataSource)ctx.lookup("jndiname")
conn = ds.getConnection()
} catch (Exception e) {
e.printStackTrace()
}
return conn
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String v_userid=request.getParameter("userid")
System.out.println(v_userid)
getConnection()
String v_count=getCount(v_userid)
response.setCharacterEncoding("UTF-8")
response.getWriter().write(v_count)
response.flushBuffer()
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response)
}
}
如果要前端能够访问到该servlet,需要将该servlet注册到 web.xml文件中。需要在web.xml文件中添加以下内容
[html] view plaincopy
<servlet>
<servlet-name>oaLoginLimitedServlet</servlet-name>
<servlet-class>com.xxxx.xxxx.servlet.oaLoginLimitedServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>oaLoginLimitedServlet</servlet-name>
<url-pattern>/oaLoginLimitedServlet</url-pattern>
</servlet-mapping>
重启相关服务。
通过ajax就可以调用了。
[html] view plaincopy
var msg = $.ajax({
type: "post",
url: ....+'/oaLoginLimitedServlet?userid='+ $('#act').val(),
async:false
}).responseText
https://zhidao.baidu.com/question/2201763852265627548.html
//方式一:使用post请求的方式,不通过url传参,采用data传参$.ajax({
url:"userAction_findMangerByDeptId",//访问的地址
type:"post",
data:{"传递到后台的参数名":参数},
dataType:'text',//后台返回的数据格式类型
success:function(data){
})
}
})
}
//方式二:这是get提交方法,会出现中文乱码,所以要 1.先将数据转码
参数名 = encodeURI(encodeURI(要转的参数))
$.ajax({
url:"userAction_findMangerByDeptId?参数名"+参数值,
type:"get",
dataType:'text',//后台返回的数据格式类型
success:function(data){
})
}
})
}
2.后台接收前端传递内容后要进行解码
String 参数名 = URLDecoder.decode(接收的参数)