关于servlet和jsp的问题? 100
1不是说servlet是接口吗,那为什么说jsp编译后叫servlet类?有点晕了,怎么回事?2还有既然jsp本身编译后是servlet类,那为什么我自己还要创建一个se...
1不是说servlet是接口吗,那为什么说jsp编译后叫servlet类?有点晕了,怎么回事?
2还有既然jsp本身编译后是servlet类,那为什么我自己还要创建一个servlet类去继承httpservlet呢?那岂不是等于有2个servlet类?到底有何用意?
3如果不用jsp,我在myeclipse里创建一个servlet类,然后自己写html然后输出到页面显示,具体流程是怎么弄?比如输出一个 大家好 我就想看下效果,看清楚不是用jsp方式,是我用out.print自己写html的方式。
jsp的方式,就是在浏览器地址栏输入http://localhost:8080/某某.jsp
现在不用jsp方式,就用servlet方式,请问地址栏怎么弄我不会了,http://localhost:8080/关键是这里是写类名.class吗??
而且是不是还要配置下web.xml?
请把具体流程告诉我下,比如先创建一个servlet类 ,然后如何如何 谢谢啦 展开
2还有既然jsp本身编译后是servlet类,那为什么我自己还要创建一个servlet类去继承httpservlet呢?那岂不是等于有2个servlet类?到底有何用意?
3如果不用jsp,我在myeclipse里创建一个servlet类,然后自己写html然后输出到页面显示,具体流程是怎么弄?比如输出一个 大家好 我就想看下效果,看清楚不是用jsp方式,是我用out.print自己写html的方式。
jsp的方式,就是在浏览器地址栏输入http://localhost:8080/某某.jsp
现在不用jsp方式,就用servlet方式,请问地址栏怎么弄我不会了,http://localhost:8080/关键是这里是写类名.class吗??
而且是不是还要配置下web.xml?
请把具体流程告诉我下,比如先创建一个servlet类 ,然后如何如何 谢谢啦 展开
展开全部
servlet是一种服务器的组件类,然而因为编程标准确实有servlet接口,但两者是不同的概念,不能混为一谈。
3. 每一个jsp都可以在tomcat的work目录下寻找到相应的java文件(servlet),当浏览器发送一个请求比如:www.asdg.com/index.jsp,那么服务器先获取index.jsp文件,再通过一个相应的serlvet处理,然后再响应与jsp对应html字符串给浏览器进行渲染。我这边的index.jsp在tomcat的work目录下找到的相应项目的java文件如下
public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
通过这种方式,就可以实现动态页面的效果。比如说,你在jsp页面中镶嵌了有java代码(用来显示数据),那么servlet类就会在组合html字符串的时候通过java代码来组合这些数据,从而实现动态效果。而如果使用html,它的响应机制是相同的,只是不需要再进行相应的servlet类的处理。如果使用html开发,基本流程和jsp差不多,web.xml配置,写servlet。只是你无法在html中动态嵌入数据,但是可以用js来处理,只是会比较麻烦
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');
out.write('\n');
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
out.write("\r\n");
out.write("\r\n");
out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");
out.write("<html>\r\n");
out.write(" <head>\r\n");
out.write(" <base href=\"");
out.print(basePath);
out.write("\">\r\n");
out.write(" \r\n");
out.write(" <title>My JSP 'index.jsp' starting page</title>\r\n");
out.write("\t<meta http-equiv=\"pragma\" content=\"no-cache\">\r\n");
out.write("\t<meta http-equiv=\"cache-control\" content=\"no-cache\">\r\n");
out.write("\t<meta http-equiv=\"expires\" content=\"0\"> \r\n");
out.write("\t<meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">\r\n");
out.write("\t<meta http-equiv=\"description\" content=\"This is my page\">\r\n");
out.write("\t<!--\r\n");
out.write("\t<link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\">\r\n");
out.write("\t-->\r\n");
out.write(" </head>\r\n");
out.write(" \r\n");
out.write(" <body>\r\n");
out.write(" <a href=\"Hello.action\">Hello</a><br/><br/>\r\n");
out.write(" <form action=\"Login.action\">\r\n");
out.write(" <input type=\"text\" name=\"username\"><br/>\r\n");
out.write(" <input type=\"text\" name=\"password\"><br/>\r\n");
out.write(" <input type=\"submit\" value=\"submit\">\r\n");
out.write(" </form>\r\n");
out.write(" </body>\r\n");
out.write("</html>\r\n");
} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
try { out.clearBuffer(); } catch (java.io.IOException e) {}
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
}
2013-08-09
展开全部
servlet是要在web.xml中配置的
http://wenku.baidu.com/view/4c6c4d828762caaedd33d4ec.html
这篇讲得还可以,先参考一下吧。其实servlet现在直接使用不多,正式开发,多数都使用框架的了,所以理解就好
http://wenku.baidu.com/view/4c6c4d828762caaedd33d4ec.html
这篇讲得还可以,先参考一下吧。其实servlet现在直接使用不多,正式开发,多数都使用框架的了,所以理解就好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询