学习Java Web开发遇到了问题,求助

wszwhh 2016-01-26 01:28:01
我新建了一个web project,名称为test_,然后分别定义了index.jsp (jsp页面,项目自带) ,Control.java(servlet)并且在web.xml定义后,启动tomcat,然后再游览器地址栏输入“http://localhost:8080/test_”运行页面发现程序没有运行index.jsp,而是运行了servlet,请问这是怎么回事?
index.jsp

Control.java

web.xml

结果

我记得servlet不是在我调用它的时候才执行吗,怎么我刚运行web程序它就执行了?
...全文
197 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wszwhh 2016-01-26
  • 打赏
  • 举报
回复
多谢诸位热心帮助,问题解决了!
Mr_yyy 2016-01-26
  • 打赏
  • 举报
回复
这个主要是你的web.xml配置引起的 ,虽然你配置的默认界面是index.jsp但是你下面配置了个control的servlet,url-pattern : /*的意思是拦截所有的url 然后通过这个Control.servlet来处理,这么说来,当然会进入你的servlet,至于没有进入index.jsp,是因为control的servlet没有对返回进行处理。 通常情况下,如果项目使用的框架就是servlet的话,那么一般的servlet的url-pattern配置是以这个servlet命名的,在<a>或者其他提交标签中请求路径直接是xxxservlet?参数=&参数这种形式。
wxw01234 2016-01-26
  • 打赏
  • 举报
回复
servlet-mapping 指定了,这个control拦截的请求,是/×
maradona1984 2016-01-26
  • 打赏
  • 举报
回复
/* 会把所有请求都进入你的servlet 一般只有mvc框架才会有这种配置 建议改成/xxx ,xxx=你的servlet名称
wszwhh 2016-01-26
  • 打赏
  • 举报
回复
引用 1 楼 qq_32216381 的回复:
http://localhost:8080/test_/index1.jsp

qq_32216381 2016-01-26
  • 打赏
  • 举报
回复
http://localhost:8080/test_/index1.jsp

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧