51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> java >> 文章正文

jsp可以写servlet类吗 jsp页面当servlet

更新时间:2013-9-19:  来源:51代码网

jsp可以写servlet类吗 jsp页面当servlet

我做一个二次开发,我在想jsp不是能嵌套java代码吗,所以想在jsp页面写servlet类 但是不知道怎么调用,
(不要告诉我写在java里面,因为不行我才写到jsp页面)
  在web.xml配置 通过
 <servlet>
    <servlet-name>testServlet</servlet-name>
     <jsp-file>/jsp/test.jsp</jsp-file>
  </servlet>
确实能访问到test.jsp 但是不会不调用doGet() doPost方法
--以下是test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="com.esoon.cisiss.common.BaseServlet" %>
<%@ page import="java.io.IOException" %>
<%@ page import="javax.servlet.ServletException" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@ page import="javax.servlet.http.HttpServletResponse" %>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<script type="text/javascript">
alert("");
</script>

<%
 class testServlet extends BaseServlet{


public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
System.out.print("----------1-------");
System.out.print("--------2---------");
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}

}

%>

一个jsp写doPost干吗,想做什么直接做,想接值直接写request.getParameter

public final class login_jsp extends org.apache.jasper.runtime.HttpJspBase     implements org.apache.jasper.runtime.JspSourceDependent {     private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();     private static java.util.List _jspx_dependants;     private javax.el.ExpressionFactory _el_expressionfactory;   private org.apache.AnnotationProcessor _jsp_annotationprocessor;     public Object getDependants() {     return _jspx_dependants;   }     public void _jspInit() {     _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();     _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());   }     public void _jspDestroy() {   }     public void _jspService(HttpServletRequest request, HttpServletResponse response)         throws java.io.IOException, ServletException {       PageContext pageContext = null;     HttpSession session = null;     ServletContext application = null;     ServletConfig config = null;     JspWriter out = null;     Object page = this;     JspWriter _jspx_out = null;     PageContext _jspx_page_context = null;         try {       response.setContentType("text/html;charset=UTF-8");       pageContext = _jspxFactory.getPageContext(this, request, response,                   null, true, 8192, true);       _jspx_page_context = pageContext;       application = pageContext.getServletContext();       config = pageContext.getServletConfig();       session = pageContext.getSession();       out = pageContext.getOut();       _jspx_out = out;         out.write("\r\n");       out.write("\r\n");       out.write("\r\n");   String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; basePath = basePath +"";           out.write("\r\n");       out.write("<html>\r\n");       out.write("\t<head>\r\n");       out.write("\t\t<meta http-equiv=\"pragma\" content=\"no-cache\">\r\n");       out.write("\t\t<meta http-equiv=\"cache-control\" content=\"no-cache\">\r\n");       out.write("\t\t<title>欢迎访问"); 


找一个jsp编译的java代码看一下,调用jsp页面后调用的是
 public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {
这个方法,这个方法的方法体就是你卸载jsp页面内部的代码。
所以dopost doget 的方法体直接写在jsp页面里就可以了

赞助商链接
推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |