javaweb学习

javaweb学习_第1张图片

 

java web工程里我写了两个文件红色的部分是文件应该放置的正确位置

因为服务器默认会搜索这些路径的!!!要是随便放置文件的路径可能要配置tomcat服务器。如果把Ex12_1.jsp放置在Svlt.java所在的包里,下面的路径将

不能访问Ex12_1.jsp文件!!!

要将项目部署到服务器上才能用用浏览器打开的,如图所示我的项目FirstWeb被部署到了tomcat服务器上了!!!

javaweb学习_第2张图片

 

 

下面是这两个文件执行的结果。

javaweb学习_第3张图片

javaweb学习_第4张图片

下面这两个文件的内容来自java程序设计书上

//Svlt.java
package com.qdu.sun; import java.io.
*; import javax.servlet.*; import javax.servlet.http.*; public class Svlt extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println("<HTML>"); out.println("<HEAD><TITLE>My First Servlet</TITLE></HEAD>"); out.println("<BODY>"); out.println("<B> First Servlet </B>"); out.println("</BODY></HTML>"); } }
//Ex12.jsp
<%-- page指令标签,指定MIME类型和页面的字符编码 --%>
<%@ page contentType="text/html; charset=gb2312" %>
<%-- 声明一个类方法,该方法在整个JSP页面有效 --%>
<%!
   int continuousSum(int n)
   {
       int sum=0;
       for(int i=1;i<=n;i++)
       {
        sum=sum+i;
       }
       return sum;
    }
%>    
<%-- JSP中的Java程序片,将被JSP引擎按顺序执行 --%>
<%
    String str=request.getParameter("number");
    if(str==null) str="10";
    int r=Integer.parseInt(str);
%>
<html>
<head>
<title>计算连续和</title>
</head>
<body>
<h1>请输入一个自然数</h1>
<!-- HTML表单 -->
<form name="form1" method="post" action="">
  <input type="text" name="number" value=<%=str%>>
  <input type="submit" name="Submit" value="计算">
</form>              
<%-- JSP表达式,其值由服务器负责计算,并将结果发回客户端显示 --%>
<%= r %>的连续和是<%=continuousSum(r) %>
</body>
</html>
 
 

编写Svlt.java时出现以下问题

 软件包javax.servlet不存在的解决办法 http://shuhui018125.blog.163.com/blog/static/77110502008102525238433/
我在编译一个包含有javax.servlet包的java文件,
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
出现以下问题:
HelloWorld.java:2: 软件包 javax.servlet 不存在
import javax.servlet.*;
^
HelloWorld.java:3: 软件包 javax.servlet.http 不存在
import javax.servlet.http.*;
^
HelloWorld.java:6: 找不到符号
符号: 类 HttpServlet
public class HelloWorld extends HttpServlet {
                                ^
HelloWorld.java:7: 找不到符号
符号: 类 HttpServletRequest
位置: 类 HelloWorld
    public void doGet(HttpServletRequest request, HttpServletResponse response)
                      ^
HelloWorld.java:7: 找不到符号
符号: 类 HttpServletResponse
位置: 类 HelloWorld
    public void doGet(HttpServletRequest request, HttpServletResponse response)
                                                  ^
HelloWorld.java:8: 找不到符号
符号: 类 ServletException
位置: 类 HelloWorld
    throws IOException, ServletException
servlet和JSP不是Java平台Java SE(标准版)的一部分,而是Java EE(企业版)的一部分
其原因是java编译器没有找到软件包javax.servlet。
解决办法:
从tomcat lib目录下拷贝一个servlet-api.jar的包到“JDK\jre\lib\ext”目录下
凡是出现找不到包的情况,都可以将找到的包放到JDK\jre\lib\ext下,然后再编译就能够通过。
javaweb学习_第5张图片

现在就可以编译了!!!!

http://blog.sina.com.cn/s/blog_6145ed810100n48f.html


 还有一个问题就是当tomcat启动后,不要再次启动,因为这样会造成端口重用!要是出现这样错误我们可以打开任务管理器

直接杀死tomcat.exe这个进程,然后再重新启动就可以了!!!

http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=21209537&id=1641530

web工程一般分为src和webRoot两个文件夹,src是你的程序JAVA文件源代码,webRoot是放JSP,图片,还有SRC编译JAVA后的CLASS文件,就是将显示层和代码层分开了。

如果再深入一点,webRoot下还有web-info(放class文件)META-INF(工程环境配置,版本号,引用包等)

http://zhidao.baidu.com/link?url=9wr_4ZEiyfpk2LAirBnqbjz7TOluY1v0DPK3t7-ldxBxZ8Byopm3KS27f8HF8pnJ0j6HApGX9FVJ7KgzMnkD_q

你可能感兴趣的:(javaweb)